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

Martin Wilck mwilck at suse.com
Fri Sep 25 16:01:26 UTC 2020


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?

Regards,
Martin





More information about the dm-devel mailing list