generic/311: add fallocate() check

Generic/311 fails when run on a test filesystem that does not
support fallocate().  Its I/O load is produced by fsync-tester,
which uses fallocate() system calls to allocate blocks for some of
its test cases.  This causes EOPNOTSUPP failures when the test is
run on indirect block-mapped ext4 filesystems.

Verify that the test filesystem supports fallocate() before
proceeding with the test, checking for block allocation
capabilities.  Also, fix a minor error message typo.

Signed-off-by: Eric Whitney <enwlinux@gmail.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
This commit is contained in:
Eric Whitney
2014-04-14 10:37:33 +10:00
committed by Dave Chinner
parent 2e9061fb91
commit f72961645f
Regular → Executable
+5 -1
View File
@@ -57,7 +57,11 @@ _need_to_be_root
_require_scratch
_require_dm_flakey
[ -x $here/src/fsync-tester ] || _notrun "fsync-tester not build"
# xfs_io is not required for this test, but it's the best way to verify
# the test system supports fallocate() for allocation
_require_xfs_io_falloc
[ -x $here/src/fsync-tester ] || _notrun "fsync-tester not built"
rm -f $seqres.full
SEED=1