From: Amir Goldstein Date: Tue, 20 Dec 2016 13:17:33 +0000 (+0200) Subject: common/rc: factor out _supports_filetype() helper X-Git-Tag: v2022.05.01~2254 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=9aead226d3307ee47a9658cfc78b4ba09b0eb674;p=users%2Fhch%2Fxfstests-dev.git common/rc: factor out _supports_filetype() helper _overlay_mount_dirs() checks for the filetype feature on upper dir fs. factor out that feature test to a helper. Signed-off-by: Amir Goldstein Reviewed-by: Eryu Guan Signed-off-by: Eryu Guan --- diff --git a/common/rc b/common/rc index 21da293eb..e65ee65d0 100644 --- a/common/rc +++ b/common/rc @@ -264,6 +264,22 @@ _scratch_mount_options() $SCRATCH_DEV $SCRATCH_MNT } +_supports_filetype() +{ + local dir=$1 + + local fstyp=$(df --output=fstype $dir | tail -1) + case "$fstyp" in + xfs) + xfs_info $dir | grep -q "ftype=1" + ;; + ext2|ext3|ext4) + tune2fs -l $(df --output=source $dir | tail -1) | \ + grep -q filetype + ;; + esac +} + # helper function to do the actual overlayfs mount operation _overlay_mount_dirs() { @@ -284,20 +300,7 @@ _overlay_mount() local mnt=$2 shift 2 - local upper_fst=$(df --output=fstype $dir | tail -1) - case "$upper_fst" in - xfs) - if ! xfs_info $dir | grep -q "ftype=1" ; then - _notrun "upper fs needs to support d_type" - fi - ;; - ext2|ext3|ext4) - if ! tune2fs -l $(df --output=source $dir | tail -1) | \ - grep -q filetype ; then - _notrun "upper fs needs to support d_type" - fi - ;; - esac + _supports_filetype $dir || _notrun "upper fs needs to support d_type" mkdir -p $dir/$OVERLAY_UPPER_DIR mkdir -p $dir/$OVERLAY_LOWER_DIR