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>
_supported_fs generic
_supported_os IRIX Linux
+_require_sparse_files
_setup_testdir
echo "brevity is wit..."
_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"
_supported_fs generic
_supported_os Linux IRIX
-_setup_testdir
_require_scratch
+_require_sparse_files
+
+_setup_testdir
_scratch_mkfs >/dev/null 2>&1
_scratch_mount
_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"
_supported_fs generic
_supported_os Linux
+_require_sparse_files
+
echo "Silence is golden."
# real QA test starts here
_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
#