ANDROID: block: Preserve the order of requeued zoned writes

blk_mq_process_requeue_list() inserts requeued requests in front of other
requests. This is fine for all request types except for sequential zoned
writes. Hence this patch.

Bug: 234829282
Change-Id: If1f1aece17f425104a936b36db33eab5f9ba5c2d
Signed-off-by: Bart Van Assche <bvanassche@google.com>
This commit is contained in:
Bart Van Assche
2023-10-06 12:19:49 -07:00
parent d7f09c11e7
commit f1b91d8b41

View File

@@ -796,7 +796,8 @@ static void blk_mq_requeue_work(struct work_struct *work)
if (rq->rq_flags & RQF_DONTPREP)
blk_mq_request_bypass_insert(rq, false, false);
else
blk_mq_sched_insert_request(rq, true, false, false);
blk_mq_sched_insert_request(rq, /*at_head=*/
!blk_rq_is_seq_zoned_write(rq), false, false);
}
while (!list_empty(&rq_list)) {