The are multiple places in the code that can set pp->state to
PATH_DOWN without resetting pp->checkint, most obviously when
a path is failed by update_multipath(). When this happens the
path will continue to be checked at its previous interval,
instead of switching back to conf->checkint. Fix these cases
by always resetting the pp->checkint to conf->checkint when
updating the state of a failed path.

Signed-off-by: Benjamin Marzinski <bmarz...@redhat.com>
---
 multipathd/main.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/multipathd/main.c b/multipathd/main.c
index d4928d80..2d5c146d 100644
--- a/multipathd/main.c
+++ b/multipathd/main.c
@@ -2711,6 +2711,7 @@ update_path_state (struct vectors * vecs, struct path * 
pp)
                        else
                                LOG_MSG(2, pp);
                }
+               pp->checkint = checkint;
        }
        if (pp->mpp->prio_update == PRIO_UPDATE_NONE &&
            (newstate == PATH_UP || newstate == PATH_GHOST))
-- 
2.48.1


Reply via email to