On Wed, 2018-07-18 at 22:39 +-0200, hch+AEA-lst.de wrote: +AD4- On Wed, Jul 18, 2018 at 09:56:50PM +-0200, hch+AEA-lst.de wrote: +AD4- +AD4- The important bit is that we need to fix this issue quickly. We are +AD4- +AD4- past -rc5 so I'm rather concerned about anything too complicated. +AD4- +AD4- +AD4- +AD4- I'm not even sure SCSI has a problem with multiple completions happening +AD4- +AD4- at the same time, but it certainly has a problem with bypassing +AD4- +AD4- blk+AF8-mq+AF8-complete+AF8-request from the EH path. +AD4- +AD4- +AD4- +AD4- I think we can solve this properly, but I also think we are way to late +AD4- +AD4- in the 4.18 cycle to fix it properly. For now I fear we'll just have +AD4- +AD4- to revert the changes and try again for 4.19 or even 4.20 if we don't +AD4- +AD4- act quickly enough. +AD4- +AD4- So here is a quick attempt at the revert while also trying to keep +AD4- nvme working. Keith, Bart, Jianchao - does this looks reasonable +AD4- as a 4.18 band aid? +AD4- +AD4- http://git.infradead.org/users/hch/block.git/shortlog/refs/heads/blk-eh-revert Hello Christoph, A patch series that first reverts the following patches: +ACo- blk-mq: Fix timeout handling in case the timeout handler returns BLK+AF8-EH+AF8-DONE +ACo- block: fix timeout changes for legacy request drivers +ACo- blk-mq: don't time out requests again that are in the timeout handler +ACo- blk-mq: simplify blk+AF8-mq+AF8-rq+AF8-timed+AF8-out +ACo- block: remove BLK+AF8-EH+AF8-HANDLED +ACo- block: rename BLK+AF8-EH+AF8-NOT+AF8-HANDLED to BLK+AF8-EH+AF8-DONE +ACo- blk-mq: Remove generation seqeunce and next renames BLK+AF8-EH+AF8-NOT+AF8-HANDLED again into BLK+AF8-EH+AF8-DONE would probably be a lot easier to review. Thanks, Bart.