}
}
-static void __clone_and_map_simple_bio(struct clone_info *ci,
- struct dm_target_io *tio, unsigned *len)
-{
- struct bio *clone = &tio->clone;
-
- tio->len_ptr = len;
-
- __bio_clone_fast(clone, ci->bio);
- if (len)
- bio_setup_sector(clone, ci->sector, *len);
- __map_bio(tio);
-}
-
static void __send_duplicate_bios(struct clone_info *ci, struct dm_target *ti,
unsigned num_bios, unsigned *len)
{
struct bio_list blist = BIO_EMPTY_LIST;
- struct bio *bio;
+ struct bio *clone;
alloc_multiple_bios(&blist, ci, ti, num_bios);
- while ((bio = bio_list_pop(&blist)))
- __clone_and_map_simple_bio(ci, clone_to_tio(bio), len);
+ while ((clone = bio_list_pop(&blist))) {
+ struct dm_target_io *tio = clone_to_tio(clone);
+
+ tio->len_ptr = len;
+
+ __bio_clone_fast(clone, ci->bio);
+ if (len)
+ bio_setup_sector(clone, ci->sector, *len);
+ __map_bio(tio);
+ }
}
static int __send_empty_flush(struct clone_info *ci)