[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