2014-01-29 20:45:08

by Eric Whitney

[permalink] [raw]
Subject: [PATCH] xfstests: avoid ext4/306 failures caused by incompatible mount options

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
not including any mount options defined by the test environment.

Signed-off-by: Eric Whitney <[email protected]>
---
tests/ext4/306 | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/tests/ext4/306 b/tests/ext4/306
index 398c4c0..e59c8ed 100755
--- a/tests/ext4/306
+++ b/tests/ext4/306
@@ -52,9 +52,10 @@ grep -q ext3 /proc/filesystems || _notrun "This test requires ext3 support"

rm -f $seqres.full

-# Make a small ext3 fs, (extents disabled) & mount it
+# Make a small ext3 fs, (extents disabled)
yes | mkfs.ext3 $SCRATCH_DEV 512m >> $seqres.full 2>&1
-_scratch_mount -t ext3 || _fail "couldn't mount fs as ext3"
+# Mount it without _scratch_mount to avoid any ext3-incompatible mount options
+_mount -t ext3 $SCRATCH_DEV $SCRATCH_MNT || _fail "couldn't mount fs as ext3"
# 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
--
1.8.3.2



2014-01-29 21:38:49

by Theodore Ts'o

[permalink] [raw]
Subject: Re: [PATCH] xfstests: avoid ext4/306 failures caused by incompatible mount options

On Wed, Jan 29, 2014 at 03:45:02PM -0500, Eric Whitney wrote:
> 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
> not including any mount options defined by the test environment.

I'm not sure I understand why the test is insisting that the file
system be mounted using ext3. If the file system is created without
the extents flag, all of the files will be created using indirect
blocks, and fundamentally what this test is getting at is that after
we grow the file system using resize2fs, the new blocks are available
to be allocated and attached to an indirect block file.

We can do this by using ext4; I'm not sure why this test is trying to
use ext3 to set up the test flie system. It might be better to get
rid of the requirement to create the file system using ext3, since it
will make the test runnable even if the ext3 file system hasn't been
configured into the system and CONFIG_EXT23_AS_EXT4 is not enabled.

IIRC, Eric Sandeen wrote this test --- Eric, am I missing some reason
why it was necessary to use ext3 here?

- Ted

2014-01-29 21:44:05

by Eric Sandeen

[permalink] [raw]
Subject: Re: [PATCH] xfstests: avoid ext4/306 failures caused by incompatible mount options

On 1/29/14, 3:38 PM, Theodore Ts'o wrote:
> On Wed, Jan 29, 2014 at 03:45:02PM -0500, Eric Whitney wrote:
>> 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
>> not including any mount options defined by the test environment.
>
> I'm not sure I understand why the test is insisting that the file
> system be mounted using ext3. If the file system is created without
> the extents flag, all of the files will be created using indirect
> blocks, and fundamentally what this test is getting at is that after
> we grow the file system using resize2fs, the new blocks are available
> to be allocated and attached to an indirect block file.
>
> We can do this by using ext4; I'm not sure why this test is trying to
> use ext3 to set up the test flie system. It might be better to get
> rid of the requirement to create the file system using ext3, since it
> will make the test runnable even if the ext3 file system hasn't been
> configured into the system and CONFIG_EXT23_AS_EXT4 is not enabled.
>
> IIRC, Eric Sandeen wrote this test --- Eric, am I missing some reason
> why it was necessary to use ext3 here?

Nope. Tomayto, tomahto - I think the original report had trouble with
an ext3 filesystem, so that's how I wrote the testcase.

It could be fixed either way, I think.

-Eric

>
> - Ted
>


2014-01-29 21:48:32

by Kodiak Furr

[permalink] [raw]
Subject: Re: [PATCH] xfstests: avoid ext4/306 failures caused by incompatible mount options

Kodiak Furr liked your message with Boxer. On January 29, 2014 at 3:43:59 PM CST, Eric Sandeen wrote:On 1/29/14, 3:38 PM, Theodore Ts'o wrote:> On Wed, Jan 29, 2014 at 03:45:02PM -0500, Eric Whitney wrote:>> 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>> not including any mount options defined by the test environment.> > I'm not sure I understand why the test is insisting that the file> system be mounted using ext3. If the file system is created without> the extents flag, all of the files will be created using indirect> blocks, and fundamentally what this test is getting at is that after> we grow the file system using resize2fs, the new blocks are available> to be allocated and attached to an indirect block file.> > We can do this by using ext4; I'm not sure why this test is trying to> use ext3 to set up the test flie system. It might be better to get> rid of the requirement to create the file system using ext3, since it> will make the test runnable even if the ext3 file system hasn't been> configured into the system and CONFIG_EXT23_AS_EXT4 is not enabled.> > IIRC, Eric Sandeen wrote this test --- Eric, am I missing some reason> why it was necessary to use ext3 here?Nope. Tomayto, tomahto - I think the original report had trouble withan ext3 filesystem, so that's how I wrote the testcase.It could be fixed either way, I think.-Eric> > - Ted> --To unsubscribe from this list: send the line "unsubscribe linux-ext4" inthe body of a message to [email protected] majordomo info at http://vger.kernel.org/majordomo-info.html


Attachments:
(No filename) (121.00 B)

2014-01-31 15:47:51

by Eric Whitney

[permalink] [raw]
Subject: Re: [PATCH] xfstests: avoid ext4/306 failures caused by incompatible mount options

* Eric Sandeen <[email protected]>:
> On 1/29/14, 3:38 PM, Theodore Ts'o wrote:
> > On Wed, Jan 29, 2014 at 03:45:02PM -0500, Eric Whitney wrote:
> >> 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
> >> not including any mount options defined by the test environment.
> >
> > I'm not sure I understand why the test is insisting that the file
> > system be mounted using ext3. If the file system is created without
> > the extents flag, all of the files will be created using indirect
> > blocks, and fundamentally what this test is getting at is that after
> > we grow the file system using resize2fs, the new blocks are available
> > to be allocated and attached to an indirect block file.
> >
> > We can do this by using ext4; I'm not sure why this test is trying to
> > use ext3 to set up the test flie system. It might be better to get
> > rid of the requirement to create the file system using ext3, since it
> > will make the test runnable even if the ext3 file system hasn't been
> > configured into the system and CONFIG_EXT23_AS_EXT4 is not enabled.
> >
> > IIRC, Eric Sandeen wrote this test --- Eric, am I missing some reason
> > why it was necessary to use ext3 here?
>
> Nope. Tomayto, tomahto - I think the original report had trouble with
> an ext3 filesystem, so that's how I wrote the testcase.
>
> It could be fixed either way, I think.
>

If using ext3 doesn't add any additional value to the test, using ext4
instead certainly simplifies it. I'll post a V2 shortly.

Thanks,
Eric


> -Eric
>
> >
> > - Ted
> >
>

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs