On Fri, 2019-04-05 at 05:43 +0800, Ming Lei wrote:
On Thu, Apr 04, 2019 at 10:08:43AM -0700, Bart Van Assche wrote:
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:
- d6a51a97c0b2 ("blk-mq: replace and kill blk_mq_request_issue_directly") # v5.0.
- 5b7a6f128aad ("blk-mq: issue directly with bypass 'false' in blk_mq_sched_insert_requests") # v5.0.
- 7f556a44e61d ("blk-mq: refactor the code of issue request directly") # v5.0.
I am fine to revert them now.
However, could you revert them one by one so that they can be reviewed easily?
Anyone who wants to verify this patch can do that by reverting the three commits mentioned above and by using diff to compare the revert result with this patch.
Thanks,
Bart.