Lines Matching refs:clone
91 static inline struct dm_target_io *clone_to_tio(struct bio *clone) in clone_to_tio() argument
93 return container_of(clone, struct dm_target_io, clone); in clone_to_tio()
116 return container_of(bio, struct dm_target_io, clone)->target_bio_nr; in dm_bio_get_target_bio_nr()
539 static void dm_start_io_acct(struct dm_io *io, struct bio *clone) in dm_start_io_acct() argument
548 if (!clone || likely(dm_tio_is_normal(clone_to_tio(clone)))) { in dm_start_io_acct()
574 struct bio *clone; in alloc_io() local
576 clone = bio_alloc_clone(NULL, bio, GFP_NOIO, &md->mempools->io_bs); in alloc_io()
577 tio = clone_to_tio(clone); in alloc_io()
603 bio_put(&io->tio.clone); in free_io()
611 struct bio *clone; in alloc_tio() local
617 clone = &tio->clone; in alloc_tio()
619 clone = bio_alloc_clone(NULL, ci->bio, gfp_mask, in alloc_tio()
621 if (!clone) in alloc_tio()
625 clone->bi_opf &= ~REQ_DM_POLL_LIST; in alloc_tio()
627 tio = clone_to_tio(clone); in alloc_tio()
639 clone->bi_bdev = md->disk->part0; in alloc_tio()
641 bio_set_dev(clone, md->disk->part0); in alloc_tio()
644 clone->bi_iter.bi_size = to_bytes(*len); in alloc_tio()
645 if (bio_integrity(clone)) in alloc_tio()
646 bio_integrity_trim(clone); in alloc_tio()
649 return clone; in alloc_tio()
652 static void free_tio(struct bio *clone) in free_tio() argument
654 if (dm_tio_flagged(clone_to_tio(clone), DM_TIO_INSIDE_DM_IO)) in free_tio()
656 bio_put(clone); in free_tio()
1364 void dm_submit_bio_remap(struct bio *clone, struct bio *tgt_clone) in dm_submit_bio_remap() argument
1366 struct dm_target_io *tio = clone_to_tio(clone); in dm_submit_bio_remap()
1371 tgt_clone = clone; in dm_submit_bio_remap()
1377 dm_start_io_acct(io, clone); in dm_submit_bio_remap()
1401 static void __map_bio(struct bio *clone) in __map_bio() argument
1403 struct dm_target_io *tio = clone_to_tio(clone); in __map_bio()
1409 clone->bi_end_io = clone_endio; in __map_bio()
1414 tio->old_sector = clone->bi_iter.bi_sector; in __map_bio()
1417 unlikely(swap_bios_limit(ti, clone))) { in __map_bio()
1433 r = ti->type->map(ti, clone); in __map_bio()
1435 r = ti->type->map(ti, clone); in __map_bio()
1441 dm_start_io_acct(io, clone); in __map_bio()
1444 dm_submit_bio_remap(clone, NULL); in __map_bio()
1449 unlikely(swap_bios_limit(ti, clone))) in __map_bio()
1451 free_tio(clone); in __map_bio()
1511 struct bio *clone; in __send_duplicate_bios() local
1520 clone = alloc_tio(ci, ti, 0, len, GFP_NOIO); in __send_duplicate_bios()
1521 __map_bio(clone); in __send_duplicate_bios()
1527 while ((clone = bio_list_pop(&blist))) { in __send_duplicate_bios()
1528 dm_tio_set_flag(clone_to_tio(clone), DM_TIO_IS_DUPLICATE_BIO); in __send_duplicate_bios()
1529 __map_bio(clone); in __send_duplicate_bios()
1553 ci->io->tio.clone.bi_iter.bi_size = 0; in __send_empty_flush()
1691 struct bio *clone; in __split_and_process_bio() local
1714 clone = alloc_tio(ci, ti, 0, &len, GFP_NOIO); in __split_and_process_bio()
1715 __map_bio(clone); in __split_and_process_bio()
1833 bio_poll(&io->tio.clone, iob, flags); in dm_poll_dm_io()