[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

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

On Mon, 28 Jun 2010 08:29:55 -0400
Mike Snitzer <snitzer redhat com> wrote:

> On Mon, Jun 28 2010 at  6:33am -0400,
> FUJITA Tomonori <fujita tomonori lab ntt co jp> wrote:
> > On Sat, 26 Jun 2010 15:56:51 -0400
> > Mike Snitzer <snitzer 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).

Sorry, if not clear enough.

- SCSI layering violation is bad.

- A 'short term' solution always turns out to be a long solution. We
  should have a clean solution from the start.

- Complicating the SCSI I/O completion is bad (already complicated


And the 'leaks' bug is still in -next. No need to fix it in a hacky
way. We can just drop it from -next.

> But in this case
> you're perfectly fine with BIO_RW_DISCARD special casing?

BIO_RW_DISCARD special is already everywhere in the block layer. I
prefer to have the less. However as long as it's in the block layer, I
can live with it. After all, that's the block layer thing.

At least, it looks much better this patch. This patch is really hacky
(as Jens said).

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]