Lines Matching defs:bio
11 #include <linux/bio.h>
436 rq->bio = rq->biotail = NULL;
1960 static void blk_mq_bio_to_request(struct request *rq, struct bio *bio,
1965 if (bio->bi_opf & REQ_RAHEAD)
1968 rq->__sector = bio->bi_iter.bi_sector;
1969 rq->write_hint = bio->bi_write_hint;
1970 blk_rq_bio_prep(rq, bio, nr_segs);
1973 err = blk_crypto_rq_bio_prep(rq, bio, GFP_NOIO);
2168 * @bio: Bio pointer.
2170 * Builds up a request structure from @q and @bio and send to the device. The
2176 * It will not queue the request if there is an error with the bio, or at the
2181 blk_qc_t blk_mq_submit_bio(struct bio *bio)
2183 struct request_queue *q = bio->bi_disk->queue;
2184 const int is_sync = op_is_sync(bio->bi_opf);
2185 const int is_flush_fua = op_is_flush(bio->bi_opf);
2196 blk_queue_bounce(q, &bio);
2197 __blk_queue_split(&bio, &nr_segs);
2199 if (!bio_integrity_prep(bio))
2203 blk_attempt_plug_merge(q, bio, nr_segs, &same_queue_rq))
2206 if (blk_mq_sched_bio_merge(q, bio, nr_segs))
2209 rq_qos_throttle(q, bio);
2211 data.cmd_flags = bio->bi_opf;
2214 rq_qos_cleanup(q, bio);
2215 if (bio->bi_opf & REQ_NOWAIT)
2216 bio_wouldblock_error(bio);
2220 trace_block_getrq(q, bio, bio->bi_opf);
2222 rq_qos_track(q, rq, bio);
2226 blk_mq_bio_to_request(rq, bio, nr_segs);
2230 bio->bi_status = ret;
2231 bio_endio(bio);
2236 plug = blk_mq_plug(q, bio);
2271 * We do limited plugging. If the bio can be merged, do that.