[dm-devel] [RFC 1/2] block: implement an unprep function corresponding directly to prep
FUJITA Tomonori
fujita.tomonori at lab.ntt.co.jp
Thu Jul 1 04:44:29 UTC 2010
On Wed, 30 Jun 2010 23:47:31 -0400
Mike Snitzer <snitzer at redhat.com> wrote:
> Hi,
>
> On Wed, Jun 30 2010 at 9:47pm -0400,
> FUJITA Tomonori <fujita.tomonori at lab.ntt.co.jp> wrote:
>
> > On Wed, 30 Jun 2010 12:01:04 -0500
> > James Bottomley <James.Bottomley at suse.de> wrote:
> >
> > > So this is more directly what I'm thinking. It gives us an exactly
> > > correct place to hang the discard allocation in SCSI. The next patch
> > > shows a potential implementation in sd.
> >
> > Yeah, making the prep_rq_fn API symmetrical makes sense lots.
> >
> >
> > > I think it should avoid all the leaks people have been seeing trying to
> > > move the discard allocation/free into scsi. I also think it should
> > > facilitate sending discard through SCSI as a REQ_TYPE_FS.
> >
> > I think so. If I can figure out why qemu scsi driver is broken, the
> > job is done.
>
> When I combine this patch 1/2 and patch 2/2 with Christoph's discard
> payload rework (a1d949f5f448) already staged in for-2.6.36 I'm finding
> that: sd_unprep_fn's __free_page causes the system to hard hang/crash.
> I need to get serial connected and/or kdump configured to see if I can
> catch what is happening.
I've not looked at the details of James' work yet but I think that we
can't call blk_uprep_request() in blk_finish_request(). req->bio has
already gone after blk_update_bidi_request().
> But if I comment out sd_unprep_fn's __free_page() from James' patch 2/2
> I don't see a crash. Seems some other code is altering the request
> before James' new sd_unprep_fn hhook?
>
> Are James' patches meant to be dependent on your REQ_TYPE_FS conversion
> work? I wouldn't think so.. but I haven't traced the call chains close
> enough to know.
James' patch isn't dependent on my patchset.
> > I'll see how this patchset works and update my FS discard patchset on
> > the top of this.
>
> I look forward to your results!
I make sure that you'll have something to test tomorrow. :)
More information about the dm-devel
mailing list