[dm-devel] [PATCH v2 7/8] multipathd: unset mpp->hwe when removing map
Benjamin Marzinski
bmarzins at redhat.com
Tue Aug 11 21:58:42 UTC 2020
If the map doesn't unset its hwe pointer before orphaning all the paths,
multipathd will print a warning message in orphan_path() because of
commit "libmultipath: warn if freeing path that holds mpp->hwe".
Signed-off-by: Benjamin Marzinski <bmarzins at redhat.com>
---
libmultipath/structs_vec.c | 1 +
multipathd/main.c | 1 +
2 files changed, 2 insertions(+)
diff --git a/libmultipath/structs_vec.c b/libmultipath/structs_vec.c
index ede14297..103ea11e 100644
--- a/libmultipath/structs_vec.c
+++ b/libmultipath/structs_vec.c
@@ -129,6 +129,7 @@ remove_map(struct multipath * mpp, struct vectors * vecs, int purge_vec)
/*
* clear references to this map
*/
+ mpp->hwe = NULL;
orphan_paths(vecs->pathvec, mpp, "map removed internally");
if (purge_vec &&
diff --git a/multipathd/main.c b/multipathd/main.c
index f014d2a1..2b0e2734 100644
--- a/multipathd/main.c
+++ b/multipathd/main.c
@@ -666,6 +666,7 @@ flush_map(struct multipath * mpp, struct vectors * vecs, int nopaths)
condlog(2, "%s: map flushed", mpp->alias);
}
+ mpp->hwe = NULL;
orphan_paths(vecs->pathvec, mpp, "map flushed");
remove_map_and_stop_waiter(mpp, vecs);
--
2.17.2
More information about the dm-devel
mailing list