In checker_finished(), if we are still waiting for the initial uevent, we should instead set wait_for_udev to UDEV_WAIT_RELOAD, so that we trigger a reload when we get the uevent. 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 3b4e61fc..b4a366ea 100644 --- a/multipathd/main.c +++ b/multipathd/main.c @@ -2978,7 +2978,10 @@ static void checker_finished(struct vectors *vecs, unsigned int ticks) continue; } } else if (prio_reload || failback_reload || ghost_reload || inconsistent) { - if (reload_and_sync_map(mpp, vecs) == 2) { + if (mpp->wait_for_udev != UDEV_WAIT_DONE) { + mpp->need_reload = false; + mpp->wait_for_udev = UDEV_WAIT_RELOAD; + } else if (reload_and_sync_map(mpp, vecs) == 2) { /* multipath device deleted */ i--; continue; -- 2.46.2