Message ID | 1671579675-23658-6-git-send-email-bmarzins@redhat.com (mailing list archive) |
---|---|
State | Not Applicable, archived |
Delegated to: | christophe varoqui |
Headers | show |
Series | multipath: persistent reservation fixes | expand |
diff --git a/libmultipath/structs_vec.c b/libmultipath/structs_vec.c index 5a618767..f3fdc5a6 100644 --- a/libmultipath/structs_vec.c +++ b/libmultipath/structs_vec.c @@ -392,10 +392,8 @@ remove_maps(struct vectors * vecs) if (!vecs) return; - vector_foreach_slot (vecs->mpvec, mpp, i) { - remove_map(mpp, vecs->pathvec, vecs->mpvec); - i--; - } + vector_foreach_slot (vecs->mpvec, mpp, i) + remove_map(mpp, vecs->pathvec, NULL); vector_free(vecs->mpvec); vecs->mpvec = NULL;
Instead of repeatedly removing the first vector element, and shifting the rest to fill in, call remove_map() without a vector, so it just frees the devices. The vector will be completely cleaned up by vector_free() immediately afterwards. Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com> --- libmultipath/structs_vec.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)