public inbox for fstests@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5 1/2] common/dmerror: fix nonsensical arguments handling
@ 2016-07-05  9:30 Zorro Lang
  2016-07-05  9:30 ` [PATCH v5 2/2] xfs: configurable behavior on errors at unmount time Zorro Lang
  0 siblings, 1 reply; 2+ messages in thread
From: Zorro Lang @ 2016-07-05  9:30 UTC (permalink / raw)
  To: fstests; +Cc: eguan, Zorro Lang

By default, _dmerror_load_*_table() suspends the dm device with
"--nolockfs" option. Callers have to feed two arguments to these
functions to change the behavior, with the second being 1, but the
first argument is not used at all, which doesn't make sense.

Fix it by checking if the first argument is "lockfs" and removing
"--nolockfs" option if so, or passing all options to dmsetup.

Signed-off-by: Zorro Lang <zlang@redhat.com>
---

Hi,

At first, I want to change the code just likes:

  suspend_opts="$*"

But after talked with Darrick J. Wong(the original author of
dmerror), he suggest to keep use --nolockfs as default:

  <djwong> i used --nolockfs so that dmsetup doesn't try to flush
           the fs on the device that we're deliberately erroring
  <djwong> (most probably the test is midway through its own fsync,
           so dmsetup trying to sync the fs will just get hung up
           on the io errors)

So follow this suggestion, and keep --nolockfs still as the default
option.

Thanks,
Zorro

 common/dmerror | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/common/dmerror b/common/dmerror
index 6df87bd..5ad9994 100644
--- a/common/dmerror
+++ b/common/dmerror
@@ -68,7 +68,12 @@ _dmerror_cleanup()
 _dmerror_load_error_table()
 {
 	suspend_opt="--nolockfs"
-	[ $# -gt 1 ] && [ $2 -eq 1 ] && suspend_opt=""
+
+	if [ "$1" = "lockfs" ]; then
+		suspend_opt=""
+	elif [ -n "$*" ]; then
+		suspend_opt="$*"
+	fi
 
 	$DMSETUP_PROG suspend $suspend_opt error-test
 	[ $? -ne 0 ] && _fail  "dmsetup suspend failed"
@@ -83,7 +88,12 @@ _dmerror_load_error_table()
 _dmerror_load_working_table()
 {
 	suspend_opt="--nolockfs"
-	[ $# -gt 1 ] && [ $2 -eq 1 ] && suspend_opt=""
+
+	if [ "$1" = "lockfs" ]; then
+		suspend_opt=""
+	elif [ -n "$*" ]; then
+		suspend_opt="$*"
+	fi
 
 	$DMSETUP_PROG suspend $suspend_opt error-test
 	[ $? -ne 0 ] && _fail  "dmsetup suspend failed"
-- 
2.5.5


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2016-07-05  9:30 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-07-05  9:30 [PATCH v5 1/2] common/dmerror: fix nonsensical arguments handling Zorro Lang
2016-07-05  9:30 ` [PATCH v5 2/2] xfs: configurable behavior on errors at unmount time Zorro Lang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox