"multipath -t" and "multipath -T" might show the wrong multipathd configuration items "retrigger_tries" and "force_sync". Make sure they don't. (cherry picked from commit 759167b834536fe22d446a65c6dc24e31f0ddccd)
55 lines
1.7 KiB
Diff
55 lines
1.7 KiB
Diff
From 1c254fdc42fe238fd475f724a948d22d1951791e Mon Sep 17 00:00:00 2001
|
|
From: Kou Wenqi <kouwenqi@kylinos.cn>
|
|
Date: Mon, 24 Jun 2024 13:40:30 +0800
|
|
Subject: [PATCH] multipath: display the correct configuration when dumpping
|
|
config
|
|
|
|
"multipath -t" and "multipath -T" might show the wrong
|
|
multipathd configuration items "retrigger_tries" and
|
|
"force_sync". Make sure they don't.
|
|
---
|
|
multipath/main.c | 8 ++++++++
|
|
1 file changed, 8 insertions(+)
|
|
|
|
diff --git a/multipath/main.c b/multipath/main.c
|
|
index 90f940f..1ab313d 100644
|
|
--- a/multipath/main.c
|
|
+++ b/multipath/main.c
|
|
@@ -828,6 +828,8 @@ main (int argc, char *argv[])
|
|
struct config *conf;
|
|
int retries = -1;
|
|
bool enable_foreign = false;
|
|
+ int retrigger_tries_ori;
|
|
+ int force_sync_ori;
|
|
|
|
libmultipath_init();
|
|
if (atexit(dm_lib_exit) || atexit(libmultipath_exit))
|
|
@@ -838,7 +840,9 @@ main (int argc, char *argv[])
|
|
if (atexit(uninit_config))
|
|
condlog(1, "failed to register cleanup handler for config: %m");
|
|
conf = get_multipath_config();
|
|
+ retrigger_tries_ori = conf->retrigger_tries;
|
|
conf->retrigger_tries = 0;
|
|
+ force_sync_ori = conf->force_sync;
|
|
conf->force_sync = 1;
|
|
if (atexit(cleanup_vecs))
|
|
condlog(1, "failed to register cleanup handler for vecs: %m");
|
|
@@ -908,10 +912,14 @@ main (int argc, char *argv[])
|
|
conf->find_multipaths = FIND_MULTIPATHS_GREEDY;
|
|
break;
|
|
case 't':
|
|
+ conf->retrigger_tries = retrigger_tries_ori;
|
|
+ conf->force_sync = force_sync_ori;
|
|
r = dump_config(conf, NULL, NULL) ? RTVL_FAIL : RTVL_OK;
|
|
goto out;
|
|
case 'T':
|
|
cmd = CMD_DUMP_CONFIG;
|
|
+ conf->retrigger_tries = retrigger_tries_ori;
|
|
+ conf->force_sync = force_sync_ori;
|
|
break;
|
|
case 'h':
|
|
usage(argv[0]);
|
|
--
|
|
2.27.0
|
|
|