[PATCH 2/3] multipathd: reload maps in checkerloop() if necessary.

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

 



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





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

  Powered by Linux