From: Chengguang Xu Date: Sat, 6 Jan 2018 08:23:58 +0000 (+0800) Subject: common/rc: perform _require_metadata_journaling check on overlay base fs X-Git-Tag: v2022.05.01~1710 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=dbb857f8d17c21dae662abe9a554a5f1bce8c545;p=users%2Fhch%2Fxfstests-dev.git common/rc: perform _require_metadata_journaling check on overlay base fs Currently generic shutdown tests are enabled on overlayfs by extending _require_scratch_shutdown() to check shutdown support for overlayfs, some of those tests also call _require_metadata_journaling() to inspect whether test filesystem support metadata journaling or not, so need to extend _require_metadata_journaling() as well to check metadata journaling support for overlayfs in case shutdown tests run on uncommon overlayfs setup and fail. For example, base filesystem of overlayfs is ext2 or ext4 with noload mode. Metadata journaling check is based on base filesystem configurations and because -overlay option saves those configurations to OVL_BASE_*, adding restore/override the configurations before/after the check. Tested ext2, xfs, ext4(load/no-load mode) as base filesystem of overlayfs in single and multi section configurations. [eguan: update _notrun message] Signed-off-by: Chengguang Xu Reviewed-by: Amir Goldstein Signed-off-by: Eryu Guan --- diff --git a/common/rc b/common/rc index 9216efdbb..d47c1dbe8 100644 --- a/common/rc +++ b/common/rc @@ -3007,6 +3007,18 @@ _require_metadata_journaling() # ext4 might not load a journal _exclude_scratch_mount_option "noload" ;; + overlay) + # metadata journaling check is based on base filesystem configurations + # and because -overlay option saves those configurations to OVL_BASE_*, + # adding restore/override the configurations before/after the check. + if [ ! -z $OVL_BASE_FSTYP -a $OVL_BASE_FSTYP != "overlay" ]; then + _overlay_config_restore + _require_metadata_journaling + _overlay_config_override + else + _notrun "No metadata journaling support for legacy overlay setup" + fi + ;; *) # by default we pass; if you need to, add your fs above! ;;