Re: [PATCH 1/5] multipathd: don't fail to remove path once the map is removed

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

 



On Tue, 2021-05-11 at 18:22 -0500, Benjamin Marzinski wrote:
> In ev_remove_path(), if update_mpp_paths() fails, we delete the
> entire
> map. However, since update_mpp_paths() happens before we call
> set_path_removed(), pp->initialized isn't set to INIT_REMOVED, so
> remove_map_and_stop_waiter() doesn't remove the path when in removes
> the
> map.  But with the map removed, there's nothing to keep us from
> removing
> the path.
> 
> Call set_path_removed() before update_mpp_paths() to avoid the odd
> case
> of ev_remove_path() removing the map but not the path.
> 
> Signed-off-by: Benjamin Marzinski <bmarzins@xxxxxxxxxx>
> ---
>  libmultipath/structs_vec.c |  3 +--
>  multipathd/main.c          | 13 ++++++++-----
>  2 files changed, 9 insertions(+), 7 deletions(-)
> 
> diff --git a/libmultipath/structs_vec.c b/libmultipath/structs_vec.c
> index d242c06b..432c0c63 100644
> --- a/libmultipath/structs_vec.c
> +++ b/libmultipath/structs_vec.c
> @@ -45,8 +45,7 @@ int update_mpp_paths(struct multipath *mpp, vector
> pathvec)
>  
>                                 /*
>                                  * Avoid adding removed paths to the
> map again
> -                                * when we reload it. Such paths may
> exist if
> -                                * domap fails in ev_remove_path().
> +                                * when we reload it.

I'd like to keep the remark about domap(). It's meant as a reminder for
us and future developers how this situation is most likely to come to
pass.

Other than that, ACK.

Regards,
Martin


--
dm-devel mailing list
dm-devel@xxxxxxxxxx
https://listman.redhat.com/mailman/listinfo/dm-devel





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

  Powered by Linux