Lines Matching defs:clone
92 static inline struct dm_target_io *clone_to_tio(struct bio *clone)
94 return container_of(clone, struct dm_target_io, clone);
118 return container_of(bio, struct dm_target_io, clone)->target_bio_nr;
542 static void dm_start_io_acct(struct dm_io *io, struct bio *clone)
551 if (!clone || likely(dm_tio_is_normal(clone_to_tio(clone)))) {
577 struct bio *clone;
579 clone = bio_alloc_clone(NULL, bio, GFP_NOIO, &md->mempools->io_bs);
580 tio = clone_to_tio(clone);
609 bio_put(&io->tio.clone);
617 struct bio *clone;
622 /* alloc_io() already initialized embedded clone */
623 clone = &tio->clone;
625 clone = bio_alloc_clone(NULL, ci->bio, gfp_mask,
627 if (!clone)
631 clone->bi_opf &= ~REQ_DM_POLL_LIST;
633 tio = clone_to_tio(clone);
645 clone->bi_bdev = md->disk->part0;
647 bio_set_dev(clone, md->disk->part0);
650 clone->bi_iter.bi_size = to_bytes(*len);
651 if (bio_integrity(clone))
652 bio_integrity_trim(clone);
655 return clone;
658 static void free_tio(struct bio *clone)
660 if (dm_tio_flagged(clone_to_tio(clone), DM_TIO_INSIDE_DM_IO))
662 bio_put(clone);
1017 * we may run into long bio clone chain during suspend and OOM could
1349 * @clone: clone bio that DM core passed to target's .map function
1350 * @tgt_clone: clone of @clone bio that target needs submitted
1357 void dm_submit_bio_remap(struct bio *clone, struct bio *tgt_clone)
1359 struct dm_target_io *tio = clone_to_tio(clone);
1364 tgt_clone = clone;
1370 dm_start_io_acct(io, clone);
1394 static void __map_bio(struct bio *clone)
1396 struct dm_target_io *tio = clone_to_tio(clone);
1402 clone->bi_end_io = clone_endio;
1405 * Map the clone.
1407 tio->old_sector = clone->bi_iter.bi_sector;
1410 unlikely(swap_bios_limit(ti, clone))) {
1427 r = ti->type->map(ti, clone);
1429 r = ti->type->map(ti, clone);
1435 dm_start_io_acct(io, clone);
1438 dm_submit_bio_remap(clone, NULL);
1443 unlikely(swap_bios_limit(ti, clone)))
1445 free_tio(clone);
1506 struct bio *clone;
1515 clone = alloc_tio(ci, ti, 0, len, GFP_NOIO);
1516 __map_bio(clone);
1524 while ((clone = bio_list_pop(&blist))) {
1525 dm_tio_set_flag(clone_to_tio(clone), DM_TIO_IS_DUPLICATE_BIO);
1526 __map_bio(clone);
1543 * the basis for the clone(s).
1550 ci->io->tio.clone.bi_iter.bi_size = 0;
1702 struct bio *clone;
1725 clone = alloc_tio(ci, ti, 0, &len, GFP_NOIO);
1726 __map_bio(clone);
1845 bio_poll(&io->tio.clone, iob, flags);