Skip to contentSkip to conversation

generic: add fallocate() checks to generic/300

PATCH In review Eric Whitney 2 participants 2 messages Apr 11, 2014 – Apr 14, 2014

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 generic: add fallocate() checks to generic/300

Generic/300 fails when run on a test filesystem that does not support fallocate(). It uses fio's falloc ioengine to generate part of its I/O load and both allocates blocks and punches holes. This causes EOPNOTSUPP failures when the test is run on indirect block-mapped ext4 filesystems or pre-3.14 ext4 filesystems created with bigalloc.

Verify that the test filesystem supports fallocate() before proceeding with the test, checking for both block allocation and hole punching capabilities. Also, delete any pre-existing test output.

---
 tests/generic/300 | 7 +++++++
 1 file changed, 7 insertions(+)
tests/generic/300 +7 -0
index 7c60728..4e07f8a 100755
@@ -44,6 +44,13 @@ _supported_os Linux
 _need_to_be_root
 _require_scratch
 
+# xfs_io is not required for this test, but it's the best way to verify
+# the test system supports fallocate() for allocation and hole punching
+_require_xfs_io_falloc
+_require_xfs_io_falloc_punch
+
+rm -f $seqres.full
+
 NUM_JOBS=$((4*LOAD_FACTOR))
 BLK_DEV_SIZE=`blockdev --getsz $SCRATCH_DEV`
 if [ $((BLK_DEV_SIZE)) -gt 1048576 ]
Signature · 1 line
1.8.3.2
Reviewed-by on v1 1/1
#1 lore raw
Quoted 11 lines · Eric Whitney

Generic/300 fails when run on a test filesystem that does not support fallocate(). It uses fio's falloc ioengine to generate part of its I/O load and both allocates blocks and punches holes. This causes EOPNOTSUPP failures when the test is run on indirect block-mapped ext4 filesystems or pre-3.14 ext4 filesystems created with bigalloc.

Verify that the test filesystem supports fallocate() before proceeding with the test, checking for both block allocation and hole punching capabilities. Also, delete any pre-existing test output.

Makes sense. Same for the second patch, too.

Signature · 2 lines
Dave Chinner
[email protected]