update_pathvec_from_dm() may set mpp->need_reload if it finds inconsistent settings. In this case, the map should be reloaded, but so far we don't do this reliably. Add a call to reload_and_sync_map() when updating the maps at the end of a loop in checkerloop(). Suggested-by: Martin Wilck <mwilck@xxxxxxxx> Signed-off-by: Benjamin Marzinski <bmarzins@xxxxxxxxxx> --- multipathd/main.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/multipathd/main.c b/multipathd/main.c index fcab1ed3..c1ae44f2 100644 --- a/multipathd/main.c +++ b/multipathd/main.c @@ -3038,7 +3038,10 @@ checkerloop (void *ap) start_time.tv_sec); if (checker_state == CHECKER_FINISHED) { vector_foreach_slot(vecs->mpvec, mpp, i) { - if (update_mpp_prio(vecs, mpp) == 2) { + if (update_mpp_prio(vecs, mpp) == 2 || + (mpp->need_reload && + mpp->synced_count > 0 && + reload_and_sync_map(mpp, vecs) == 2)) { /* multipath device deleted */ i--; } -- 2.46.2