Re: [PATCH v5 05/12] block: Kill bi_destructor
From: Tejun Heo <tj@kernel.org>
Date: 2012-08-08 22:22:30
Also in:
dm-devel, lkml
Hello, On Mon, Aug 06, 2012 at 03:08:34PM -0700, Kent Overstreet wrote:
quoted hunk ↗ jump to hunk
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 <redacted> ---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?
quoted hunk ↗ jump to hunk
@@ -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