Lines Matching refs:next
359 static int req_gap_to_prev(struct request *req, struct request *next) in req_gap_to_prev() argument
364 next->bio->bi_io_vec[0].bv_offset); in req_gap_to_prev()
368 struct request *next) in ll_merge_requests_fn() argument
372 req->biotail->bi_seg_back_size + next->bio->bi_seg_front_size; in ll_merge_requests_fn()
378 if (req_no_special_merge(req) || req_no_special_merge(next)) in ll_merge_requests_fn()
382 req_gap_to_prev(req, next)) in ll_merge_requests_fn()
388 if ((blk_rq_sectors(req) + blk_rq_sectors(next)) > in ll_merge_requests_fn()
392 total_phys_segments = req->nr_phys_segments + next->nr_phys_segments; in ll_merge_requests_fn()
393 if (blk_phys_contig_segment(q, req->biotail, next->bio)) { in ll_merge_requests_fn()
396 if (next->nr_phys_segments == 1) in ll_merge_requests_fn()
397 next->biotail->bi_seg_back_size = seg_size; in ll_merge_requests_fn()
404 if (blk_integrity_merge_rq(q, req, next) == false) in ll_merge_requests_fn()
463 struct request *next) in attempt_merge() argument
465 if (!rq_mergeable(req) || !rq_mergeable(next)) in attempt_merge()
468 if (!blk_check_merge_flags(req->cmd_flags, next->cmd_flags)) in attempt_merge()
474 if (blk_rq_pos(req) + blk_rq_sectors(req) != blk_rq_pos(next)) in attempt_merge()
477 if (rq_data_dir(req) != rq_data_dir(next) in attempt_merge()
478 || req->rq_disk != next->rq_disk in attempt_merge()
479 || req_no_special_merge(next)) in attempt_merge()
483 !blk_write_same_mergeable(req->bio, next->bio)) in attempt_merge()
492 if (!ll_merge_requests_fn(q, req, next)) in attempt_merge()
501 if ((req->cmd_flags | next->cmd_flags) & REQ_MIXED_MERGE || in attempt_merge()
503 (next->cmd_flags & REQ_FAILFAST_MASK)) { in attempt_merge()
505 blk_rq_set_mixed_merge(next); in attempt_merge()
514 if (time_after(req->start_time, next->start_time)) in attempt_merge()
515 req->start_time = next->start_time; in attempt_merge()
517 req->biotail->bi_next = next->bio; in attempt_merge()
518 req->biotail = next->biotail; in attempt_merge()
520 req->__data_len += blk_rq_bytes(next); in attempt_merge()
522 elv_merge_requests(q, req, next); in attempt_merge()
527 blk_account_io_merge(next); in attempt_merge()
529 req->ioprio = ioprio_best(req->ioprio, next->ioprio); in attempt_merge()
530 if (blk_rq_cpu_valid(next)) in attempt_merge()
531 req->cpu = next->cpu; in attempt_merge()
534 next->bio = NULL; in attempt_merge()
535 __blk_put_request(q, next); in attempt_merge()
541 struct request *next = elv_latter_request(q, rq); in attempt_back_merge() local
543 if (next) in attempt_back_merge()
544 return attempt_merge(q, rq, next); in attempt_back_merge()
560 struct request *next) in blk_attempt_req_merge() argument
562 return attempt_merge(q, rq, next); in blk_attempt_req_merge()