From: Eric Whitney Date: Mon, 14 Apr 2014 00:37:32 +0000 (+1000) Subject: generic/300: add fallocate() checks X-Git-Tag: v2022.05.01~3176 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=2e9061fb91601049c983e3912d36d70750928972;p=xfstests-dev.git generic/300: add fallocate() checks 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 Reviewed-by: Dave Chinner Signed-off-by: Dave Chinner --- diff --git a/tests/generic/300 b/tests/generic/300 index 7c607281..4e07f8a4 100755 --- a/tests/generic/300 +++ b/tests/generic/300 @@ -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 ]