[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <zh372qbq2tq722476eaqrirmi55hxwzfs6msmzxfj6zv3jws5y@rdip5a6twsf6>
Date: Thu, 12 Feb 2026 11:41:59 +0100
From: Jan Kara <jack@...e.cz>
To: Zorro Lang <zlang@...hat.com>
Cc: Jan Kara <jack@...e.cz>, fstests@...r.kernel.org,
linux-ext4@...r.kernel.org, linux-xfs@...r.kernel.org
Subject: Re: [PATCH 0/4] Avoid failing shutdown tests without a journal
On Thu 12-02-26 16:40:50, Zorro Lang wrote:
> On Tue, Feb 10, 2026 at 12:20:17PM +0100, Jan Kara wrote:
> > Hello,
> >
> > this patch series adds requirement for metadata journalling to couple
> > of tests using filesystem shutdown. After shutdown a filesystem without
> > a journal is not guaranteed to be consistent and thus tests often fail.
>
> Hi Jan,
>
> This patchset makes sense to me, thanks for fixing them :)
>
> Since you brought this up, I just tried to check all cases using _require_scratch_shutdown
> but lack _require_metadata_journaling, I got this:
>
> $ for f in `grep -rsnl _require_scratch_shutdown tests/`;do grep -q _require_metadata_journaling $f || echo $f;done
> tests/ext4/051 <=== fixed by this patchset
> tests/generic/050
> tests/generic/461
> tests/generic/474
> tests/generic/536
> tests/generic/599
> tests/generic/622
> tests/generic/635 <=== fixed by this patchset
> tests/generic/646 <=== fixed by this patchset
> tests/generic/705 <=== fixed by this patchset
> tests/generic/722
> tests/generic/730
> tests/generic/737
> tests/generic/775
> tests/generic/778
> tests/overlay/078
> tests/overlay/087
> tests/xfs/270
> tests/xfs/546
>
> g/050 tests ro mount, so it might not need _require_metadata_journaling.
Yes, g/050 checks using _has_metadata_journaling and treats the fs
accordingly.
> g/461 doesn't care the fs consistency, so ignore it too.
Ack.
> g/730 looks like doesn't need _require_metadata_journaling.
Ack.
> overlay/087 looks like can ignore _require_metadata_journaling.
I think this actually needs it since we shutdown the fs and then mount it
again which may fail with inconsistent fs.
> Others, include g/474, g/536, g/599, g/622, g/722, g/737, g/775, g/778,
> overlay/078
> look like all need a journal fs.
g/474 seems good to test without metadata journalling it does syncfs and
then shutdown. In that case the data checksums should be valid even without
journalling.
g/599 should be also fine - we shutdown after remounting ro so that should
be working even without journalling.
g/622 - some bits should work even without journalling but for now I guess
we should just require it for simplicity.
g/737 - uses O_SYNC - should work even without journalling (perhaps the
test should be extended to fsync also the parent dir for complete correctness).
g/775 - tests atomic writes - should work even without journalling if the
fs claims to support atomic writes
g/778 - ditto
overlay/078 - this fsyncs the file before shutdown so it should work even
without journalling (but might need to fsync the parent dir for complete
correctness).
> About x/270 and x/546, if we don't suppose other fs would like to run
> xfs cases, then xfs always support journal.
Correct.
> I initially considered calling _require_metadata_journaling directly inside
> _require_scratch_shutdown. However, I decided against it because some cases might
> only need the shutdown ioctl and don't strictly require a journal.
Absolutely. I think they should stay separate.
So to summarize I think we should still add _require_metadata_journaling to:
overlay/087
g/536
g/622
g/722
and we might add fsync of parent directory before shutdown to g/737 and
overlay/078. Does this sound good?
Honza
--
Jan Kara <jack@...e.com>
SUSE Labs, CR
Powered by blists - more mailing lists