Lines Matching refs:bio
40 int __bio_queue_enter(struct request_queue *q, struct bio *bio);
41 void submit_bio_noacct_nocheck(struct bio *bio);
42 void bio_await_chain(struct bio *bio);
68 static inline int bio_queue_enter(struct bio *bio) in bio_queue_enter() argument
70 struct request_queue *q = bdev_get_queue(bio->bi_bdev); in bio_queue_enter()
74 return __bio_queue_enter(q, bio); in bio_queue_enter()
205 void bio_integrity_free(struct bio *bio);
213 bool __bio_integrity_endio(struct bio *bio);
214 static inline bool bio_integrity_endio(struct bio *bio) in bio_integrity_endio() argument
216 struct bio_integrity_payload *bip = bio_integrity(bio); in bio_integrity_endio()
219 return __bio_integrity_endio(bio); in bio_integrity_endio()
226 struct bio *);
229 struct bio *next) in integrity_req_gap_back_merge()
231 struct bio_integrity_payload *bip = bio_integrity(req->bio); in integrity_req_gap_back_merge()
240 struct bio *bio) in integrity_req_gap_front_merge() argument
242 struct bio_integrity_payload *bip = bio_integrity(bio); in integrity_req_gap_front_merge()
243 struct bio_integrity_payload *bip_next = bio_integrity(req->bio); in integrity_req_gap_front_merge()
258 struct request *r, struct bio *b) in blk_integrity_merge_bio()
263 struct bio *next) in integrity_req_gap_back_merge()
268 struct bio *bio) in integrity_req_gap_front_merge() argument
276 static inline bool bio_integrity_endio(struct bio *bio) in bio_integrity_endio() argument
280 static inline void bio_integrity_free(struct bio *bio) in bio_integrity_free() argument
295 struct bio *bio, unsigned int nr_segs);
296 bool blk_attempt_plug_merge(struct request_queue *q, struct bio *bio,
299 struct bio *bio, unsigned int nr_segs);
334 struct bio *bio_split_discard(struct bio *bio, const struct queue_limits *lim,
336 struct bio *bio_split_write_zeroes(struct bio *bio,
338 struct bio *bio_split_rw(struct bio *bio, const struct queue_limits *lim,
340 struct bio *bio_split_zone_append(struct bio *bio,
351 static inline bool bio_may_need_split(struct bio *bio, in bio_may_need_split() argument
354 return lim->chunk_sectors || bio->bi_vcnt != 1 || in bio_may_need_split()
355 bio->bi_io_vec->bv_len + bio->bi_io_vec->bv_offset > PAGE_SIZE; in bio_may_need_split()
371 static inline struct bio *__bio_split_to_limits(struct bio *bio, in __bio_split_to_limits() argument
374 switch (bio_op(bio)) { in __bio_split_to_limits()
377 if (bio_may_need_split(bio, lim)) in __bio_split_to_limits()
378 return bio_split_rw(bio, lim, nr_segs); in __bio_split_to_limits()
380 return bio; in __bio_split_to_limits()
382 return bio_split_zone_append(bio, lim, nr_segs); in __bio_split_to_limits()
385 return bio_split_discard(bio, lim, nr_segs); in __bio_split_to_limits()
387 return bio_split_write_zeroes(bio, lim, nr_segs); in __bio_split_to_limits()
391 return bio; in __bio_split_to_limits()
395 int ll_back_merge_fn(struct request *req, struct bio *bio,
400 bool blk_rq_merge_ok(struct request *rq, struct bio *bio);
401 enum elv_merge blk_try_merge(struct request *rq, struct bio *bio);
442 struct bio *__blk_queue_bounce(struct bio *bio, struct request_queue *q);
451 static inline struct bio *blk_queue_bounce(struct bio *bio, in blk_queue_bounce() argument
454 if (unlikely(blk_queue_may_bounce(q) && bio_has_data(bio))) in blk_queue_bounce()
455 return __blk_queue_bounce(bio, q); in blk_queue_bounce()
456 return bio; in blk_queue_bounce()
462 static inline bool bio_zone_write_plugging(struct bio *bio) in bio_zone_write_plugging() argument
464 return bio_flagged(bio, BIO_ZONE_WRITE_PLUGGING); in bio_zone_write_plugging()
466 static inline bool bio_is_zone_append(struct bio *bio) in bio_is_zone_append() argument
468 return bio_op(bio) == REQ_OP_ZONE_APPEND || in bio_is_zone_append()
469 bio_flagged(bio, BIO_EMULATES_ZONE_APPEND); in bio_is_zone_append()
471 void blk_zone_write_plug_bio_merged(struct bio *bio);
474 struct bio *bio) in blk_zone_update_request_bio() argument
484 if (req_op(rq) == REQ_OP_ZONE_APPEND || bio_zone_write_plugging(bio)) 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 bool bio_is_zone_append(struct bio *bio) in bio_is_zone_append() argument
523 static inline void blk_zone_write_plug_bio_merged(struct bio *bio) in blk_zone_write_plug_bio_merged() argument
530 struct bio *bio) in blk_zone_update_request_bio() argument
533 static inline void blk_zone_bio_endio(struct bio *bio) in blk_zone_bio_endio() argument
573 int bio_add_hw_page(struct request_queue *q, struct bio *bio,
577 int bio_add_hw_folio(struct request_queue *q, struct bio *bio,
585 static inline void bio_release_page(struct bio *bio, struct page *page) in bio_release_page() argument
587 if (bio_flagged(bio, BIO_PAGE_PINNED)) in bio_release_page()
732 void blk_integrity_generate(struct bio *bio);
733 void blk_integrity_verify(struct bio *bio);