Lines Matching refs:bio

56 int __bio_queue_enter(struct request_queue *q, struct bio *bio);
57 void submit_bio_noacct_nocheck(struct bio *bio, bool split);
58 int bio_submit_or_kill(struct bio *bio, unsigned int flags);
84 static inline int bio_queue_enter(struct bio *bio) in bio_queue_enter() argument
86 struct request_queue *q = bdev_get_queue(bio->bi_bdev); in bio_queue_enter()
93 return __bio_queue_enter(q, bio); in bio_queue_enter()
246 void bio_integrity_free(struct bio *bio);
254 bool __bio_integrity_endio(struct bio *bio);
255 static inline bool bio_integrity_endio(struct bio *bio) in bio_integrity_endio() argument
257 struct bio_integrity_payload *bip = bio_integrity(bio); in bio_integrity_endio()
260 return __bio_integrity_endio(bio); in bio_integrity_endio()
267 struct bio *);
270 struct bio *next) in integrity_req_gap_back_merge()
272 struct bio_integrity_payload *bip = bio_integrity(req->bio); in integrity_req_gap_back_merge()
281 struct bio *bio) in integrity_req_gap_front_merge() argument
283 struct bio_integrity_payload *bip = bio_integrity(bio); in integrity_req_gap_front_merge()
284 struct bio_integrity_payload *bip_next = bio_integrity(req->bio); in integrity_req_gap_front_merge()
299 struct request *r, struct bio *b) in blk_integrity_merge_bio()
304 struct bio *next) in integrity_req_gap_back_merge()
309 struct bio *bio) in integrity_req_gap_front_merge() argument
317 static inline bool bio_integrity_endio(struct bio *bio) in bio_integrity_endio() argument
321 static inline void bio_integrity_free(struct bio *bio) in bio_integrity_free() argument
336 struct bio *bio, unsigned int nr_segs);
337 bool blk_attempt_plug_merge(struct request_queue *q, struct bio *bio,
340 struct bio *bio, unsigned int nr_segs);
374 struct bio *bio_split_discard(struct bio *bio, const struct queue_limits *lim,
376 struct bio *bio_split_write_zeroes(struct bio *bio,
378 struct bio *bio_split_rw(struct bio *bio, const struct queue_limits *lim,
380 struct bio *bio_split_zone_append(struct bio *bio,
391 static inline bool bio_may_need_split(struct bio *bio, in bio_may_need_split() argument
399 if (!bio->bi_io_vec) in bio_may_need_split()
402 bv = __bvec_iter_bvec(bio->bi_io_vec, bio->bi_iter); in bio_may_need_split()
403 if (bio->bi_iter.bi_size > bv->bv_len - bio->bi_iter.bi_bvec_done) in bio_may_need_split()
421 static inline struct bio *__bio_split_to_limits(struct bio *bio, in __bio_split_to_limits() argument
424 switch (bio_op(bio)) { in __bio_split_to_limits()
427 if (bio_may_need_split(bio, lim)) in __bio_split_to_limits()
428 return bio_split_rw(bio, lim, nr_segs); in __bio_split_to_limits()
430 return bio; in __bio_split_to_limits()
432 return bio_split_zone_append(bio, lim, nr_segs); in __bio_split_to_limits()
435 return bio_split_discard(bio, lim, nr_segs); in __bio_split_to_limits()
437 return bio_split_write_zeroes(bio, lim, nr_segs); in __bio_split_to_limits()
441 return bio; in __bio_split_to_limits()
466 int ll_back_merge_fn(struct request *req, struct bio *bio,
471 bool blk_rq_merge_ok(struct request *rq, struct bio *bio);
472 enum elv_merge blk_try_merge(struct request *rq, struct bio *bio);
504 static inline bool bio_zone_write_plugging(struct bio *bio) in bio_zone_write_plugging() argument
506 return bio_flagged(bio, BIO_ZONE_WRITE_PLUGGING); in bio_zone_write_plugging()
509 struct bio *bio) in blk_req_bio_is_zone_append() argument
512 bio_flagged(bio, BIO_EMULATES_ZONE_APPEND); in blk_req_bio_is_zone_append()
514 void blk_zone_write_plug_bio_merged(struct bio *bio);
516 void blk_zone_append_update_request_bio(struct request *rq, struct bio *bio);
517 void blk_zone_mgmt_bio_endio(struct bio *bio);
518 void blk_zone_write_plug_bio_endio(struct bio *bio);
519 static inline void blk_zone_bio_endio(struct bio *bio) in blk_zone_bio_endio() argument
529 if (op_is_zone_mgmt(bio_op(bio))) { in blk_zone_bio_endio()
530 blk_zone_mgmt_bio_endio(bio); in blk_zone_bio_endio()
538 if (bio_zone_write_plugging(bio)) in blk_zone_bio_endio()
539 blk_zone_write_plug_bio_endio(bio); in blk_zone_bio_endio()
559 static inline bool bio_zone_write_plugging(struct bio *bio) in bio_zone_write_plugging() argument
564 struct bio *bio) in blk_req_bio_is_zone_append() argument
568 static inline void blk_zone_write_plug_bio_merged(struct bio *bio) in blk_zone_write_plug_bio_merged() argument
575 struct bio *bio) in blk_zone_append_update_request_bio() argument
578 static inline void blk_zone_bio_endio(struct bio *bio) in blk_zone_bio_endio() argument
647 int should_fail_bio(struct bio *bio);
718 void bio_integrity_generate(struct bio *bio);
719 blk_status_t bio_integrity_verify(struct bio *bio,