Re: [PATCH 00/13] block: assorted cleanup for bio splitting and cloning.
From: Mike Snitzer
Date: Tue Nov 21 2017 - 07:43:21 EST
On Tue, Nov 21 2017 at 7:10am -0500,
Mike Snitzer <snitzer@xxxxxxxxxx> wrote:
> On Mon, Nov 20 2017 at 8:35pm -0500,
> Mike Snitzer <snitzer@xxxxxxxxxx> wrote:
>
> > On Mon, Nov 20 2017 at 7:34pm -0500,
> > NeilBrown <neilb@xxxxxxxx> wrote:
> >
> > > Please see
> > > https://www.redhat.com/archives/dm-devel/2017-August/msg00310.html
>
> I'll very likely pick these up for 4.16 shortly. But hope to work
> through complete removal of DM's use of BIOSET_NEED_RESCUER for 4.16 as
> well.
>
> > > and
> > > https://www.redhat.com/archives/dm-devel/2017-August/msg00315.html
>
> This one [1] needs a lot of review and testing. Particularly against this
> test case that Mikulas created to reproduce the snapshot deadlock (same
> deadlock that motivated commit dbba42d8):
> https://www.redhat.com/archives/dm-devel/2017-January/msg00064.html
...
> Short of that, how would you like to proceed?
>
> > > That would then just leave bcache.... I find it a bit of a challenge to
> > > reason about the code in bcache, but if we can remove
> > > BIOSET_NEED_RESCUER from dm, that will be an extra incentive for me to learn :-)
> >
> > I'm all for properly removing BIOSET_NEED_RESCUER from DM.
>
> Should we work to make [1] (above) sure it fixes Mikulas' test case?
>
> I'll set in on reviewing and playing with [1] now.
Decided it a better use of my time to review and then hopefully use the
block-core's bio splitting infrastructure in DM. Been meaning to do
that for quite a while anyway. This mail from you just made it all the
more clear that needs doing:
https://www.redhat.com/archives/dm-devel/2017-September/msg00098.html
So I will start here on this patch you proposed:
https://www.redhat.com/archives/dm-devel/2017-September/msg00091.html
(of note, this patch slipped through the cracks because I was recovering
from injury when it originally came through).
Once DM is using q->bio_split I'll come back to this patch (aka
"[1]") as a starting point for the follow-on work to remove DM's use of
BIOSET_NEED_RESCUER:
https://www.redhat.com/archives/dm-devel/2017-August/msg00315.html
Mike