From: Martin Wilck <mwi...@suse.com>

If pp->dev_loss_tmo == DEV_LOSS_TMO_UNSET, sysfs_set_scsi_tmo() would
not set it to min_dev_loss_tmo, causing the system dev_loss_tmo value
(by default, 30s) to remain unchanged. Fix it.

Fixes: 6ad77db ("libmultipath: Set the scsi timeout parameters by path")
Signed-off-by: Martin Wilck <mwi...@suse.com>
---
 libmultipath/discovery.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/libmultipath/discovery.c b/libmultipath/discovery.c
index 2dcafe5..285cbd6 100644
--- a/libmultipath/discovery.c
+++ b/libmultipath/discovery.c
@@ -895,9 +895,8 @@ sysfs_set_scsi_tmo (struct config *conf, struct multipath 
*mpp)
                        continue;
                }
 
-               if (pp->dev_loss != DEV_LOSS_TMO_UNSET &&
-                   pp->dev_loss < min_dev_loss) {
-                       warn_dev_loss = true;
+               if (pp->dev_loss < min_dev_loss) {
+                       warn_dev_loss = (pp->dev_loss != DEV_LOSS_TMO_UNSET);
                        pp->dev_loss = min_dev_loss;
                }
                if (pp->dev_loss != DEV_LOSS_TMO_UNSET &&
-- 
2.41.0

--
dm-devel mailing list
dm-devel@redhat.com
https://listman.redhat.com/mailman/listinfo/dm-devel

Reply via email to