On Tue, 2020-08-11 at 16:58 -0500, Benjamin Marzinski wrote:
> 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 <[email protected]>

Do you have a specific reason to put "mpp->hwe = NULL" in the *callers*
of orphan_paths()? I observed the same problem, and fixed it
directly in orphan_paths() (the patch is part of in my upcoming v2
series).

Regards,
Martin


> ---
>  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);
>  

-- 
Dr. Martin Wilck <[email protected]>, Tel. +49 (0)911 74053 2107
SUSE  Software Solutions Germany GmbH
HRB 36809, AG Nürnberg GF: Felix
Imendörffer



--
dm-devel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/dm-devel

Reply via email to