Lines Matching refs:bio
45 int __bio_queue_enter(struct request_queue *q, struct bio *bio);
46 void submit_bio_noacct_nocheck(struct bio *bio);
47 void bio_await_chain(struct bio *bio);
73 static inline int bio_queue_enter(struct bio *bio) in bio_queue_enter() argument
75 struct request_queue *q = bdev_get_queue(bio->bi_bdev); in bio_queue_enter()
82 return __bio_queue_enter(q, bio); in bio_queue_enter()
216 void bio_integrity_free(struct bio *bio);
224 bool __bio_integrity_endio(struct bio *bio);
225 static inline bool bio_integrity_endio(struct bio *bio) in bio_integrity_endio() argument
227 struct bio_integrity_payload *bip = bio_integrity(bio); in bio_integrity_endio()
230 return __bio_integrity_endio(bio); in bio_integrity_endio()
237 struct bio *);
240 struct bio *next) in integrity_req_gap_back_merge()
242 struct bio_integrity_payload *bip = bio_integrity(req->bio); in integrity_req_gap_back_merge()
251 struct bio *bio) in integrity_req_gap_front_merge() argument
253 struct bio_integrity_payload *bip = bio_integrity(bio); in integrity_req_gap_front_merge()
254 struct bio_integrity_payload *bip_next = bio_integrity(req->bio); in integrity_req_gap_front_merge()
269 struct request *r, struct bio *b) in blk_integrity_merge_bio()
274 struct bio *next) in integrity_req_gap_back_merge()
279 struct bio *bio) in integrity_req_gap_front_merge() argument
287 static inline bool bio_integrity_endio(struct bio *bio) in bio_integrity_endio() argument
291 static inline void bio_integrity_free(struct bio *bio) in bio_integrity_free() argument
306 struct bio *bio, unsigned int nr_segs);
307 bool blk_attempt_plug_merge(struct request_queue *q, struct bio *bio,
310 struct bio *bio, unsigned int nr_segs);
345 struct bio *bio_split_discard(struct bio *bio, const struct queue_limits *lim,
347 struct bio *bio_split_write_zeroes(struct bio *bio,
349 struct bio *bio_split_rw(struct bio *bio, const struct queue_limits *lim,
351 struct bio *bio_split_zone_append(struct bio *bio,
362 static inline bool bio_may_need_split(struct bio *bio, in bio_may_need_split() argument
367 if (bio->bi_vcnt != 1) in bio_may_need_split()
369 return bio->bi_io_vec->bv_len + bio->bi_io_vec->bv_offset > in bio_may_need_split()
386 static inline struct bio *__bio_split_to_limits(struct bio *bio, in __bio_split_to_limits() argument
389 switch (bio_op(bio)) { in __bio_split_to_limits()
392 if (bio_may_need_split(bio, lim)) in __bio_split_to_limits()
393 return bio_split_rw(bio, lim, nr_segs); in __bio_split_to_limits()
395 return bio; in __bio_split_to_limits()
397 return bio_split_zone_append(bio, lim, nr_segs); in __bio_split_to_limits()
400 return bio_split_discard(bio, lim, nr_segs); in __bio_split_to_limits()
402 return bio_split_write_zeroes(bio, lim, nr_segs); in __bio_split_to_limits()
406 return bio; in __bio_split_to_limits()
410 int ll_back_merge_fn(struct request *req, struct bio *bio,
415 bool blk_rq_merge_ok(struct request *rq, struct bio *bio);
416 enum elv_merge blk_try_merge(struct request *rq, struct bio *bio);
446 struct bio *__blk_queue_bounce(struct bio *bio, struct request_queue *q);
455 static inline struct bio *blk_queue_bounce(struct bio *bio, in blk_queue_bounce() argument
458 if (unlikely(blk_queue_may_bounce(q) && bio_has_data(bio))) in blk_queue_bounce()
459 return __blk_queue_bounce(bio, q); in blk_queue_bounce()
460 return bio; in blk_queue_bounce()
466 static inline bool bio_zone_write_plugging(struct bio *bio) in bio_zone_write_plugging() argument
468 return bio_flagged(bio, BIO_ZONE_WRITE_PLUGGING); in bio_zone_write_plugging()
470 void blk_zone_write_plug_bio_merged(struct bio *bio);
473 struct bio *bio) in blk_zone_update_request_bio() argument
484 bio_flagged(bio, BIO_EMULATES_ZONE_APPEND)) in blk_zone_update_request_bio()
485 bio->bi_iter.bi_sector = rq->__sector; in blk_zone_update_request_bio()
487 void blk_zone_write_plug_bio_endio(struct bio *bio);
488 static inline void blk_zone_bio_endio(struct bio *bio) in blk_zone_bio_endio() argument
494 if (bio_zone_write_plugging(bio)) in blk_zone_bio_endio()
495 blk_zone_write_plug_bio_endio(bio); in blk_zone_bio_endio()
515 static inline bool bio_zone_write_plugging(struct bio *bio) in bio_zone_write_plugging() argument
519 static inline void blk_zone_write_plug_bio_merged(struct bio *bio) in blk_zone_write_plug_bio_merged() argument
526 struct bio *bio) in blk_zone_update_request_bio() argument
529 static inline void blk_zone_bio_endio(struct bio *bio) in blk_zone_bio_endio() argument
574 static inline void bio_release_page(struct bio *bio, struct page *page) in bio_release_page() argument
576 if (bio_flagged(bio, BIO_PAGE_PINNED)) in bio_release_page()
721 void blk_integrity_generate(struct bio *bio);
722 void blk_integrity_verify_iter(struct bio *bio, struct bvec_iter *saved_iter);