Message ID | c0bbe053db28eb35daf4061bf832278305f9656c.1729855555.git.fdmanana@suse.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | btrfs: test remount with "compress" clears "compress-force" | expand |
On Fri, Oct 25, 2024 at 12:27:01PM +0100, fdmanana@kernel.org wrote: > From: Filipe Manana <fdmanana@suse.com> > > Test that remounting with the "compress" mount option clears the > "compress-force" mount option previously specified. > > This tests a regression introduced with kernel 6.8 and recently fixed by > the following kernel commit: > > 3510e684b8f6 ("btrfs: clear force-compress on remount when compress mount option is given") > > Signed-off-by: Filipe Manana <fdmanana@suse.com> > --- > tests/btrfs/323 | 39 +++++++++++++++++++++++++++++++++++++++ > tests/btrfs/323.out | 2 ++ > 2 files changed, 41 insertions(+) > create mode 100755 tests/btrfs/323 > create mode 100644 tests/btrfs/323.out > > diff --git a/tests/btrfs/323 b/tests/btrfs/323 > new file mode 100755 > index 00000000..fd2e2250 > --- /dev/null > +++ b/tests/btrfs/323 > @@ -0,0 +1,39 @@ > +#! /bin/bash > +# SPDX-License-Identifier: GPL-2.0 > +# Copyright (C) 2024 SUSE Linux Products GmbH. All Rights Reserved. > +# > +# Test that remounting with the "compress" mount option clears the > +# "compress-force" mount option previously specified. > +# > +. ./common/preamble > +_begin_fstest auto quick mount remount compress > + > +_require_scratch > + > +_fixed_by_kernel_commit 3510e684b8f6 \ > + "btrfs: clear force-compress on remount when compress mount option is given" > + > +_scratch_mkfs >>$seqres.full 2>&1 || _fail "mkfs failed" > +_scratch_mount -o compress-force=zlib:9 > + > +# Confirm we have compress-force with zlib:9 > +_mount | grep $SCRATCH_DEV | grep -q 'compress-force=zlib:9' How about: grep -wq 'compress-force=zlib:9' <(findmnt -rncv -S $SCRATCH_DEV -o OPTIONS) > +if [ $? -ne 0 ]; then > + echo "compress-force not set to zlib:9 after initial mount:" > + _mount | grep $SCRATCH_DEV > +fi > + > +# Remount with compress=zlib:4, which should clear compress-force and set the > +# algorithm to zlib:4. > +_scratch_remount compress=zlib:4 > + > +_mount | grep $SCRATCH_DEV | grep -q 'compress=zlib:4' Same as above. Others looks good to me. Thanks, Zorro > +if [ $? -ne 0 ]; then > + echo "compress not set to zlib:4 after remount:" > + _mount | grep $SCRATCH_DEV > +fi > + > +echo "Silence is golden" > + > +status=0 > +exit > diff --git a/tests/btrfs/323.out b/tests/btrfs/323.out > new file mode 100644 > index 00000000..5dba9b5f > --- /dev/null > +++ b/tests/btrfs/323.out > @@ -0,0 +1,2 @@ > +QA output created by 323 > +Silence is golden > -- > 2.43.0 > >
On Fri, Oct 25, 2024 at 5:53 PM Zorro Lang <zlang@redhat.com> wrote: > > On Fri, Oct 25, 2024 at 12:27:01PM +0100, fdmanana@kernel.org wrote: > > From: Filipe Manana <fdmanana@suse.com> > > > > Test that remounting with the "compress" mount option clears the > > "compress-force" mount option previously specified. > > > > This tests a regression introduced with kernel 6.8 and recently fixed by > > the following kernel commit: > > > > 3510e684b8f6 ("btrfs: clear force-compress on remount when compress mount option is given") > > > > Signed-off-by: Filipe Manana <fdmanana@suse.com> > > --- > > tests/btrfs/323 | 39 +++++++++++++++++++++++++++++++++++++++ > > tests/btrfs/323.out | 2 ++ > > 2 files changed, 41 insertions(+) > > create mode 100755 tests/btrfs/323 > > create mode 100644 tests/btrfs/323.out > > > > diff --git a/tests/btrfs/323 b/tests/btrfs/323 > > new file mode 100755 > > index 00000000..fd2e2250 > > --- /dev/null > > +++ b/tests/btrfs/323 > > @@ -0,0 +1,39 @@ > > +#! /bin/bash > > +# SPDX-License-Identifier: GPL-2.0 > > +# Copyright (C) 2024 SUSE Linux Products GmbH. All Rights Reserved. > > +# > > +# Test that remounting with the "compress" mount option clears the > > +# "compress-force" mount option previously specified. > > +# > > +. ./common/preamble > > +_begin_fstest auto quick mount remount compress > > + > > +_require_scratch > > + > > +_fixed_by_kernel_commit 3510e684b8f6 \ > > + "btrfs: clear force-compress on remount when compress mount option is given" > > + > > +_scratch_mkfs >>$seqres.full 2>&1 || _fail "mkfs failed" > > +_scratch_mount -o compress-force=zlib:9 > > + > > +# Confirm we have compress-force with zlib:9 > > +_mount | grep $SCRATCH_DEV | grep -q 'compress-force=zlib:9' > > How about: > > grep -wq 'compress-force=zlib:9' <(findmnt -rncv -S $SCRATCH_DEV -o OPTIONS) Sure, works for me. I've just sent a v2 with that change. Thanks. > > > +if [ $? -ne 0 ]; then > > + echo "compress-force not set to zlib:9 after initial mount:" > > + _mount | grep $SCRATCH_DEV > > +fi > > + > > +# Remount with compress=zlib:4, which should clear compress-force and set the > > +# algorithm to zlib:4. > > +_scratch_remount compress=zlib:4 > > + > > +_mount | grep $SCRATCH_DEV | grep -q 'compress=zlib:4' > > Same as above. > > Others looks good to me. > > Thanks, > Zorro > > > +if [ $? -ne 0 ]; then > > + echo "compress not set to zlib:4 after remount:" > > + _mount | grep $SCRATCH_DEV > > +fi > > + > > +echo "Silence is golden" > > + > > +status=0 > > +exit > > diff --git a/tests/btrfs/323.out b/tests/btrfs/323.out > > new file mode 100644 > > index 00000000..5dba9b5f > > --- /dev/null > > +++ b/tests/btrfs/323.out > > @@ -0,0 +1,2 @@ > > +QA output created by 323 > > +Silence is golden > > -- > > 2.43.0 > > > > >
diff --git a/tests/btrfs/323 b/tests/btrfs/323 new file mode 100755 index 00000000..fd2e2250 --- /dev/null +++ b/tests/btrfs/323 @@ -0,0 +1,39 @@ +#! /bin/bash +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2024 SUSE Linux Products GmbH. All Rights Reserved. +# +# Test that remounting with the "compress" mount option clears the +# "compress-force" mount option previously specified. +# +. ./common/preamble +_begin_fstest auto quick mount remount compress + +_require_scratch + +_fixed_by_kernel_commit 3510e684b8f6 \ + "btrfs: clear force-compress on remount when compress mount option is given" + +_scratch_mkfs >>$seqres.full 2>&1 || _fail "mkfs failed" +_scratch_mount -o compress-force=zlib:9 + +# Confirm we have compress-force with zlib:9 +_mount | grep $SCRATCH_DEV | grep -q 'compress-force=zlib:9' +if [ $? -ne 0 ]; then + echo "compress-force not set to zlib:9 after initial mount:" + _mount | grep $SCRATCH_DEV +fi + +# Remount with compress=zlib:4, which should clear compress-force and set the +# algorithm to zlib:4. +_scratch_remount compress=zlib:4 + +_mount | grep $SCRATCH_DEV | grep -q 'compress=zlib:4' +if [ $? -ne 0 ]; then + echo "compress not set to zlib:4 after remount:" + _mount | grep $SCRATCH_DEV +fi + +echo "Silence is golden" + +status=0 +exit diff --git a/tests/btrfs/323.out b/tests/btrfs/323.out new file mode 100644 index 00000000..5dba9b5f --- /dev/null +++ b/tests/btrfs/323.out @@ -0,0 +1,2 @@ +QA output created by 323 +Silence is golden