diff options
author | Keith Busch <[email protected]> | 2022-01-05 09:05:18 -0800 |
---|---|---|
committer | Jens Axboe <[email protected]> | 2022-01-05 12:25:42 -0700 |
commit | 6bfec7992ec79b63fb07330ae97f3fb43120aa37 (patch) | |
tree | 4c60031a5cd7a7dcf157102474fddabc70ddb524 /include/linux/overflow.h | |
parent | d2528be7a8b09af9796a270debd14101a72bb552 (diff) |
nvme-pci: fix queue_rqs list splitting
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 <[email protected]>
Reviewed-by: Christoph Hellwig <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Jens Axboe <[email protected]>
Diffstat (limited to 'include/linux/overflow.h')
0 files changed, 0 insertions, 0 deletions