From 4cd659be9cbc28fa5b62c35c22c4a491b301afeb Mon Sep 17 00:00:00 2001 From: Zorro Lang Date: Tue, 5 Jul 2016 17:30:23 +0800 Subject: [PATCH] common/dmerror: fix nonsensical arguments handling 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 Reviewed-by: Eryu Guan Signed-off-by: Eryu Guan --- common/dmerror | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/common/dmerror b/common/dmerror index 6df87bd0..5ad99943 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.39.5