generic: add fallocate() checks to generic/300
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
@@ -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
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.Signed-off-by Eric Whitney <[email protected]>
Makes sense. Same for the second patch, too.
Signature · 2 lines
Dave Chinner [email protected]