blk-mq: don't queue plugged passthrough requests into scheduler
authorMing Lei <ming.lei@redhat.com>
Thu, 18 May 2023 05:30:59 +0000 (07:30 +0200)
committerJens Axboe <axboe@kernel.dk>
Fri, 19 May 2023 01:40:09 +0000 (19:40 -0600)
commitd97217e7f024bbe9aa62aea070771234c2879358
treecfcb145de4b2ee8091c8e5b136072c814472d76a
parentd5fb8726f1dea70543a93ab1d7332857f157b7f3
blk-mq: don't queue plugged passthrough requests into scheduler

Passthrough requests should never be queued to the I/O scheduler,
as scheduling these opaque requests doesn't make sense, and I/O
schedulers might require req->bio to be always valid.

We never let passthrough requests insert into the scheduler before
commit 1c2d2fff6dc0 ("block: wire-up support for passthrough plugging"),
restore this behavior even for passthrough requests issued under a plug.

[hch: use blk_mq_insert_requests for passthrough requests,
      fix up the commit message and comments]

Reported-by: Guangwu Zhang <guazhang@redhat.com>
Closes: https://lore.kernel.org/linux-block/CAGS2=YosaYaUTEMU3uaf+y=8MqSrhL7sYsJn8EwbaM=76p_4Qg@mail.gmail.com/
Investigated-by: Yu Kuai <yukuai1@huaweicloud.com>
Fixes: 1c2d2fff6dc0 ("block: wire-up support for passthrough plugging")
Signed-off-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20230518053101.760632-2-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-mq.c