[PATCH 2/2] multipathd: reset delay_wait_checks counter on failure

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



If path reinstantiation is delayed by delay_wait_checks, wait_checks
is counting down, the path fails during the delay phase, and then
comes up again, the wait_check counter starts counting down at the
same value where it previously stopped, which may be very low (even 1).

To avoid that, reset the counter to pp->delay_wait_checks if a failure
is encountered during the delay phase.

Signed-off-by: Martin Wilck <mwilck@xxxxxxxx>
---
 multipathd/main.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/multipathd/main.c b/multipathd/main.c
index 0dddddb3..622aa1ac 100644
--- a/multipathd/main.c
+++ b/multipathd/main.c
@@ -2035,8 +2035,12 @@ check_path (struct vectors * vecs, struct path * pp, int ticks)
 					pp->wait_checks = pp->mpp->delay_wait_checks;
 					pp->watch_checks = 0;
 				}
-			}else
+			} else {
 				fail_path(pp, 0);
+				if (pp->wait_checks > 0)
+					pp->wait_checks =
+						pp->mpp->delay_wait_checks;
+			}
 
 			/*
 			 * cancel scheduled failback
-- 
2.19.1

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



[Index of Archives]     [DM Crypt]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Packaging]     [Fedora SELinux]     [Yosemite Discussion]     [KDE Users]     [Fedora Docs]

  Powered by Linux