Re: [PATCH v2] fstests: btrfs/340: add support for older kernels/progs
Zorro Lang <[email protected]>
| Newsgroups | org.kernel.vger.fstests,org.kernel.vger.linux-btrfs |
|---|---|
| Message-ID | <agdOBcKgPn3s7_u0@zlang-mailbox> |
On Thu, May 14, 2026 at 06:34:39PM +0930, Qu Wenruo wrote: > The test case will fail on older distros like SLE12-SP5, there are two > problems on the test case itself: > > - Requires "--sync" option from "btrfs qgroup show" subcommand > That option was introduecd in v4.9.1, thus there are still some older > distros using that very old version. > > - Not all kernels support quick inherit > The kernel commit introducing the quick inherit is 6.9, thus some > supported LTS kernels do not have that commit. > > In that case qgroup will just be marked inconsistent, this will cause > the later "btrfs qgroup show" command to output a warning due to the > inconsistent flag. > > Fix both problems by: > > - Require "--sync" option from "btrfs qgroup show" subcommand > So older distros will just skip the test. > > - Redirect all output from "btrfs qgroup show" to $seqres.full > So older kernels can still pass the test case by marking qgroup > inconsitent. > > Reported-by: Long An <[email protected]> > Signed-off-by: Qu Wenruo <[email protected]> > --- > Changelog: > v2: > - Fix the mismatch between the commit message and the test case change > Forgot to amend the changes before sending. > > - Fix a bug in the stderr redirect > The stdout redirect should be put last. Sorry, did I miss part of the discussion? Why did v2 switch to notrun for older tools instead of using the compatible `btrfs filesystem sync` from v1? Was there something wrong with the v1 method :) Thanks, Zorro > --- > tests/btrfs/340 | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/tests/btrfs/340 b/tests/btrfs/340 > index 872f790cb975..eff76d0b633c 100755 > --- a/tests/btrfs/340 > +++ b/tests/btrfs/340 > @@ -16,6 +16,7 @@ _fixed_by_kernel_commit 68d4b3fa18d7 \ > # For the automatic fsck at unmount. > _require_scratch > _require_btrfs_qgroup_report > +_require_btrfs_command qgroup show --sync > > # This will imply mkfs and enable regular qgroup. > _require_scratch_qgroup > @@ -39,7 +40,12 @@ _btrfs qgroup show -p --sync $SCRATCH_MNT >> $seqres.full > # without marking qgroup inconsistent. > _btrfs subv snap -i 1/1 $SCRATCH_MNT/subv1 $SCRATCH_MNT/snap1 > echo "After quick inherit:" >> $seqres.full > -_btrfs qgroup show -p --sync $SCRATCH_MNT >> $seqres.full > +# Redirect all output to seqres.full including stderr. > +# For older kernels without quick inherit support, it will mark > +# qgroup inconsistent, which will output a warning about the inconsistent > +# numbers. Here we rely on the final btrfs check to catch any qgroup number > +# errors, thus no need to bother that possible warning. > +_btrfs qgroup show -p --sync $SCRATCH_MNT >> $seqres.full 2>&1 > > echo "Silence is golden" > _exit 0 > -- > 2.54.0 > >