From: Theodore Ts'o Date: Sun, 20 Jul 2025 03:59:44 +0000 (-0400) Subject: ext4/028: require that the scratch file system has the extent feature enabled X-Git-Tag: v2025.08.04~10 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=c8434d36096dd7d1121f5bce4011f0e0db09ed9d;p=xfstests-dev.git ext4/028: require that the scratch file system has the extent feature enabled If the file system configuration has journalling enabled, but doesn't have the extent feature enabled (e.g., when testing the ext3 configuration) the test will fail since _scratch_populate_cached creates files with extents enabled. So add a check to skip the test in that case. Signed-off-by: Theodore Ts'o Reviewed-by: Darrick J. Wong Signed-off-by: Zorro Lang --- diff --git a/common/ext4 b/common/ext4 index f88fa532..a2ce456d 100644 --- a/common/ext4 +++ b/common/ext4 @@ -165,15 +165,26 @@ _ext4_mdrestore() return $res } -# this test requires the ext4 kernel support crc feature on scratch device +# this test requires the ext4 kernel supports a particular feature +# on the scratch device # +_require_scratch_ext4_feature_enabled() +{ + if [ -z "$1" ]; then + echo "Usage: _require_scratch_ext4_feature feature" + _exit 1 + fi + _scratch_mkfs_ext4 >/dev/null 2>&1 + $DUMPE2FS_PROG -h $SCRATCH_DEV 2> /dev/null | grep -q "$1" || \ + _notrun "$1 not enabled by this filesystem" + _try_scratch_mount >/dev/null 2>&1 \ + || _notrun "Kernel doesn't support $1 feature" + _scratch_unmount +} + _require_scratch_ext4_crc() { - _scratch_mkfs_ext4 >/dev/null 2>&1 - dumpe2fs -h $SCRATCH_DEV 2> /dev/null | grep -q metadata_csum || _notrun "metadata_csum not supported by this filesystem" - _try_scratch_mount >/dev/null 2>&1 \ - || _notrun "Kernel doesn't support metadata_csum feature" - _scratch_unmount + _require_scratch_ext4_feature_enabled "metadata_csum" } # Check whether the specified feature whether it is supported by diff --git a/tests/ext4/028 b/tests/ext4/028 index 1b885509..254074f0 100755 --- a/tests/ext4/028 +++ b/tests/ext4/028 @@ -24,6 +24,7 @@ _exclude_fs ext2 _exclude_fs ext3 _require_scratch +_require_scratch_ext4_feature_enabled "extent" _require_populate_commands _require_xfs_io_command "fsmap"