On Fri, Jul 27, 2018 at 05:14:18PM +0000, Bart Van Assche wrote: > On Fri, 2018-07-27 at 11:04 -0600, Keith Busch wrote: > > On Fri, Jul 27, 2018 at 04:59:34PM +0000, Bart Van Assche wrote: > > > On Fri, 2018-07-27 at 10:57 -0600, Keith Busch wrote: > > > > You skip that code if the driver returns BLK_EH_DONT_RESET_TIMER. > > > > > > How about applying the following patch on top of this series? > > > > That works for me if you, but it breaks scsi again when > > scmd_eh_abort_handler completes the command a second time. > > How about introducing a new request queue flag that chooses between the > behavior with or without the patch in my previous e-mail? I don't think that > it is possible to come up with a single implementation that covers the needs > of NVMe and SCSI without introducing such a flag. If a SCSI request times out > then request ownership is transferred from the LLD to the error handler. For > the NVMe driver however there is no such transfer of ownership. Instead of PATCH 1/5, how about creating a new timeout return code like "BLK_EH_DONT_COMPLETE"?