summaryrefslogtreecommitdiffstats
path: root/drivers/md/dm.c
diff options
context:
space:
mode:
authorPeter Osterlund2005-09-07 00:16:42 +0200
committerLinus Torvalds2005-09-08 01:57:20 +0200
commit3676347a5e216a7fec7f8eedbbcf8bed6b9c4e40 (patch)
tree3b5880b862390590da8edfb98c3e62aa573d0b28 /drivers/md/dm.c
parent[PATCH] Strip local symbols from kallsyms (diff)
downloadkernel-qcow2-linux-3676347a5e216a7fec7f8eedbbcf8bed6b9c4e40.tar.gz
kernel-qcow2-linux-3676347a5e216a7fec7f8eedbbcf8bed6b9c4e40.tar.xz
kernel-qcow2-linux-3676347a5e216a7fec7f8eedbbcf8bed6b9c4e40.zip
[PATCH] kill bio->bi_set
Jens: ->bi_set is totally unnecessary bloat of struct bio. Just define a proper destructor for the bio and it already knows what bio_set it belongs too. Peter: Fixed the bugs. Signed-off-by: Jens Axboe <axboe@suse.de> Signed-off-by: Peter Osterlund <petero2@telia.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/md/dm.c')
-rw-r--r--drivers/md/dm.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/md/dm.c b/drivers/md/dm.c
index d487d9deb98e..930b9fc27953 100644
--- a/drivers/md/dm.c
+++ b/drivers/md/dm.c
@@ -399,6 +399,11 @@ struct clone_info {
unsigned short idx;
};
+static void dm_bio_destructor(struct bio *bio)
+{
+ bio_free(bio, dm_set);
+}
+
/*
* Creates a little bio that is just does part of a bvec.
*/
@@ -410,6 +415,7 @@ static struct bio *split_bvec(struct bio *bio, sector_t sector,
struct bio_vec *bv = bio->bi_io_vec + idx;
clone = bio_alloc_bioset(GFP_NOIO, 1, dm_set);
+ clone->bi_destructor = dm_bio_destructor;
*clone->bi_io_vec = *bv;
clone->bi_sector = sector;