Lines Matching refs:next
302 struct bio *next = bio->bi_next;
306 bio->bi_next = next;
389 struct request *next)
393 req->biotail->bi_seg_back_size + next->bio->bi_seg_front_size;
399 if (req_no_special_merge(req) || req_no_special_merge(next))
405 if ((blk_rq_sectors(req) + blk_rq_sectors(next)) >
409 total_phys_segments = req->nr_phys_segments + next->nr_phys_segments;
410 if (blk_phys_contig_segment(q, req->biotail, next->bio)) {
413 if (next->nr_phys_segments == 1)
414 next->biotail->bi_seg_back_size = seg_size;
421 if (blk_integrity_merge_rq(q, req, next) == false)
480 struct request *next)
482 if (!rq_mergeable(req) || !rq_mergeable(next))
485 if (!blk_check_merge_flags(req->cmd_flags, next->cmd_flags))
491 if (blk_rq_pos(req) + blk_rq_sectors(req) != blk_rq_pos(next))
494 if (rq_data_dir(req) != rq_data_dir(next)
495 || req->rq_disk != next->rq_disk
496 || req_no_special_merge(next))
500 !blk_write_same_mergeable(req->bio, next->bio))
505 * from next to rq and release next. merge_requests_fn
509 if (!ll_merge_requests_fn(q, req, next))
518 if ((req->cmd_flags | next->cmd_flags) & REQ_MIXED_MERGE ||
520 (next->cmd_flags & REQ_FAILFAST_MASK)) {
522 blk_rq_set_mixed_merge(next);
531 if (time_after(req->start_time, next->start_time))
532 req->start_time = next->start_time;
534 req->biotail->bi_next = next->bio;
535 req->biotail = next->biotail;
537 req->__data_len += blk_rq_bytes(next);
539 elv_merge_requests(q, req, next);
542 * 'next' is going away, so update stats accordingly
544 blk_account_io_merge(next);
546 req->ioprio = ioprio_best(req->ioprio, next->ioprio);
547 if (blk_rq_cpu_valid(next))
548 req->cpu = next->cpu;
550 /* owner-ship of bio passed from next to req */
551 next->bio = NULL;
552 __blk_put_request(q, next);
558 struct request *next = elv_latter_request(q, rq);
560 if (next)
561 return attempt_merge(q, rq, next);
577 struct request *next)
579 return attempt_merge(q, rq, next);