diff mbox series

ext4/01{2,9}: remove invalid filesystem option 'journal'

Message ID 20240328170620.334-1-luis.henriques@linux.dev (mailing list archive)
State New, archived
Headers show
Series ext4/01{2,9}: remove invalid filesystem option 'journal' | expand

Commit Message

Luis Henriques March 28, 2024, 5:06 p.m. UTC
Creating an ext4 filesystem using '-O journal' will fail with:

    Invalid filesystem option set: journal

I didn't do any archaeological investigation to check if this option ever
existed, but the two tests using it will fail to create the scratch
filesystems.

Signed-off-by: Luis Henriques (SUSE) <luis.henriques@linux.dev>
---
 tests/ext4/012 | 2 +-
 tests/ext4/019 | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

Comments

Theodore Ts'o March 29, 2024, 10:50 p.m. UTC | #1
On Thu, Mar 28, 2024 at 05:06:20PM +0000, Luis Henriques (SUSE) wrote:
> Creating an ext4 filesystem using '-O journal' will fail with:
> 
>     Invalid filesystem option set: journal
> 
> I didn't do any archaeological investigation to check if this option ever
> existed, but the two tests using it will fail to create the scratch
> filesystems.
> 
> Signed-off-by: Luis Henriques (SUSE) <luis.henriques@linux.dev>

The feature name has never been journal, but rather has_journal.  The
reason why no once noticed is because the file system was created by
the _require_attrs before the attempted _scratch_mkfs_ext4.  So when
_scratch_mkfs_ext4 failed, it was a no-op that didn't actually do
anything, and there was still a file system the default configuration
for the test scenario.

What puzzles me is why there was an attempt to enable the journal
feature in the first place.  As near as I can tell, the tests don't
change what gets tested whether or not the journal is enabled.
Darrick; you had added these tests were you were working on ext4's
metadata checksum feature; do you remember your thinking at the time?

In any case, either better fix is to replace:

_scratch_mkfs_ext4 -O journal > /dev/null 2>&1

with:

_scratch_mkfs_ext4 -O has_journal >> $seqres.full 2>&1

Or:

_scratch_mkfs -O has_journal >> $seqres.full 2>&1

My preference would be latter, since I'm regularly testing with and
without the journal, and I'd much rather run the test with whatever
configuration I'm currently testing (e.g., ext4/4k, ext4/1k,
ext4/nojournal, ext4/ext3conv, ext4/bigalloc, etc.)

						- Ted
Darrick J. Wong March 29, 2024, 11:08 p.m. UTC | #2
On Fri, Mar 29, 2024 at 06:50:20PM -0400, Theodore Ts'o wrote:
> On Thu, Mar 28, 2024 at 05:06:20PM +0000, Luis Henriques (SUSE) wrote:
> > Creating an ext4 filesystem using '-O journal' will fail with:
> > 
> >     Invalid filesystem option set: journal
> > 
> > I didn't do any archaeological investigation to check if this option ever
> > existed, but the two tests using it will fail to create the scratch
> > filesystems.
> > 
> > Signed-off-by: Luis Henriques (SUSE) <luis.henriques@linux.dev>
> 
> The feature name has never been journal, but rather has_journal.  The
> reason why no once noticed is because the file system was created by
> the _require_attrs before the attempted _scratch_mkfs_ext4.  So when
> _scratch_mkfs_ext4 failed, it was a no-op that didn't actually do
> anything, and there was still a file system the default configuration
> for the test scenario.
> 
> What puzzles me is why there was an attempt to enable the journal
> feature in the first place.  As near as I can tell, the tests don't
> change what gets tested whether or not the journal is enabled.
> Darrick; you had added these tests were you were working on ext4's
> metadata checksum feature; do you remember your thinking at the time?

"Qwklgjwlqaetwqjetlweqqlgqgqtrrt", most likely.

> In any case, either better fix is to replace:
> 
> _scratch_mkfs_ext4 -O journal > /dev/null 2>&1
> 
> with:
> 
> _scratch_mkfs_ext4 -O has_journal >> $seqres.full 2>&1
> 
> Or:
> 
> _scratch_mkfs -O has_journal >> $seqres.full 2>&1
> 
> My preference would be latter, since I'm regularly testing with and
> without the journal, and I'd much rather run the test with whatever
> configuration I'm currently testing (e.g., ext4/4k, ext4/1k,
> ext4/nojournal, ext4/ext3conv, ext4/bigalloc, etc.)

I'm ok with either, though _scratch_mkfs -O has_journal is more
consistent with the way XFS fuzz tests do things.

Sorry about that. :/

--D

> 						- Ted
> 
>
Luis Henriques April 1, 2024, 9:45 a.m. UTC | #3
"Darrick J. Wong" <djwong@kernel.org> writes:

> On Fri, Mar 29, 2024 at 06:50:20PM -0400, Theodore Ts'o wrote:
>> On Thu, Mar 28, 2024 at 05:06:20PM +0000, Luis Henriques (SUSE) wrote:
>> > Creating an ext4 filesystem using '-O journal' will fail with:
>> > 
>> >     Invalid filesystem option set: journal
>> > 
>> > I didn't do any archaeological investigation to check if this option ever
>> > existed, but the two tests using it will fail to create the scratch
>> > filesystems.
>> > 
>> > Signed-off-by: Luis Henriques (SUSE) <luis.henriques@linux.dev>
>> 
>> The feature name has never been journal, but rather has_journal.  The
>> reason why no once noticed is because the file system was created by
>> the _require_attrs before the attempted _scratch_mkfs_ext4.  So when
>> _scratch_mkfs_ext4 failed, it was a no-op that didn't actually do
>> anything, and there was still a file system the default configuration
>> for the test scenario.
>> 
>> What puzzles me is why there was an attempt to enable the journal
>> feature in the first place.  As near as I can tell, the tests don't
>> change what gets tested whether or not the journal is enabled.
>> Darrick; you had added these tests were you were working on ext4's
>> metadata checksum feature; do you remember your thinking at the time?
>
> "Qwklgjwlqaetwqjetlweqqlgqgqtrrt", most likely.
>
>> In any case, either better fix is to replace:
>> 
>> _scratch_mkfs_ext4 -O journal > /dev/null 2>&1
>> 
>> with:
>> 
>> _scratch_mkfs_ext4 -O has_journal >> $seqres.full 2>&1
>> 
>> Or:
>> 
>> _scratch_mkfs -O has_journal >> $seqres.full 2>&1
>> 
>> My preference would be latter, since I'm regularly testing with and
>> without the journal, and I'd much rather run the test with whatever
>> configuration I'm currently testing (e.g., ext4/4k, ext4/1k,
>> ext4/nojournal, ext4/ext3conv, ext4/bigalloc, etc.)
>
> I'm ok with either, though _scratch_mkfs -O has_journal is more
> consistent with the way XFS fuzz tests do things.
>
> Sorry about that. :/

Thank you both for the feedback.  I'll send out v2 shortly.

Cheers,
diff mbox series

Patch

diff --git a/tests/ext4/012 b/tests/ext4/012
index c49e8ef4483b..4cef19bf6be5 100755
--- a/tests/ext4/012
+++ b/tests/ext4/012
@@ -32,7 +32,7 @@  TESTDIR="${SCRATCH_MNT}/scratchdir"
 TESTFILE="${TESTDIR}/testfile"
 
 echo "+ create scratch fs"
-_scratch_mkfs_ext4 -O journal > /dev/null 2>&1
+_scratch_mkfs_ext4 > /dev/null 2>&1
 
 echo "+ mount fs image"
 _scratch_mount
diff --git a/tests/ext4/019 b/tests/ext4/019
index ab5f50c66b6f..9db7f23bb608 100755
--- a/tests/ext4/019
+++ b/tests/ext4/019
@@ -32,7 +32,7 @@  TESTDIR="${SCRATCH_MNT}/scratchdir"
 TESTFILE="${TESTDIR}/testfile"
 
 echo "+ create scratch fs"
-_scratch_mkfs_ext4 -O journal > /dev/null 2>&1
+_scratch_mkfs_ext4 > /dev/null 2>&1
 
 echo "+ mount fs image"
 _scratch_mount