[PATCH] ext4/028: require that the scratch file system has the extent feature enabled

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]



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 <tytso@xxxxxxx>
---
 common/ext4    | 23 +++++++++++++++++------
 tests/ext4/028 |  1 +
 2 files changed, 18 insertions(+), 6 deletions(-)

diff --git a/common/ext4 b/common/ext4
index f88fa5324..06191e304 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 -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 1b8855098..254074f08 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"
 
-- 
2.47.2





[Index of Archives]     [Linux Filesystems Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux