All of lore.kernel.org
 help / color / mirror / Atom feed
From: Murphy Zhou <xzhou@redhat.com>
To: fstests@vger.kernel.org
Cc: Donald Douwsma <ddouwsma@redhat.com>,
	"Darrick J. Wong" <djwong@kernel.org>,
	zlang@redhat.com, Eryu Guan <eguan@linux.alibaba.com>
Subject: [PATCH v5] tests/generic: check log recovery with readonly mount
Date: Wed, 25 Aug 2021 11:26:30 +0800	[thread overview]
Message-ID: <20210825032630.gezd2jvkd4oczzsx@xzhoux.usersys.redhat.com> (raw)
In-Reply-To: <a5d58dab-5f4b-884f-d29e-e531e536fc24@redhat.com>

And followed by a rw mount. After log recovery by these 2 mounts, the
filesystem should be in a consistent state.

Suggested-by:  Donald Douwsma <ddouwsma@redhat.com>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Murphy Zhou <xzhou@redhat.com>
---

Thanks for reviewing! It seems my last several replies from gmail got
rejected by the list.

v2:
   Add explanation of the issue
   add xfs_force_bdev data $SCRATCH_MNT
   use DF_PROG
   Re numbered this test
v3:
   Add _require_scratch_shutdown
   Use _get_available_space
   Explain why does not use _scratch_mount
v4:
   Add to recoveryloop group
   Move to generic as there is no xfs specific operations
   Remove all operations after 2 cycle mounts, let the fsck in fstests to check the filesystem consistency
   Use _scratch_shutdown, MOUNT_PROG
   Remove unnecessary comments
v5:
   Make _xfs_force_bdev xfs only
   Use _scratch_mount, it's still reproducible


 tests/generic/999     | 42 ++++++++++++++++++++++++++++++++++++++++++
 tests/generic/999.out |  2 ++
 2 files changed, 44 insertions(+)
 create mode 100755 tests/generic/999
 create mode 100644 tests/generic/999.out

diff --git a/tests/generic/999 b/tests/generic/999
new file mode 100755
index 00000000..60e0ce59
--- /dev/null
+++ b/tests/generic/999
@@ -0,0 +1,42 @@
+#! /bin/bash
+# SPDX-License-Identifier: GPL-2.0
+# Copyright (c) 2021 RedHat All Rights Reserved.
+#
+# FS QA Test 999
+#
+# Testcase for kernel commit:
+#   50d25484bebe xfs: sync lazy sb accounting on quiesce of read-only mounts
+#
+# After shutdown and readonly mount, a following read-write mount would
+# get wrong number of available blocks. This is caused by unmounting the log
+# on a readonly filesystem doesn't log the sb counters.
+#
+. ./common/preamble
+_begin_fstest auto quick recoveryloop shutdown
+
+# real QA test starts here
+
+_require_scratch
+_require_scratch_shutdown
+_scratch_mkfs > $seqres.full 2>&1
+
+_scratch_mount
+[ "$FSTYP" == "xfs" ] && _xfs_force_bdev data $SCRATCH_MNT
+
+echo Testing > $SCRATCH_MNT/testfile
+
+# -f is required to reproduce the original issue
+_scratch_shutdown -f
+
+_scratch_cycle_mount ro
+_scratch_cycle_mount
+
+# These two mounts should have the log fully recovered. Exit here and let the
+# fsck operation of xfstests to check the consistence of the tested filesystem.
+# On the buggy kernel, this testcase reports filesystem is inconsistent.
+# On the fixed kernel, testcase pass.
+
+# success, all done
+echo "Silence is golden"
+status=0
+exit
diff --git a/tests/generic/999.out b/tests/generic/999.out
new file mode 100644
index 00000000..3b276ca8
--- /dev/null
+++ b/tests/generic/999.out
@@ -0,0 +1,2 @@
+QA output created by 999
+Silence is golden
-- 
2.20.1


  reply	other threads:[~2021-08-25  3:27 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-06  1:49 [PATCH] tests/xfs: check avail blocks after log recovery on ro mount Murphy Zhou
2021-08-06 18:55 ` Darrick J. Wong
2021-08-23  7:05   ` [PATCH v2] tests/xfs: check available " Murphy Zhou
2021-08-23 17:43     ` Darrick J. Wong
2021-08-24  5:04       ` [PATCH v3] " Murphy Zhou
2021-08-24  5:42         ` Eryu Guan
2021-08-24  6:23         ` Zorro Lang
2021-08-24  9:06           ` [PATCH v4] tests/generic: check log recovery with readonly mount Murphy Zhou
2021-08-24 12:57             ` Zorro Lang
2021-08-24 23:22           ` [PATCH v3] tests/xfs: check available blocks after log recovery on ro mount Donald Douwsma
2021-08-25  1:06             ` Donald Douwsma
2021-08-25  3:26               ` Murphy Zhou [this message]
2021-08-26  0:17                 ` [PATCH v5] tests/generic: check log recovery with readonly mount Darrick J. Wong
2021-08-26  7:01                 ` Zorro Lang
2021-08-24 15:14         ` [PATCH v3] tests/xfs: check available blocks after log recovery on ro mount Darrick J. Wong
2021-08-24 16:53           ` Zorro Lang
2021-08-25 23:43             ` Darrick J. Wong
2021-08-26  0:00               ` Murphy Zhou
2021-08-26  0:15                 ` Darrick J. Wong
2021-08-26  6:59               ` Zorro Lang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210825032630.gezd2jvkd4oczzsx@xzhoux.usersys.redhat.com \
    --to=xzhou@redhat.com \
    --cc=ddouwsma@redhat.com \
    --cc=djwong@kernel.org \
    --cc=eguan@linux.alibaba.com \
    --cc=fstests@vger.kernel.org \
    --cc=zlang@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.