Lines Matching defs:bio_src
814 static int __bio_clone(struct bio *bio, struct bio *bio_src, gfp_t gfp)
817 bio->bi_ioprio = bio_src->bi_ioprio;
818 bio->bi_write_hint = bio_src->bi_write_hint;
819 bio->bi_iter = bio_src->bi_iter;
822 if (bio->bi_bdev == bio_src->bi_bdev &&
823 bio_flagged(bio_src, BIO_REMAPPED))
825 bio_clone_blkg_association(bio, bio_src);
828 if (bio_crypt_clone(bio, bio_src, gfp) < 0)
830 if (bio_integrity(bio_src) &&
831 bio_integrity_clone(bio, bio_src, gfp) < 0)
839 * @bio_src: bio to clone from
843 * Allocate a new bio that is a clone of @bio_src. The caller owns the returned
846 * The caller must ensure that the return bio is not freed before @bio_src.
848 struct bio *bio_alloc_clone(struct block_device *bdev, struct bio *bio_src,
853 bio = bio_alloc_bioset(bdev, 0, bio_src->bi_opf, gfp, bs);
857 if (__bio_clone(bio, bio_src, gfp) < 0) {
861 bio->bi_io_vec = bio_src->bi_io_vec;
871 * @bio_src: bio to clone from
874 * Initialize a new bio in caller provided memory that is a clone of @bio_src.
877 * The caller must ensure that @bio_src is not freed before @bio.
880 struct bio *bio_src, gfp_t gfp)
884 bio_init(bio, bdev, bio_src->bi_io_vec, 0, bio_src->bi_opf);
885 ret = __bio_clone(bio, bio_src, gfp);