From cc63b6025b423e1d89388c0b3dbae3e67cb0436b Mon Sep 17 00:00:00 2001 From: Martin Wilck Date: Tue, 22 Aug 2023 16:21:43 +0200 Subject: [PATCH] libmultipath: sysfs_set_scsi_tmo: do nothing for ACT_DRY_RUN "multipath -d" might change sysfs timeouts of SCSI devices. Make sure it doesn't. Signed-off-by: Martin Wilck Cc: Jehan Singh Reviewed-by: Benjamin Marzinski --- libmultipath/configure.c | 4 ++-- libmultipath/discovery.c | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/libmultipath/configure.c b/libmultipath/configure.c index 7f49d32..109d899 100644 --- a/libmultipath/configure.c +++ b/libmultipath/configure.c @@ -1215,14 +1215,14 @@ int coalesce_paths (struct vectors * vecs, vector newmp, char * refwwid, } verify_paths(mpp, vecs); + if (cmd == CMD_DRY_RUN && mpp->action == ACT_UNDEF) + mpp->action = ACT_DRY_RUN; params[0] = '\0'; if (setup_map(mpp, params, PARAMS_SIZE, vecs)) { remove_map(mpp, vecs, 0); continue; } - if (cmd == CMD_DRY_RUN) - mpp->action = ACT_DRY_RUN; if (mpp->action == ACT_UNDEF) select_action(mpp, curmp, force_reload == FORCE_RELOAD_YES ? 1 : 0); diff --git a/libmultipath/discovery.c b/libmultipath/discovery.c index 5016aae..f1de837 100644 --- a/libmultipath/discovery.c +++ b/libmultipath/discovery.c @@ -33,6 +33,7 @@ #include "unaligned.h" #include "prioritizers/alua_rtpg.h" #include "foreign.h" +#include "configure.h" const char *conf_file = "/etc/multipath_private.conf"; static int conf_file_parsed = 0; @@ -884,6 +885,9 @@ sysfs_set_scsi_tmo (struct multipath *mpp, unsigned int checkint) int i; unsigned int dev_loss_tmo = mpp->dev_loss; + if (mpp->action == ACT_DRY_RUN || mpp->action == ACT_REJECT) + return 0; + if (mpp->no_path_retry > 0) { uint64_t no_path_retry_tmo = (uint64_t)mpp->no_path_retry * checkint; -- 2.23.0