]> git.baikalelectronics.ru Git - kernel.git/commit
block: Revert v5.0 blk_mq_request_issue_directly() changes
authorBart Van Assche <bvanassche@acm.org>
Thu, 4 Apr 2019 17:08:43 +0000 (10:08 -0700)
committerJens Axboe <axboe@kernel.dk>
Fri, 5 Apr 2019 15:40:46 +0000 (09:40 -0600)
commitb7311a359b85ee89d7a0f09b36d4fc7f71d3ee57
tree6325afffd310da5e086f86dc27c4a79d375a5207
parent84d59e7b348b23bc063ed909ee28a833315ba5d4
block: Revert v5.0 blk_mq_request_issue_directly() changes

blk_mq_try_issue_directly() can return BLK_STS*_RESOURCE for requests that
have been queued. If that happens when blk_mq_try_issue_directly() is called
by the dm-mpath driver then dm-mpath will try to resubmit a request that is
already queued and a kernel crash follows. Since it is nontrivial to fix
blk_mq_request_issue_directly(), revert the blk_mq_request_issue_directly()
changes that went into kernel v5.0.

This patch reverts the following commits:
052264fa20ab ("blk-mq: replace and kill blk_mq_request_issue_directly") # v5.0.
a63c0a21f0c3 ("blk-mq: issue directly with bypass 'false' in blk_mq_sched_insert_requests") # v5.0.
194a690b8931 ("blk-mq: refactor the code of issue request directly") # v5.0.

Cc: Christoph Hellwig <hch@infradead.org>
Cc: Ming Lei <ming.lei@redhat.com>
Cc: Jianchao Wang <jianchao.w.wang@oracle.com>
Cc: Hannes Reinecke <hare@suse.com>
Cc: Johannes Thumshirn <jthumshirn@suse.de>
Cc: James Smart <james.smart@broadcom.com>
Cc: Dongli Zhang <dongli.zhang@oracle.com>
Cc: Laurence Oberman <loberman@redhat.com>
Cc: <stable@vger.kernel.org>
Reported-by: Laurence Oberman <loberman@redhat.com>
Tested-by: Laurence Oberman <loberman@redhat.com>
Fixes: 194a690b8931 ("blk-mq: refactor the code of issue request directly") # v5.0.
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-core.c
block/blk-mq-sched.c
block/blk-mq.c
block/blk-mq.h