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@xxxxxx> 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 # _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs