Message ID | 20181113213052.2009-3-mwilck@suse.com (mailing list archive) |
---|---|
State | Not Applicable, archived |
Delegated to: | christophe varoqui |
Headers | show |
Series | two multipathd fixes | expand |
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
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@suse.com> --- multipathd/main.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)