[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:45:48 UTC 2010


On Mon, Jun 28 2010 at  8:41am -0400,
Jens Axboe <axboe at kernel.dk> wrote:

> On 2010-06-28 14:37, Mike Snitzer wrote:
> > On Mon, Jun 28 2010 at  8:34am -0400,
> > Jens Axboe <axboe at kernel.dk> wrote:
> > 
> >> On 2010-06-26 21:56, Mike Snitzer 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.
> >>
> >> Sorry, this looks horrible.
> > 
> > Your judgment isn't giving me much to work with... not sure where I go
> > with "horrible".
> 
> The horrible part is working around that issue by fiddling with the
> assignment of the internal vec. THAT looks like a horrible solution
> to that problem.
>
> How about just adding a check to bio_has_data() for non-zero
> bio->bi_vcnt?

Sure, that works.




More information about the dm-devel mailing list