[LTP] [PATCH 2/2] df01.sh: Use tst_fsfreeze for XFS on kernel >= 5.19
Petr Vorel
pvorel@suse.cz
Mon Mar 13 16:30:09 CET 2023
> 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.
> 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.)
$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.
More information about the ltp
mailing list