[Top] [All Lists]

[PATCH V2] xfstests: only run generic/300 on filesystems supporting fall

To: xfs@xxxxxxxxxxx
Subject: [PATCH V2] xfstests: only run generic/300 on filesystems supporting fallocate()
From: Eric Whitney <enwlinux@xxxxxxxxx>
Date: Sat, 21 Sep 2013 18:02:47 -0400
Cc: linux-ext4@xxxxxxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:cc:subject:message-id:mime-version:content-type :content-disposition:user-agent; bh=K6WnhB8GNOWw1HnMohFyPc3uifnPlujgRCjt/Q3Dpw8=; b=ve+PATlzGgFa37uPG5gY/fyJ2SyfDRIdkSJzeTKmmZRhmJxoWYohPWmHerUG0gKaNh 1cj0JR+3DiuoXHa4jIRvVAzpQ4CMxK1tn+Ek/wiR01LRi3wr0EpYEzlv3aW/tJYOPbpY EhmuZSV732JsEvrYnhdLtA3GFdkM9ilYKJ3LcVN+7njDOqcL8ZQwbMAX3potwEQZP+4K Cw6PelwqslnRu0OG7Cg9ti8gTMwhoAahbsQvP/Lro0hNV63dQ+VKWhiEN3oVIerSTO3K AZXYV4ncxtbSbac4lhNWWRaiLEboZpLx/pHnFdY1O/o9hlzt6YpCzlqXuprzC5T990xV EUeg==
User-agent: Mutt/1.5.21 (2010-09-15)
Generic/300 fails when run on a test filesystem that does not support
fallocate(), as in the case of an ext4 filesystem created without the
extent feature or with the bigalloc feature.  It uses fio's falloc
ioengine to generate part of its I/O load, and both fallocates blocks
and punches holes.

Verify that the test filesystem supports fallocate() before proceeding
with the test, checking for both block allocation and hole punching
capabilities.  We need to use both _require_xfs_io_falloc and
_require_xfs_io_falloc_punch because the latter does not currently
test for block allocation support.  Also, delete any pre-existing test
output to avoid confusion with old results.

Signed-off-by: Eric Whitney <enwlinux@xxxxxxxxx>
 tests/generic/300 | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/tests/generic/300 b/tests/generic/300
index 7c60728..1bb2837 100755
--- a/tests/generic/300
+++ b/tests/generic/300
@@ -44,6 +44,17 @@ _supported_os Linux
+# For this test, the test system's glibc and kernel and the test file system
+# must support both fallocating and hole punching.  We don't need xfs_io to
+# perform the test, but we can use it to verify these preconditions.  For now,
+# this allows us to avoid duplicating the following functions for fio or other
+# applications that might be used to generate I/O at the cost of picking up a
+# minor dependency on xfsprogs.
+rm -f $seqres.full
 BLK_DEV_SIZE=`blockdev --getsz $SCRATCH_DEV`
 if [ $((BLK_DEV_SIZE)) -gt 1048576 ]

<Prev in Thread] Current Thread [Next in Thread>
  • [PATCH V2] xfstests: only run generic/300 on filesystems supporting fallocate(), Eric Whitney <=