diff options
author | Kent Overstreet <koverstreet@google.com> | 2012-09-06 18:35:02 -0400 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2012-09-09 04:35:39 -0400 |
commit | bf800ef1816b4283a885e55ad38068aec9711e4d (patch) | |
tree | c99cbe70b68ede65b478b3006a7ed7e34b453f3d /drivers/block/osdblk.c | |
parent | 3f86a82aeb03e6100f7ab39f4702e033a5e38166 (diff) |
block: Add bio_clone_bioset(), bio_clone_kmalloc()
Previously, there was bio_clone() but it only allocated from the fs bio
set; as a result various users were open coding it and using
__bio_clone().
This changes bio_clone() to become bio_clone_bioset(), and then we add
bio_clone() and bio_clone_kmalloc() as wrappers around it, making use of
the functionality the last patch adedd.
This will also help in a later patch changing how bio cloning works.
Signed-off-by: Kent Overstreet <koverstreet@google.com>
CC: Jens Axboe <axboe@kernel.dk>
CC: NeilBrown <neilb@suse.de>
CC: Alasdair Kergon <agk@redhat.com>
CC: Boaz Harrosh <bharrosh@panasas.com>
CC: Jeff Garzik <jeff@garzik.org>
Acked-by: Jeff Garzik <jgarzik@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers/block/osdblk.c')
-rw-r--r-- | drivers/block/osdblk.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/block/osdblk.c b/drivers/block/osdblk.c index 87311ebac0db..1bbc681688e4 100644 --- a/drivers/block/osdblk.c +++ b/drivers/block/osdblk.c | |||
@@ -266,11 +266,10 @@ static struct bio *bio_chain_clone(struct bio *old_chain, gfp_t gfpmask) | |||
266 | struct bio *tmp, *new_chain = NULL, *tail = NULL; | 266 | struct bio *tmp, *new_chain = NULL, *tail = NULL; |
267 | 267 | ||
268 | while (old_chain) { | 268 | while (old_chain) { |
269 | tmp = bio_kmalloc(gfpmask, old_chain->bi_max_vecs); | 269 | tmp = bio_clone_kmalloc(old_chain, gfpmask); |
270 | if (!tmp) | 270 | if (!tmp) |
271 | goto err_out; | 271 | goto err_out; |
272 | 272 | ||
273 | __bio_clone(tmp, old_chain); | ||
274 | tmp->bi_bdev = NULL; | 273 | tmp->bi_bdev = NULL; |
275 | gfpmask &= ~__GFP_WAIT; | 274 | gfpmask &= ~__GFP_WAIT; |
276 | tmp->bi_next = NULL; | 275 | tmp->bi_next = NULL; |