On Fri, Sep 03, 2021 at 03:22:45PM +0000, Martin Wilck wrote: > On Fri, 2021-09-03 at 11:28 +0200, Martin Wilck wrote: > > On Thu, 2021-09-02 at 16:57 -0500, Benjamin Marzinski wrote: > > > When remove_map() is called, if the multipath device is in a mpvec, > > > it > > > must be removed from it, because the device will be freed. Now that > > > the > > > mpvec is passed as a separate parameter to remove_map(), the > > > purge_vec > > > parameter is redundant. It was only used by coalesce_paths(), > > > since > > > the > > > multipath device isn't on any vector when remove_map() is called > > > there. > > > Instead, remove_map() can just be called with a NULL mpvec, when > > > there > > > is no mpvec to remove the device from. > > > > > > remove_map_by_alias() also has a redundant purge_vec parameter. > > > Since > > > it only removes a map if it finds in on vec->mpvec, calling it with > > > KEEP_VEC would be a bug, since it would leave a pointer to the > > > freed > > > device in the vector. > > > > > > Signed-off-by: Benjamin Marzinski <bmarzins@xxxxxxxxxx> > > > > Good catch. But we need to adapt libmultipath.version. I'll send a > > fix > > to be added on top. > > > > Reviewed-by: Martin Wilck <mwilck@xxxxxxxx> > > This breaks the directio test, too. We need a test patch on top. > I'm going to post it. Oops. Thanks. -Ben > > Martin -- dm-devel mailing list dm-devel@xxxxxxxxxx https://listman.redhat.com/mailman/listinfo/dm-devel