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

Jens Axboe axboe at kernel.dk
Mon Jun 28 12:41:30 UTC 2010


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?

-- 
Jens Axboe




More information about the dm-devel mailing list