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>
_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