xfs
[Top] [All Lists]

[PATCH v2] xfstests: avoid ext4/306 failures caused by incompatible moun

To: xfs@xxxxxxxxxxx
Subject: [PATCH v2] xfstests: avoid ext4/306 failures caused by incompatible mount options
From: Eric Whitney <enwlinux@xxxxxxxxx>
Date: Fri, 31 Jan 2014 10:53:32 -0500
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=oqeyWJbf/0UTdoUvCWbVf+nRi1iuD2q5FF+Gxfv5lVg=; b=XUoM0TESgpE0psp7oXYzbDIgU5fxlAt5UVzwcfqAa2ENcfH89feJAqFJR1fuCODvDZ LN3/I5NePCPYQyc1XZKTjE+weuCX0JEk1Sb6I704Dm3kN75HILwiueyzqH7mJpQsgfet 2eC1cgPlxqECVFR/LvXezyGunyfrvuDZg7c0c5+EfAkci/C7EOByG9VFJEUfNjjgjx4B uicRYkcVbSFwQGqzStyyR+l7fOa1IM07x70cGf6RNmcSYVOrHODtipVDBd2JeWzvSErk KfVNtZLDdEEVpjfWHFFZ3p4Wwh2STTSkJ5aJB+Zx0OwIkA7f5BauLQKybfYHAK30XtaY ZSdw==
User-agent: Mutt/1.5.21 (2010-09-15)
ext4/306 will fail when mounting the ext3 file system it creates if an
ext3-incompatible mount option is applied by _scratch_mount.  This can
happen if EXT_MOUNT_OPTIONS is defined appropriately in the test
environment.  For example, the block_validity option is commonly used
to enhance ext4 testing, and it is not supported by ext3.

Fix this by instead creating an ext4 file system without extents as a
functionally equivalent substitute.  This will also eliminate a
dependency for ext3 support on the test system.

Signed-off-by: Eric Whitney <enwlinux@xxxxxxxxx>
---
 tests/ext4/306 | 21 +++++++--------------
 1 file changed, 7 insertions(+), 14 deletions(-)

diff --git a/tests/ext4/306 b/tests/ext4/306
index 398c4c0..9559cf2 100755
--- a/tests/ext4/306
+++ b/tests/ext4/306
@@ -45,29 +45,22 @@ _supported_os Linux
 
 _require_scratch
 
-# This needs to mount ext3; might require ext3 driver, or ext4
-# might handle it itself.  Find out if we have it one way or another.
-modprobe ext3 > /dev/null 2>&1
-grep -q ext3 /proc/filesystems || _notrun "This test requires ext3 support"
-
 rm -f $seqres.full
 
-# Make a small ext3 fs, (extents disabled) & mount it
-yes | mkfs.ext3 $SCRATCH_DEV 512m >> $seqres.full 2>&1
-_scratch_mount -t ext3 || _fail "couldn't mount fs as ext3"
+# Make a small ext4 fs with extents disabled & mount it
+yes | mkfs.ext4 -O ^extents $SCRATCH_DEV 512m >> $seqres.full 2>&1
+_scratch_mount || _fail "couldn't mount fs"
+
 # Create a small non-extent-based file
 echo "Create 1m testfile1"
 $XFS_IO_PROG -f $SCRATCH_MNT/testfile1 -c "pwrite 0 1m" | _filter_xfs_io
+
+# Create a large non-extent-based file filling the fs; this will run out & fail
 echo "Create testfile2 to fill the fs"
-# A large non-extent-based file filling the fs; this will run out & fail
 $XFS_IO_PROG -f $SCRATCH_MNT/testfile2 -c "pwrite 0 512m" | _filter_xfs_io
-
-# Remount as ext4
-_scratch_unmount
-_scratch_mount -t ext4 || _fail "couldn't remount fs as ext4"
 df -h $SCRATCH_MNT >> $seqres.full
 
-# Grow it by 512m
+# Grow fs by 512m
 echo "Resize to 1g"
 resize2fs $SCRATCH_DEV 1g >> $seqres.full 2>&1 || _fail "Could not resize to 
1g"
 df -h $SCRATCH_MNT >> $seqres.full
-- 
1.8.3.2

<Prev in Thread] Current Thread [Next in Thread>