[PATCH 4/9] nvme: do not restart the request timeout if we're resetting the controller
Christoph Hellwig
hch at lst.de
Thu Oct 22 09:30:53 PDT 2015
On Thu, Oct 22, 2015 at 04:27:03PM +0000, Busch, Keith wrote:
> On Thu, Oct 22, 2015 at 02:03:36PM +0200, Christoph Hellwig wrote:
> > Otherwise we're never going to complete a command when it is restarted just
> > after we completed all other outstanding commands in nvme_clear_queue.
>
> Returning BLK_EH_HANDLED to block mq's timeout handler has the block layer
> complete the request. However, the reset work is going to force cancel
> the request anyway, so the same command will be completed twice. That
> can't be right ... right?
No, it's not going to complete it if it already was completed, check the
logic around the REQ_ATOM_COMPLETE flag.
More information about the Linux-nvme
mailing list