[dm-devel] [PATCH 02/11] libmultipath: copy mpp->hwe from pp->hwe

Benjamin Marzinski bmarzins at redhat.com
Fri Sep 25 16:06:07 UTC 2020


On Fri, Sep 25, 2020 at 06:01:26PM +0200, Martin Wilck wrote:
> On Thu, 2020-09-24 at 15:12 -0500, Benjamin Marzinski wrote:
> > On Thu, Sep 24, 2020 at 03:36:35PM +0200, mwilck at suse.com wrote:
> > > From: Martin Wilck <mwilck at suse.com>
> > > 
> > > Since f0462f0 ("libmultipath: use vector for for pp->hwe and mp-
> > > >hwe"),
> > > we've been trying to fix issues caused by paths getting freed and
> > > mpp->hwe
> > > dangling. This approach couldn't work because we need mpp->hwe to
> > > persist,
> > > even if all paths are removed from the map. Before f0462f0, a
> > > simple
> > > assignment worked, because the lifetime of the hwe wasn't bound to
> > > the
> > > path. But now, we need to copy the vector. It turns out that we
> > > need to set
> > > mpp->hwe only in two places, add_map_with_path() and setup_map(),
> > > and
> > > that the code is simplified overall.
> > 
> > Unless I'm missing someting, it looks like
> > __mpath_persistent_reserve_out() will call select_all_tg_pt(), which
> > uses mpp->hwe, without ever setting it.  Granted, I don't see how
> > this
> > was supposed to work before your patch either.
> 
> Right, it doesn't. Thanks for spotting it.
> Ok to create a new, separate patch for it?

Sure.

Reviewed-by: Benjamin Marzinski <bmarzins at redhat.com>

> 
> Regards,
> Martin
> 




More information about the dm-devel mailing list