From 16108e00550991bec70391a4e51a13dceb847300 Mon Sep 17 00:00:00 2001 From: Kou Wenqi Date: Mon, 5 Aug 2024 14:12:50 +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 e964792..2ab302f 100644 --- a/multipath/main.c +++ b/multipath/main.c @@ -826,6 +826,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)) @@ -836,7 +838,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; atexit(cleanup_vecs); while ((arg = getopt(argc, argv, ":adDcChl::eFfM:v:p:b:BrR:itTquUwW")) != EOF ) { @@ -911,10 +915,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