From: Xiao Yang Date: Thu, 2 Mar 2017 06:03:12 +0000 (+0800) Subject: ext4: add _require_ext4_mkfs_feature to check different features X-Git-Tag: v2022.05.01~2135 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=de86b28517076f30dbef77443512667c15b634cb;p=xfstests-dev.git ext4: add _require_ext4_mkfs_feature to check different features 1) We add _require_ext4_mkfs_feature to check the specified feature whether it is available in mkfs.ext4 or not. 2) We apply _require_ext4_mkfs_feature in ext4/003 and remove _require_mkfs_mkfs_bigalloc. 3) We add _require_ext4_mkfs_feature in ext4/306. When 64bit feature is supported by mkfs.ext4, ext4/306 could skip. Signed-off-by: Xiao Yang Reviewed-by: Eryu Guan Signed-off-by: Eryu Guan --- diff --git a/common/rc b/common/rc index 27f7c041..109325df 100644 --- a/common/rc +++ b/common/rc @@ -1761,12 +1761,22 @@ _require_scratch_ext4_crc() _scratch_unmount } -# this test requires the bigalloc feature to be available in mkfs.ext4 -# -_require_ext4_mkfs_bigalloc() +# Check the specified feature whether it is available in mkfs.ext4 or not. +_require_ext4_mkfs_feature() { - $MKFS_EXT4_PROG -F -O bigalloc -n $SCRATCH_DEV 512m >/dev/null 2>&1 \ - || _notrun "mkfs.ext4 doesn't have bigalloc feature" + local feature=$1 + local testfile=/tmp/$$.ext4_mkfs + + if [ -z "$feature" ]; then + echo "Usage: _require_ext4_mkfs_feature feature" + exit 1 + fi + + touch $testfile + local result=$($MKFS_EXT4_PROG -F -O $feature -n $testfile 512m 2>&1) + rm -f $testfile + echo $result | grep -q "Invalid filesystem option" && \ + _notrun "mkfs.ext4 doesn't support $feature feature" } # this test requires the ext4 kernel support bigalloc feature diff --git a/tests/ext4/003 b/tests/ext4/003 index 53875a94..9be40178 100755 --- a/tests/ext4/003 +++ b/tests/ext4/003 @@ -38,7 +38,7 @@ _supported_fs ext4 _supported_os Linux _require_scratch -_require_ext4_mkfs_bigalloc +_require_ext4_mkfs_feature "bigalloc" _require_ext4_bigalloc rm -f $seqres.full diff --git a/tests/ext4/306 b/tests/ext4/306 index fa3b782d..be765e6a 100755 --- a/tests/ext4/306 +++ b/tests/ext4/306 @@ -44,6 +44,7 @@ _supported_fs ext4 _supported_os Linux _require_scratch +_require_ext4_mkfs_feature "64bit" rm -f $seqres.full