[Drbd-dev] [PATCH v5 05/12] block: Kill bi_destructor
Tejun Heo
tj at kernel.org
Thu Aug 9 00:22:23 CEST 2012
Hello,
On Mon, Aug 06, 2012 at 03:08:34PM -0700, Kent Overstreet wrote:
> Now that we've got generic code for freeing bios allocated from bio
> pools, this isn't needed anymore.
>
> This also changes the semantics of bio_free() a bit - it now also frees
> bios allocated by bio_kmalloc(). It's also no longer exported, as
> without bi_destructor there should be no need for it to be called
> anywhere else.
>
> v5: Switch to BIO_KMALLOC_POOL ((void *)~0), per Boaz
>
> Signed-off-by: Kent Overstreet <koverstreet at google.com>
> ---
> diff --git a/drivers/block/drbd/drbd_main.c b/drivers/block/drbd/drbd_main.c
> index 920ede2..19bf632 100644
> --- a/drivers/block/drbd/drbd_main.c
> +++ b/drivers/block/drbd/drbd_main.c
> @@ -161,23 +161,12 @@ static const struct block_device_operations drbd_ops = {
> .release = drbd_release,
> };
>
> -static void bio_destructor_drbd(struct bio *bio)
> -{
> - bio_free(bio, drbd_md_io_bio_set);
> -}
> -
> struct bio *bio_alloc_drbd(gfp_t gfp_mask)
> {
> - struct bio *bio;
> -
> if (!drbd_md_io_bio_set)
> return bio_alloc(gfp_mask, 1);
>
> - bio = bio_alloc_bioset(gfp_mask, 1, drbd_md_io_bio_set);
> - if (!bio)
> - return NULL;
> - bio->bi_destructor = bio_destructor_drbd;
> - return bio;
> + return bio_alloc_bioset(gfp_mask, 1, drbd_md_io_bio_set);
> }
Does this chunk belong to this patch?
> @@ -56,6 +56,8 @@ static struct biovec_slab bvec_slabs[BIOVEC_NR_POOLS] __read_mostly = {
> */
> struct bio_set *fs_bio_set;
>
> +#define BIO_KMALLOC_POOL ((void *) ~0)
What's wrong with good ol' NULL?
Thanks.
--
tejun
More information about the drbd-dev
mailing list