[PATCH] generic: add fallocate() checks to generic/300

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 <enwlinux@xxxxxxxxx>
---
 tests/generic/300 | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/tests/generic/300 b/tests/generic/300
index 7c60728..4e07f8a 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 ]
-- 
1.8.3.2
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux