mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 01:33:00 -04:00
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 <[email protected]> CC: Jens Axboe <[email protected]> CC: NeilBrown <[email protected]> CC: Alasdair Kergon <[email protected]> CC: Boaz Harrosh <[email protected]> CC: Jeff Garzik <[email protected]> Acked-by: Jeff Garzik <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
This commit is contained in:
parent
3f86a82aeb
commit
bf800ef181
8 changed files with 29 additions and 46 deletions
|
|
@ -2781,16 +2781,10 @@ int blk_rq_prep_clone(struct request *rq, struct request *rq_src,
|
|||
blk_rq_init(NULL, rq);
|
||||
|
||||
__rq_for_each_bio(bio_src, rq_src) {
|
||||
bio = bio_alloc_bioset(gfp_mask, bio_src->bi_max_vecs, bs);
|
||||
bio = bio_clone_bioset(bio_src, gfp_mask, bs);
|
||||
if (!bio)
|
||||
goto free_and_out;
|
||||
|
||||
__bio_clone(bio, bio_src);
|
||||
|
||||
if (bio_integrity(bio_src) &&
|
||||
bio_integrity_clone(bio, bio_src, gfp_mask))
|
||||
goto free_and_out;
|
||||
|
||||
if (bio_ctr && bio_ctr(bio, bio_src, data))
|
||||
goto free_and_out;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue