Lines Matching refs:next

53 		struct request *prev_rq, struct bio *prev, struct bio *next)
77 * - if 'pb' ends unaligned, the next bio must include
82 bio_get_first_bvec(next, &nb);
136 * If the next starting sector would be misaligned, stop the discard at
674 struct request *next)
680 if (blk_rq_sectors(req) + bio_sectors(next->bio) >
684 req->nr_phys_segments = segments + blk_rq_nr_discard_segments(next);
692 struct request *next)
696 if (req_gap_back_merge(req, next->bio))
702 if ((blk_rq_sectors(req) + blk_rq_sectors(next)) >
706 total_phys_segments = req->nr_phys_segments + next->nr_phys_segments;
710 if (!blk_cgroup_mergeable(req, next->bio))
713 if (blk_integrity_merge_rq(q, req, next) == false)
716 if (!bio_crypt_ctx_merge_rq(req, next))
791 struct request *next)
795 else if (blk_rq_pos(req) + blk_rq_sectors(req) == blk_rq_pos(next))
806 struct request *req, struct request *next)
808 if (!rq_mergeable(req) || !rq_mergeable(next))
811 if (req_op(req) != req_op(next))
814 if (rq_data_dir(req) != rq_data_dir(next))
817 if (req->ioprio != next->ioprio)
822 * from next to rq and release next. merge_requests_fn
828 switch (blk_try_req_merge(req, next)) {
830 if (!req_attempt_discard_merge(q, req, next))
834 if (!ll_merge_requests_fn(q, req, next))
847 if (((req->rq_flags | next->rq_flags) & RQF_MIXED_MERGE) ||
849 (next->cmd_flags & REQ_FAILFAST_MASK)) {
851 blk_rq_set_mixed_merge(next);
859 if (next->start_time_ns < req->start_time_ns)
860 req->start_time_ns = next->start_time_ns;
862 req->biotail->bi_next = next->bio;
863 req->biotail = next->biotail;
865 req->__data_len += blk_rq_bytes(next);
868 elv_merge_requests(q, req, next);
870 blk_crypto_rq_put_keyslot(next);
873 * 'next' is going away, so update stats accordingly
875 blk_account_io_merge_request(next);
877 trace_block_rq_merge(next);
880 * ownership of bio passed from next to req, return 'next' for
883 next->bio = NULL;
884 return next;
890 struct request *next = elv_latter_request(q, rq);
892 if (next)
893 return attempt_merge(q, rq, next);
910 * Try to merge 'next' into 'rq'. Return true if the merge happened, false
911 * otherwise. The caller is responsible for freeing 'next' if the merge
915 struct request *next)
917 return attempt_merge(q, rq, next);