From: Petr Vorel <pvorel@suse.cz>
To: "Darrick J. Wong" <djwong@kernel.org>
Cc: Eric Sandeen <sandeen@redhat.com>,
Eric Sandeen <sandeen@sandeen.net>,
ltp@lists.linux.it
Subject: Re: [LTP] [PATCH 2/2] df01.sh: Use tst_fsfreeze for XFS on kernel >= 5.19
Date: Mon, 13 Mar 2023 23:08:41 +0100 [thread overview]
Message-ID: <20230313220841.GA24809@pevik> (raw)
In-Reply-To: <20230313161240.GA11394@frogsfrogsfrogs>
> On Mon, Mar 13, 2023 at 04:33:09PM +0100, Petr Vorel wrote:
> > > > On 3/13/23 9:38 AM, Cyril Hrubis wrote:
> > > > > Hi!
> > > > >> XFS since kernel 5.19 postpone certain operation. Use LTP fsfreeze
> > > > >> implementation to force all the background garbage collection to run
> > > > >> to completion.
> > > > >> Link: https://lore.kernel.org/linux-block/974cc110-d47e-5fae-af5f-e2e610720e2d@redhat.com/
> > > > >> Suggested-by: Eric Sandeen <sandeen@redhat.com>
> > > > >> Signed-off-by: Petr Vorel <pvorel@suse.cz>
> > > > >> ---
> > > > >> testcases/commands/df/df01.sh | 7 ++++++-
> > > > >> 1 file changed, 6 insertions(+), 1 deletion(-)
> > > > >> diff --git a/testcases/commands/df/df01.sh b/testcases/commands/df/df01.sh
> > > > >> index ae0449c3c..699d1538f 100755
> > > > >> --- a/testcases/commands/df/df01.sh
> > > > >> +++ b/testcases/commands/df/df01.sh
> > > > >> @@ -1,7 +1,7 @@
> > > > >> #!/bin/sh
> > > > >> # SPDX-License-Identifier: GPL-2.0-or-later
> > > > >> # Copyright (c) 2015 Fujitsu Ltd.
> > > > >> -# Copyright (c) 2018-2022 Petr Vorel <pvorel@suse.cz>
> > > > >> +# Copyright (c) 2018-2023 Petr Vorel <pvorel@suse.cz>
> > > > >> # Author: Zhang Jin <jy_zhangjin@cn.fujitsu.com>
> > > > >> # Test df command with some basic options.
> > > > >> @@ -46,6 +46,11 @@ df_test()
> > > > >> ROD_SILENT rm -rf $TST_MNTPOINT/testimg
> > > > >> + # force all the background garbage collection to run to completion
> > > > >> + if [ "$TST_FS_TYPE" = "xfs" ] && tst_kvcmp -ge "5.19"; then
> > > > >> + tst_fsfreeze $TST_MNTPOINT
> > > > >> + fi
> > > > > This looks overly specific, can't we just freeze and unfreeze the FS
> > > > > without looking at kernel version? Or will we get errors on older XFS?
> > > > > I suppose that this may still start to fail on distribution kernels if
> > > > > some of the newer functionality gets backported...
> > > So far it's OK on SLES, likely nothing related has been backported to it.
> > > I wonder if we should remove the check or just wait till first complaint.
> > Well, I haven't seen any problems with older kernels, but I'll retest it more.
> > I don't expect any problems, thus I'm OK with removing it.
> If the fs doesn't support freezing (e.g. tmpfs), you'll get a -1 return
> value and errno == EOPNOTUPP or NOTTY. Is that going to cause the test
> to fail due to tst_brk?
FYI I haven't noticed any problem so far, but need to test more.
> > Kind regards,
> > Petr
> > > > Yup, I agree. Freeze should be safe for any kernel, I wouldn't condition it either.
> > > > (You do want to be very sure that you're not freezing the root fs, tho,
> > > > if that is any possibility.)
> Why? Are you worried about not being able to unfreeze the rootfs?
> I know fstests has had problems with people doing:
> xfs_io -c freeze "/$moo" # whoops, moo is undefined
> <something that blocks>
> xfs_io -c thaw "/$moo" # never gets here
> But that's not the case here.
Yes, if you mean "/", that's not going to happen ($TST_MNTPOINT is never going
to be "/"). I'm sorry, I mixed up mountpoint (used by fsfreeze and therefore
also tst_fsfreeze.c) and device (=> there shouldn't be a problem).
Kind regards,
Petr
> Even if it is the rootfs, the text page containing the two ioctls should
> be in memory due to the instruction pointer, and even if it gets paged
> out, freezes don't block read faults.
> --D
> > > $TST_MNTPOINT in on $TMPDIR, which is by default /tmp. In case of /tmp being on
> > > root fs we're freezing root tmpfs. But it works on openSUSE, which found the
> > > problem.
> > > Kind regards,
> > > Petr
> > > > -Eric
> > > > > Otherwise it looks good.
--
Mailing list info: https://lists.linux.it/listinfo/ltp
next prev parent reply other threads:[~2023-03-13 22:08 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-07 14:55 [LTP] [PATCH 0/2] df01.sh: fix for XFS on kernel >= 5.19 Petr Vorel
2023-03-07 14:55 ` [LTP] [PATCH 1/2] lib: Add tst_fsfreeze.c Petr Vorel
2023-03-07 14:55 ` [LTP] [PATCH 2/2] df01.sh: Use tst_fsfreeze for XFS on kernel >= 5.19 Petr Vorel
2023-03-13 14:38 ` Cyril Hrubis
2023-03-13 15:09 ` Eric Sandeen
2023-03-13 15:30 ` Petr Vorel
2023-03-13 15:33 ` Petr Vorel
2023-03-13 16:12 ` Darrick J. Wong
2023-03-13 22:08 ` Petr Vorel [this message]
2023-03-15 12:23 ` Petr Vorel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230313220841.GA24809@pevik \
--to=pvorel@suse.cz \
--cc=djwong@kernel.org \
--cc=ltp@lists.linux.it \
--cc=sandeen@redhat.com \
--cc=sandeen@sandeen.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.