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

Tejun Heo tj at kernel.org
Mon May 28 03:23:07 CEST 2012


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.

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

-- 
tejun


More information about the drbd-dev mailing list