Re: [PATCH v1 1/3] xfs/539: Skip noattr2 remount option on v5 filesystems

Darrick J. Wong
2025-02-12T21:06:11Z

On Wed, Feb 12, 2025 at 12:39:56PM +0000, Nirjhar Roy (IBM) wrote:
> This test is to verify that repeated warnings are not printed
> for default options (attr2, noikeep) and warnings are
> printed for non default options (noattr2, ikeep). Remount
> with noattr2 fails on a v5 filesystem, so skip the mount option.
>
> Signed-off-by: Nirjhar Roy (IBM) <nirjhar.roy.lists@gmail.com>
> ---
> tests/xfs/539 | 10 ++++++++--
> 1 file changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/tests/xfs/539 b/tests/xfs/539
> index b9bb7cc1..58eead67 100755
> --- a/tests/xfs/539
> +++ b/tests/xfs/539
> @@ -42,7 +42,8 @@ echo "Silence is golden."
>
> # Skip old kernels that did not print the warning yet
> log_tag
> -_scratch_mkfs > $seqres.full 2>&1
> +is_v5=true
> +_scratch_mkfs |& grep -q "crc=0" && is_v5=false >> $seqres.full 2>&1

Usually we do this with something more like:

_scratch_mkfs | _filter_mkfs >>$seqres.full 2>$tmp.mkfs
. $tmp.mkfs

if [ $_fs_has_crcs -eq 1 ]; then
# v5 stuff
else
# v4 stuff
endif

> _scratch_mount -o attr2
> _scratch_unmount
> check_dmesg_for_since_tag "XFS: attr2 mount option is deprecated" || \
> @@ -60,8 +61,13 @@ for VAR in {attr2,noikeep}; do
> echo "Should not be able to find deprecation warning for $VAR"
> done
> for VAR in {noattr2,ikeep}; do
> + if [[ "$VAR" == "noattr2" ]] && $is_v5; then
> + echo "remount with noattr2 will fail in v5 filesystem. Skip" \
> + >> $seqres.full
> + continue

/me wonders if it'd be cleaner to do:

VARS=(ikeep)
test $_fs_has_crcs -eq 0 && VARS+=(noattr2)

for VAR in "${VARS[@]}"; do
...
done

> + fi
> log_tag
> - _scratch_remount $VAR
> + _scratch_remount $VAR >> $seqres.full 2>&1

Nit: Indentation.

--D

> check_dmesg_for_since_tag "XFS: $VAR mount option is deprecated" || \
> echo "Could not find deprecation warning for $VAR"
> done
> --
> 2.34.1
>
>