[dm-devel] multipath-tools 0.7.4 failure to remove device

Martin Wilck mwilck at suse.com
Sat Jan 13 19:46:40 UTC 2018


On Fri, 2018-01-12 at 22:47 +0100, Julian Andres Klode wrote:
> On Fri, Jan 12, 2018 at 09:35:39PM +0100, Martin Wilck wrote:
> > On Fri, 2018-01-12 at 09:38 +0100, Julian Andres Klode wrote:
> > > 
> > > --- a/multipathd/main.c
> > > +++ b/multipathd/main.c
> > > @@ -1090,6 +1090,11 @@ uev_pathfail_check(struct uevent *uev, s
> > >  	lock(&vecs->lock);
> > >  	pthread_testcancel();
> > >  	pp = find_path_by_devt(vecs->pathvec, devt);
> > > +	if (!pp) {
> > > +		condlog(3, "%s: Cannot find path by dm path %s",
> > > uev->kernel, devt);
> > > +		FREE(devt);
> > > +		goto out;
> > > +	}
> > >  	r = io_err_stat_handle_pathfail(pp);
> > >  	lock_cleanup_pop(vecs->lock);
> > 
> > You need to cleanup the lock in the error path. I'd pefer checking
> > for a NULL path argument in io_err_stat_handle_pathfail(). See
> > attachment.
> 
> Oh, silly me. Yes, you're right, and your patch fixes the issue. 

And both of us missed Guan's own patch, which Christophe has just
merged as 83924318. :-/

Martin

-- 
Dr. Martin Wilck <mwilck at suse.com>, Tel. +49 (0)911 74053 2107
SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)




More information about the dm-devel mailing list