xfstests: add _require_sparse_files

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@lst.de>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
This commit is contained in:
Christoph Hellwig
2010-11-09 14:53:36 +01:00
parent 3d3893eef9
commit 77fe563a78
6 changed files with 27 additions and 2 deletions
+1
View File
@@ -47,6 +47,7 @@ _cleanup()
_supported_fs generic
_supported_os IRIX Linux
_require_sparse_files
_setup_testdir
echo "brevity is wit..."
+3 -1
View File
@@ -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"
+3 -1
View File
@@ -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
+2
View File
@@ -45,6 +45,8 @@ _cleanup()
_supported_fs generic
_supported_os Linux
_require_sparse_files
AIO_TEST=src/aio-dio-regress/aio-dio-hole-filling-race
[ -x $AIO_TEST ] || _notrun "$AIO_TEST not built"
+2
View File
@@ -48,6 +48,8 @@ _cleanup()
_supported_fs generic
_supported_os Linux
_require_sparse_files
echo "Silence is golden."
# real QA test starts here
+16
View File
@@ -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 sparse 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
#