* [PATCH] xfs/528: Add test for printing deprec. mount options
@ 2021-03-10 21:02 Pavel Reichl
2021-03-18 6:42 ` Zorro Lang
0 siblings, 1 reply; 3+ messages in thread
From: Pavel Reichl @ 2021-03-10 21:02 UTC (permalink / raw)
To: fstests
Verify that warnings about deprecated mount options are properly
printed.
Verify that no excessive warnings are printed during remounts.
Signed-off-by: Pavel Reichl <preichl@redhat.com>
---
tests/xfs/528 | 85 +++++++++++++++++++++++++++++++++++++++++++++++
tests/xfs/528.out | 2 ++
tests/xfs/group | 1 +
3 files changed, 88 insertions(+)
create mode 100755 tests/xfs/528
create mode 100644 tests/xfs/528.out
diff --git a/tests/xfs/528 b/tests/xfs/528
new file mode 100755
index 00000000..148f6304
--- /dev/null
+++ b/tests/xfs/528
@@ -0,0 +1,85 @@
+#! /bin/bash
+# SPDX-License-Identifier: GPL-2.0
+# Copyright (c) 2020 Red Hat, Inc.. All Rights Reserved.
+#
+# FS QA Test 528
+#
+# Verify that warnings about deprecated mount options are properly printed.
+#
+# Verify that no excessive warnings are printed during remounts.
+#
+
+seq=`basename $0`
+seqres=$RESULT_DIR/$seq
+echo "QA output created by $seq"
+
+here=`pwd`
+tmp=/tmp/$$
+status=1 # failure is the default!
+trap "_cleanup; exit \$status" 0 1 2 3 15
+
+_cleanup()
+{
+ cd /
+ rm -f $tmp.*
+}
+
+# get standard environment, filters and checks
+. ./common/rc
+
+# remove previous $seqres.full before test
+rm -f $seqres.full
+
+_require_check_dmesg
+_supported_fs xfs
+_require_scratch
+
+log_tag()
+{
+ echo "fstests $seqnum [tag]" > /dev/kmsg
+}
+
+dmesg_since_test_tag()
+{
+ dmesg | tac | sed -ne "0,\#fstests $seqnum \[tag\]#p" | \
+ tac
+}
+
+check_dmesg_for_since_tag()
+{
+ dmesg_since_test_tag | egrep -q "$1"
+}
+
+echo "Silence is golden."
+
+
+# Skip old kernels that did not print the warning yet
+log_tag
+_scratch_mkfs > $seqres.full 2>&1
+_scratch_mount -o attr2
+umount $SCRATCH_MNT
+check_dmesg_for_since_tag "XFS: attr2 mount option is deprecated" || \
+ _notrun "Deprecation warning are not printed at all."
+
+# Test mount with default options (attr2 and noikeep) and remount with
+# 2 groups of options
+# 1) the defaults (attr2, noikeep)
+# 2) non defaults (noattr2, ikeep)
+_scratch_mount
+for VAR in {attr2,noikeep}; do
+ log_tag
+ mount -o $VAR,remount $SCRATCH_MNT
+ check_dmesg_for_since_tag "XFS: $VAR mount option is deprecated." && \
+ echo "Should not be able to find deprecation warning for $VAR"
+done
+for VAR in {noattr2,ikeep}; do
+ log_tag
+ mount -o $VAR,remount $SCRATCH_MNT
+ check_dmesg_for_since_tag "XFS: $VAR mount option is deprecated" || \
+ echo "Could not find deprecation warning for $VAR"
+done
+umount $SCRATCH_MNT
+
+# success, all done
+status=0
+exit
diff --git a/tests/xfs/528.out b/tests/xfs/528.out
new file mode 100644
index 00000000..762dccc0
--- /dev/null
+++ b/tests/xfs/528.out
@@ -0,0 +1,2 @@
+QA output created by 528
+Silence is golden.
diff --git a/tests/xfs/group b/tests/xfs/group
index e861cec9..ad3bd223 100644
--- a/tests/xfs/group
+++ b/tests/xfs/group
@@ -525,3 +525,4 @@
525 auto quick mkfs
526 auto quick mkfs
527 auto quick quota
+528 auto quick mount
--
2.29.2
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] xfs/528: Add test for printing deprec. mount options
2021-03-10 21:02 [PATCH] xfs/528: Add test for printing deprec. mount options Pavel Reichl
@ 2021-03-18 6:42 ` Zorro Lang
2021-03-18 21:09 ` Pavel Reichl
0 siblings, 1 reply; 3+ messages in thread
From: Zorro Lang @ 2021-03-18 6:42 UTC (permalink / raw)
To: Pavel Reichl; +Cc: fstests
On Wed, Mar 10, 2021 at 10:02:28PM +0100, Pavel Reichl wrote:
> Verify that warnings about deprecated mount options are properly
> printed.
>
> Verify that no excessive warnings are printed during remounts.
>
> Signed-off-by: Pavel Reichl <preichl@redhat.com>
> ---
> tests/xfs/528 | 85 +++++++++++++++++++++++++++++++++++++++++++++++
> tests/xfs/528.out | 2 ++
> tests/xfs/group | 1 +
> 3 files changed, 88 insertions(+)
> create mode 100755 tests/xfs/528
> create mode 100644 tests/xfs/528.out
>
> diff --git a/tests/xfs/528 b/tests/xfs/528
> new file mode 100755
> index 00000000..148f6304
> --- /dev/null
> +++ b/tests/xfs/528
> @@ -0,0 +1,85 @@
> +#! /bin/bash
> +# SPDX-License-Identifier: GPL-2.0
> +# Copyright (c) 2020 Red Hat, Inc.. All Rights Reserved.
> +#
> +# FS QA Test 528
> +#
> +# Verify that warnings about deprecated mount options are properly printed.
> +#
> +# Verify that no excessive warnings are printed during remounts.
Better to interpret which bug/commit are you testing for.
> +#
> +
> +seq=`basename $0`
> +seqres=$RESULT_DIR/$seq
> +echo "QA output created by $seq"
> +
> +here=`pwd`
> +tmp=/tmp/$$
> +status=1 # failure is the default!
> +trap "_cleanup; exit \$status" 0 1 2 3 15
> +
> +_cleanup()
> +{
> + cd /
> + rm -f $tmp.*
> +}
> +
> +# get standard environment, filters and checks
> +. ./common/rc
> +
> +# remove previous $seqres.full before test
> +rm -f $seqres.full
> +
> +_require_check_dmesg
> +_supported_fs xfs
> +_require_scratch
Use _require_check_dmesg to make sure /dev/kmsg is writable.
> +
> +log_tag()
> +{
> + echo "fstests $seqnum [tag]" > /dev/kmsg
> +}
> +
> +dmesg_since_test_tag()
> +{
> + dmesg | tac | sed -ne "0,\#fstests $seqnum \[tag\]#p" | \
> + tac
> +}
> +
> +check_dmesg_for_since_tag()
> +{
> + dmesg_since_test_tag | egrep -q "$1"
> +}
> +
> +echo "Silence is golden."
> +
> +
> +# Skip old kernels that did not print the warning yet
> +log_tag
> +_scratch_mkfs > $seqres.full 2>&1
> +_scratch_mount -o attr2
> +umount $SCRATCH_MNT
^^ _scratch_unmount
> +check_dmesg_for_since_tag "XFS: attr2 mount option is deprecated" || \
> + _notrun "Deprecation warning are not printed at all."
> +
> +# Test mount with default options (attr2 and noikeep) and remount with
> +# 2 groups of options
> +# 1) the defaults (attr2, noikeep)
> +# 2) non defaults (noattr2, ikeep)
> +_scratch_mount
> +for VAR in {attr2,noikeep}; do
> + log_tag
> + mount -o $VAR,remount $SCRATCH_MNT
> + check_dmesg_for_since_tag "XFS: $VAR mount option is deprecated." && \
> + echo "Should not be able to find deprecation warning for $VAR"
> +done
> +for VAR in {noattr2,ikeep}; do
> + log_tag
> + mount -o $VAR,remount $SCRATCH_MNT
> + check_dmesg_for_since_tag "XFS: $VAR mount option is deprecated" || \
> + echo "Could not find deprecation warning for $VAR"
> +done
> +umount $SCRATCH_MNT
^^ _scratch_unmount
Just for making sure, looks like You test if remount print "deprecation warning"
properly. What about mount? Should mount has "proper deprecation warning" output?
Actually, you'd better to describe what's the "proper" behavior, what's not, or
what issue are you trying to cover in a test case.
> +
> +# success, all done
> +status=0
> +exit
> diff --git a/tests/xfs/528.out b/tests/xfs/528.out
> new file mode 100644
> index 00000000..762dccc0
> --- /dev/null
> +++ b/tests/xfs/528.out
> @@ -0,0 +1,2 @@
> +QA output created by 528
> +Silence is golden.
> diff --git a/tests/xfs/group b/tests/xfs/group
> index e861cec9..ad3bd223 100644
> --- a/tests/xfs/group
> +++ b/tests/xfs/group
> @@ -525,3 +525,4 @@
> 525 auto quick mkfs
> 526 auto quick mkfs
> 527 auto quick quota
> +528 auto quick mount
> --
> 2.29.2
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] xfs/528: Add test for printing deprec. mount options
2021-03-18 6:42 ` Zorro Lang
@ 2021-03-18 21:09 ` Pavel Reichl
0 siblings, 0 replies; 3+ messages in thread
From: Pavel Reichl @ 2021-03-18 21:09 UTC (permalink / raw)
To: fstests
>> +seq=`basename $0`
>> +seqres=$RESULT_DIR/$seq
>> +echo "QA output created by $seq"
>> +
>> +here=`pwd`
>> +tmp=/tmp/$$
>> +status=1 # failure is the default!
>> +trap "_cleanup; exit \$status" 0 1 2 3 15
>> +
>> +_cleanup()
>> +{
>> + cd /
>> + rm -f $tmp.*
>> +}
>> +
>> +# get standard environment, filters and checks
>> +. ./common/rc
>> +
>> +# remove previous $seqres.full before test
>> +rm -f $seqres.full
>> +
>> +_require_check_dmesg
>> +_supported_fs xfs
>> +_require_scratch
>
> Use _require_check_dmesg to make sure /dev/kmsg is writable.
Ugh...I think I do that 2 lines above, right?
>
>> +
>> +log_tag()
>> +{
>> + echo "fstests $seqnum [tag]" > /dev/kmsg
>> +}
>> +
>> +dmesg_since_test_tag()
>> +{
>> + dmesg | tac | sed -ne "0,\#fstests $seqnum \[tag\]#p" | \
>> + tac
>> +}
>> +
>> +check_dmesg_for_since_tag()
>> +{
>> + dmesg_since_test_tag | egrep -q "$1"
>> +}
>> +
>> +echo "Silence is golden."
>> +
>> +
>> +# Skip old kernels that did not print the warning yet
>> +log_tag
>> +_scratch_mkfs > $seqres.full 2>&1
>> +_scratch_mount -o attr2
>> +umount $SCRATCH_MNT
>
> ^^ _scratch_unmount
>
>> +check_dmesg_for_since_tag "XFS: attr2 mount option is deprecated" || \
>> + _notrun "Deprecation warning are not printed at all."
>> +
>> +# Test mount with default options (attr2 and noikeep) and remount with
>> +# 2 groups of options
>> +# 1) the defaults (attr2, noikeep)
>> +# 2) non defaults (noattr2, ikeep)
>> +_scratch_mount
>> +for VAR in {attr2,noikeep}; do
>> + log_tag
>> + mount -o $VAR,remount $SCRATCH_MNT
>> + check_dmesg_for_since_tag "XFS: $VAR mount option is deprecated." && \
>> + echo "Should not be able to find deprecation warning for $VAR"
>> +done
>> +for VAR in {noattr2,ikeep}; do
>> + log_tag
>> + mount -o $VAR,remount $SCRATCH_MNT
>> + check_dmesg_for_since_tag "XFS: $VAR mount option is deprecated" || \
>> + echo "Could not find deprecation warning for $VAR"
>> +done
>> +umount $SCRATCH_MNT
>
> ^^ _scratch_unmount
>
> Just for making sure, looks like You test if remount print "deprecation warning"
> properly. What about mount? Should mount has "proper deprecation warning" output?
>
> Actually, you'd better to describe what's the "proper" behavior, what's not, or
> what issue are you trying to cover in a test case.
Recent patch: "c23c393eaab5d xfs: remove deprecated mount options", added warning about deprecated options being passed as mount options. These warnings are currently printed *both during mount and remount* of the FS.
However some users find the repetitive printing of warnings *during remount* as an inconvenience (https://bugzilla.kernel.org/show_bug.cgi?id=211605 - Re-mount XFS causes "attr2 mount option is deprecated" warning).
To address this a patch that stops printing the warning on *remount* (if the option has the same value as during the mount) was proposed https://lore.kernel.org/linux-xfs/20210224214323.394286-1-preichl@redhat.com/
Is it clear now?
Thanks for the comments.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-03-18 21:10 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-03-10 21:02 [PATCH] xfs/528: Add test for printing deprec. mount options Pavel Reichl
2021-03-18 6:42 ` Zorro Lang
2021-03-18 21:09 ` Pavel Reichl
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox