[dm-devel] [PATCH 2/2] block: defer the use of inline biovecs for discard requests

Mike Snitzer snitzer at redhat.com
Mon Jun 28 12:29:55 UTC 2010


On Mon, Jun 28 2010 at  6:33am -0400,
FUJITA Tomonori <fujita.tomonori at lab.ntt.co.jp> wrote:

> On Sat, 26 Jun 2010 15:56:51 -0400
> Mike Snitzer <snitzer at redhat.com> wrote:
> 
> > Don't alloc discard bio with a biovec in blkdev_issue_discard.  Doing so
> > means bio_has_data() will not be true until the SCSI layer adds the
> > payload to the discard request via blk_add_request_payload.
> > 
> > bio_{enable,disable}_inline_vecs are not expected to be widely used so
> > they were exported using EXPORT_SYMBOL_GPL.
> > 
> > This patch avoids the need for the following VM accounting fix for
> > discards: http://lkml.org/lkml/2010/6/23/361
> 
> Why do we need to avoid the above fix?

We don't _need_ to.  We avoid the need for it as a side-effect of the
cleanup that my patch provides.

> Surely, the above fix is hacky but much simpler than this patch.

My patch wasn't meant as an alternative to Tao Ma's patch.  Again, it
just obviates the need for it.

Your tolerance for "hacky" is difficult to understand.  On the one-hand
(PATCH 1/2) you have no tolerance for "hacky" fixes for leaks (that
introduce a short-term SCSI layering violation).  But in this case
you're perfectly fine with BIO_RW_DISCARD special casing?

Mike




More information about the dm-devel mailing list