[PATCH 3/3] nvme: allocate the keep alive request using BLK_MQ_REQ_NOWAIT

Daniel Wagner dwagner at suse.de
Wed Mar 3 21:00:12 GMT 2021


On Wed, Mar 03, 2021 at 01:53:04PM +0100, Christoph Hellwig wrote:
> To avoid an error recovery deadlock where the keep alive work is waiting
> for a request and thus can't be flushed to make progress for tearing down
> the controller.  Also print the error code returned from
> blk_mq_alloc_request to help debugging any future issues in this code.
> 
> Based on an earlier patch from Hannes Reinecke <hare at suse.de>.
> 
> Signed-off-by: Christoph Hellwig <hch at lst.de>

Reviewed-by: Daniel Wagner <dwagner at suse.de>

And for what's worth, our customer tested this. I've done the same patch
during debugging. It fixes the deadlock as Hannes reported.



More information about the Linux-nvme mailing list