[PATCH] xfstests: add _require_sparse_files

Christoph Hellwig hch at infradead.org
Thu Oct 28 07:34:14 CDT 2010


Add a helper to check if the filesystem supports sparse files.  This is
used to guard tests that exercise sparse file functionality and would
take forever on filesystems that have to zero all blocks on extending
truncates.

Unfortunately there's no good way to autodetect this functionality, so
just implement it as a blacklist for now.

Signed-off-by: Christoph Hellwig <hch at lst.de>

Index: xfstests-dev/014
===================================================================
--- xfstests-dev.orig/014	2010-10-28 11:51:58.000000000 +0000
+++ xfstests-dev/014	2010-10-28 11:52:06.000000000 +0000
@@ -47,6 +47,7 @@ _cleanup()
 _supported_fs generic
 _supported_os IRIX Linux
 
+_require_sparse_files
 _setup_testdir
 
 echo "brevity is wit..."
Index: xfstests-dev/129
===================================================================
--- xfstests-dev.orig/129	2010-10-28 11:52:08.000000000 +0000
+++ xfstests-dev/129	2010-10-28 11:52:24.000000000 +0000
@@ -52,8 +52,10 @@ echo_and_run()
 _supported_fs generic
 _supported_os Linux
 
-_setup_testdir
 _require_scratch
+_require_sparse_files
+
+_setup_testdir
 
 _scratch_mkfs >/dev/null 2>&1
 _scratch_mount "-o nosuid"
Index: xfstests-dev/130
===================================================================
--- xfstests-dev.orig/130	2010-10-28 11:52:26.000000000 +0000
+++ xfstests-dev/130	2010-10-28 11:52:35.000000000 +0000
@@ -55,8 +55,10 @@ _cleanup()
 _supported_fs generic
 _supported_os Linux IRIX
 
-_setup_testdir
 _require_scratch
+_require_sparse_files
+
+_setup_testdir
 
 _scratch_mkfs >/dev/null 2>&1
 _scratch_mount
Index: xfstests-dev/240
===================================================================
--- xfstests-dev.orig/240	2010-10-28 11:52:37.000000000 +0000
+++ xfstests-dev/240	2010-10-28 11:52:43.000000000 +0000
@@ -48,6 +48,8 @@ _cleanup()
 _supported_fs generic
 _supported_os Linux
 
+_require_sparse_files
+
 echo "Silence is golden."
 
 # real QA test starts here
Index: xfstests-dev/common.rc
===================================================================
--- xfstests-dev.orig/common.rc	2010-10-28 11:49:38.000000000 +0000
+++ xfstests-dev/common.rc	2010-10-28 11:51:56.000000000 +0000
@@ -857,6 +857,22 @@ _require_fs_space()
 		_notrun "This test requires at least ${GB}GB free on $MNT to run"
 }
 
+#
+# Check if the filesystem supports sparese files.
+#
+# Unfortunately there is no better way to do this than a manual black list.
+#
+_require_sparse_files()
+{
+    case $FSTYP in
+    hfsplus)
+        _notrun "Sparse files not supported by this filesystem type: $FSTYP"
+	;;
+    *)
+        ;;
+    esac
+}
+
 # check that a FS on a device is mounted
 # if so, return mount point
 #




More information about the xfs mailing list