Skip to content

Commit af31bfc

Browse files
author
CKI KWF Bot
committed
Merge: block: use plug request list tail for one-shot backmerge attempt
MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-10/-/merge_requests/1092 block: use plug request list tail for one-shot backmerge attempt JIRA: https://issues.redhat.com/browse/RHEL-96294 Signed-off-by: Ming Lei <ming.lei@redhat.com> Approved-by: Jeff Moyer <jmoyer@redhat.com> Approved-by: Maurizio Lombardi <mlombard@redhat.com> Approved-by: CKI KWF Bot <cki-ci-bot+kwf-gitlab-com@redhat.com> Merged-by: CKI GitLab Kmaint Pipeline Bot <26919896-cki-kmaint-pipeline-bot@users.noreply.gitlab.com>
2 parents ebc02f3 + ff7666c commit af31bfc

File tree

1 file changed

+13
-13
lines changed

1 file changed

+13
-13
lines changed

block/blk-merge.c

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1127,20 +1127,20 @@ bool blk_attempt_plug_merge(struct request_queue *q, struct bio *bio,
11271127
if (!plug || rq_list_empty(&plug->mq_list))
11281128
return false;
11291129

1130-
rq_list_for_each(&plug->mq_list, rq) {
1131-
if (rq->q == q) {
1132-
if (blk_attempt_bio_merge(q, rq, bio, nr_segs, false) ==
1133-
BIO_MERGE_OK)
1134-
return true;
1135-
break;
1136-
}
1130+
rq = plug->mq_list.tail;
1131+
if (rq->q == q)
1132+
return blk_attempt_bio_merge(q, rq, bio, nr_segs, false) ==
1133+
BIO_MERGE_OK;
1134+
else if (!plug->multiple_queues)
1135+
return false;
11371136

1138-
/*
1139-
* Only keep iterating plug list for merges if we have multiple
1140-
* queues
1141-
*/
1142-
if (!plug->multiple_queues)
1143-
break;
1137+
rq_list_for_each(&plug->mq_list, rq) {
1138+
if (rq->q != q)
1139+
continue;
1140+
if (blk_attempt_bio_merge(q, rq, bio, nr_segs, false) ==
1141+
BIO_MERGE_OK)
1142+
return true;
1143+
break;
11441144
}
11451145
return false;
11461146
}

0 commit comments

Comments
 (0)