mirror of
https://github.com/torvalds/linux.git
synced 2026-10-07 22:37:45 -04:00
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: *d6a51a97c0("blk-mq: replace and kill blk_mq_request_issue_directly") # v5.0. *5b7a6f128a("blk-mq: issue directly with bypass 'false' in blk_mq_sched_insert_requests") # v5.0. *7f556a44e6("blk-mq: refactor the code of issue request directly") # v5.0. Cc: Christoph Hellwig <[email protected]> Cc: Ming Lei <[email protected]> Cc: Jianchao Wang <[email protected]> Cc: Hannes Reinecke <[email protected]> Cc: Johannes Thumshirn <[email protected]> Cc: James Smart <[email protected]> Cc: Dongli Zhang <[email protected]> Cc: Laurence Oberman <[email protected]> Cc: <[email protected]> Reported-by: Laurence Oberman <[email protected]> Tested-by: Laurence Oberman <[email protected]> Fixes:7f556a44e6("blk-mq: refactor the code of issue request directly") # v5.0. Signed-off-by: Bart Van Assche <[email protected]> Signed-off-by: Jens Axboe <[email protected]>