[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