Skip to contentSkip to conversation

generic: add fallocate() check to generic/311

PATCH New Eric Whitney 1 participant 1 message Apr 11, 2014

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 generic: add fallocate() check to generic/311

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.

---
 tests/generic/311 | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
 mode change 100644 => 100755 tests/generic/311
tests/generic/311 +5 -1
old mode 100644
new mode 100755
index 6802a96..284b59d
@@ -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
Signature · 1 line
1.8.3.2