[Drbd-dev] [PATCH v3 03/16] block: Add bio_reset()

Boaz Harrosh bharrosh at panasas.com
Mon May 28 12:02:45 CEST 2012


On 05/28/2012 04:23 AM, Tejun Heo wrote:

> On Fri, May 25, 2012 at 01:25:26PM -0700, Kent Overstreet wrote:
>> Reusing bios is something that's been highly frowned upon in the past,
>> but driver code keeps doing it anyways. If it's going to happen anyways,
>> we should provide a generic method.
>>
>> This'll help with getting rid of bi_destructor - drivers/block/pktcdvd.c
>> was open coding it, by doing a bio_init() and resetting bi_destructor.
>>
>> Signed-off-by: Kent Overstreet <koverstreet at google.com>
>> Change-Id: Ib0a43dfcb3f6c22a54da513d4a86be544b5ffd95
>> ---
>>  fs/bio.c                  |    8 ++++++++
>>  include/linux/bio.h       |    1 +
>>  include/linux/blk_types.h |    6 ++++++
>>  3 files changed, 15 insertions(+)
>>
>> diff --git a/fs/bio.c b/fs/bio.c
>> index 3667cef..240da21 100644
>> --- a/fs/bio.c
>> +++ b/fs/bio.c
>> @@ -259,6 +259,14 @@ void bio_init(struct bio *bio)
>>  }
>>  EXPORT_SYMBOL(bio_init);
>>  
> 
> Function comment please.


And please make this inline in header. We should not 
EXPORT_SYMBOL a memset. (Even the memset gets inlined by
compiler.

Boaz

> 
>> +void bio_reset(struct bio *bio)
>> +{
>> +	memset(bio, 0, BIO_RESET_BYTES);
>> +	bio->bi_flags = 1 << BIO_UPTODATE;
>> +
>> +}
>> +EXPORT_SYMBOL(bio_reset);
> 




More information about the drbd-dev mailing list