[PATCHv3 0/6] Fixup return value for nvme_submit_sync_cmd()
Hannes Reinecke
hare at suse.de
Thu Feb 25 05:55:21 EST 2021
here are some small patches for fixing up the return value of nvme_submit_sync_cmd().
As Keith correctly noted, nvme_submit_sync_cmd() should be returning
an error if the command could not be performed; however, currently
only pci does that.
So we need to fix up nvme_cancel_request() to return an -EINTR
on any pending sync commands during reset.
And modify nvme-fc to return the same nvme status after timing out
or cancelling requests.
Plus, finally, adding a new flag 'NVME_REQ_TIMEOUT' to indicate
that a command had been aborted due to a timeout, and translates that
back into -ETIMEDOUT as a return code for nvme_submit_sync_cmd().
As usual, comments and reviews are welcome.
Changes to v2:
- Include reviews from Sagi
- Simplify error logic from nvme_validate_ns()
Changes to v1:
- Include reviews from Daniel
- Include changes for nvme-fc to return the same status as the
other transports
Hannes Reinecke (6):
nvme: simplify error logic in nvme_validate_ns()
nvme: add NVME_REQ_CANCELLED flag in nvme_cancel_request()
nvme-fc: set NVME_REQ_CANCELLED in nvme_fc_terminate_exchange()
nvme-fc: return NVME_SC_HOST_ABORTED_CMD when a command has been
aborted
nvme: return NVME_SC_ABORT_QUEUE for cancelled commands
nvme: return -ETIMEDOUT in nvme_submit_sync_cmd()
drivers/nvme/host/core.c | 11 +++++++----
drivers/nvme/host/fc.c | 11 ++++++++---
drivers/nvme/host/nvme.h | 1 +
drivers/nvme/host/rdma.c | 1 +
drivers/nvme/host/tcp.c | 1 +
5 files changed, 18 insertions(+), 7 deletions(-)
--
2.29.2
More information about the Linux-nvme
mailing list