Re: [PATCH] sd: use async_probe cookie to avoid deadlocks

Bart Van Assche
2017-03-21T13:42:34Z

On Tue, 2017-03-21 at 09:33 -0400, James Bottomley wrote:
> On Tue, 2017-03-21 at 13:30 +0000, Bart Van Assche wrote:
> > On Tue, 2017-03-21 at 09:05 -0400, James Bottomley wrote:
> > > How does this preserve ordering? It looks like you have one cookie
> > > per sdkp ... is there some sort of ordering guarantee I'm not
> > > seeing?
> >
> > Hello James,
> >
> > Since the probe order depends on the order in which __async_probe()
> > adds entries to the "pending" list, and since the order of the
> > __async_probe() calls is not changed by this patch, shouldn't the
> > probe order be preserved by this patch?
>
> I don't know: that's what I'm asking. I believe they complete in order
> for a single domain. I thought ordering isn't preserved between
> domains? So moving to multiple domains loses us ordering of disk
> appearance.

Right, since sd_remove() doesn't wait any longer for completion of probes
from other domains the multi-domain probing behavior may change due to this
patch. However, the multi-domain probing order was already dependent on the
duration of individual probes so I don't think that it is guaranteed today
that multi-domain probing happens in the same order during every boot. I
hope that the change introduced by this patch will be considered acceptable.

Bart.