Lines Matching refs:bio_orig
164 struct bio *bio_orig = bio->bi_private; in bounce_end_io() local
166 struct bvec_iter orig_iter = bio_orig->bi_iter; in bounce_end_io()
173 orig_vec = bio_iter_iovec(bio_orig, orig_iter); in bounce_end_io()
178 bio_advance_iter(bio_orig, &orig_iter, orig_vec.bv_len); in bounce_end_io()
181 bio_orig->bi_status = bio->bi_status; in bounce_end_io()
182 bio_endio(bio_orig); in bounce_end_io()
199 struct bio *bio_orig = bio->bi_private; in __bounce_end_io_read() local
202 copy_to_high_bio_irq(bio_orig, bio); in __bounce_end_io_read()
286 static void __blk_queue_bounce(struct request_queue *q, struct bio **bio_orig, in __blk_queue_bounce() argument
290 int rw = bio_data_dir(*bio_orig); in __blk_queue_bounce()
296 bool passthrough = bio_is_passthrough(*bio_orig); in __blk_queue_bounce()
298 bio_for_each_segment(from, *bio_orig, iter) { in __blk_queue_bounce()
307 if (!passthrough && sectors < bio_sectors(*bio_orig)) { in __blk_queue_bounce()
308 bio = bio_split(*bio_orig, sectors, GFP_NOIO, &bounce_bio_split); in __blk_queue_bounce()
309 bio_chain(bio, *bio_orig); in __blk_queue_bounce()
310 generic_make_request(*bio_orig); in __blk_queue_bounce()
311 *bio_orig = bio; in __blk_queue_bounce()
313 bio = bounce_clone_bio(*bio_orig, GFP_NOIO, passthrough ? NULL : in __blk_queue_bounce()
342 trace_block_bio_bounce(q, *bio_orig); in __blk_queue_bounce()
356 bio->bi_private = *bio_orig; in __blk_queue_bounce()
357 *bio_orig = bio; in __blk_queue_bounce()
360 void blk_queue_bounce(struct request_queue *q, struct bio **bio_orig) in blk_queue_bounce() argument
367 if (!bio_has_data(*bio_orig)) in blk_queue_bounce()
387 __blk_queue_bounce(q, bio_orig, pool); in blk_queue_bounce()