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

From: Jens Axboe
Date: Mon Jun 28 2010 - 08:41:35 EST


On 2010-06-28 14:37, Mike Snitzer wrote:
> On Mon, Jun 28 2010 at 8:34am -0400,
> Jens Axboe <axboe@xxxxxxxxx> 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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/