From: Filipe Manana <fdmanana@xxxxxxxx> 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@xxxxxxxx> --- V2: Use findmnt instead of "mount | grep $SCRATCH_DEV". 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..5cafa4b2 --- /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 +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:" + findmnt -rncv -S $SCRATCH_DEV -o OPTIONS +fi + +# Remount with compress=zlib:4, which should clear compress-force and set the +# algorithm to zlib:4. +_scratch_remount compress=zlib:4 + +grep -wq 'compress=zlib:4' <(findmnt -rncv -S $SCRATCH_DEV -o OPTIONS) +if [ $? -ne 0 ]; then + echo "compress not set to zlib:4 after remount:" + findmnt -rncv -S $SCRATCH_DEV -o OPTIONS +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