[PATCHv3 4/4] nvme-pci: fix queue_rqs list splitting

Christoph Hellwig hch at lst.de
Wed Jan 5 10:18:56 PST 2022


On Wed, Jan 05, 2022 at 09:05:18AM -0800, Keith Busch wrote:
> If command prep fails, current handling will orphan subsequent requests
> in the list. Consider a simple example:
> 
>   rqlist = [ 1 -> 2 ]
> 
> When prep for request '1' fails, it will be appended to the
> 'requeue_list', leaving request '2' disconnected from the original
> rqlist and no longer tracked. Meanwhile, rqlist is still pointing to the
> failed request '1' and will attempt to submit the unprepped command.
> 
> Fix this by updating the rqlist accordingly using the request list
> helper functions.
> 
> Fixes: d62cbcf62f2f ("nvme: add support for mq_ops->queue_rqs()")
> Signed-off-by: Keith Busch <kbusch at kernel.org>

Looks good,

Reviewed-by: Christoph Hellwig <hch at lst.de>



More information about the Linux-nvme mailing list