Spdk/lib/nvme
Shuhei Matsumoto dbe7e74cee nvme: Change nvme_qpair_abort_queued_reqs() to set SC_ABORTED_SQ_DELETION
Transport specific qpair_abort_reqs() set SC to SC_ABORTED_SQ_DELETION.
However, nvme_qpair_abort_queued_reqs() set SC to SC_ABORTED_BY_REQUEST
even if its call is not requested by the upper layer.

Change nvme_qpair_abort_queued_reqs() to set SC to SC_ABORTED_SQ_DELETION
for consistency.

nvme_qpair_abort_queued_reqs() is used to abort queued requests that
were sent while adminq was connecting. SC_ABORTED_SQ_DELETION will not
be so bad even for the case.

This change is required for the NVMe bdev module to be resilient for I/O
error. The NVMe bdev module does not retry I/O if SC is
SC_ABORTED_BY_REQUEST.

SC is set to SC_INTERNAL_DEVICE_ERROR if a request is failed to submit
to qpair by a generic qpair layer. We can change it to
SC_ABORTED_SQ_DELETION as well but we keep this for now.
SC_INTERNAL_DEVICE_ERROR is also retriable for the NVMe bdev module.

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: I7d8d5e97b222fe9275afc4fed024c1654c9579a2
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12121
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
2022-04-22 09:44:57 +00:00
..
Makefile so_ver: increase all major versions 2022-01-31 15:29:56 +00:00
nvme_ctrlr_cmd.c spelling: lib 2021-12-03 08:12:55 +00:00
nvme_ctrlr_ocssd_cmd.c nvme: Do not track a separate active namespace list 2022-01-14 08:35:10 +00:00
nvme_ctrlr.c nvme_ctrlr.c: Add error logs 2022-03-24 09:57:17 +00:00
nvme_cuse.c nvme: Add Check for fuse request size 2022-01-14 11:10:13 +00:00
nvme_cuse.h lib/nvme: add RPC for interacting with CUSE devices 2019-10-24 23:43:59 +00:00
nvme_discovery.c nvme: read full discovery page after reading header 2022-03-28 17:10:04 +00:00
nvme_fabric.c nvme: allocate extra request for fabrics connect 2022-02-14 15:29:39 +00:00
nvme_internal.h nvme: Call ctrlr_disconnect_done() after qpair_process_comletions() returns -ENXIO 2022-03-21 10:49:11 +00:00
nvme_io_msg.c nvme: only process io_msg in primary process 2021-04-22 01:06:02 +00:00
nvme_io_msg.h spelling: lib 2021-12-03 08:12:55 +00:00
nvme_ns_cmd.c nvme: Add functions spdk_nvme_ns_cmd_readv/writev_ext 2021-08-20 07:26:10 +00:00
nvme_ns_ocssd_cmd.c nvme: save separate metadata size to nvme request 2020-04-02 07:02:38 +00:00
nvme_ns.c nvme: Remove nvme_ns_update 2021-12-20 08:49:41 +00:00
nvme_opal_internal.h nvme/opal: deprecate spdk_opal_supported() 2020-05-20 14:16:44 +00:00
nvme_opal.c spelling: lib 2021-12-03 08:12:55 +00:00
nvme_pcie_common.c nvme: poll_group_process_completions() returns -ENXIO if any qpair failed 2022-04-18 18:35:29 +00:00
nvme_pcie_internal.h nvme/pcie: increase min admin queue size to 256 2022-04-19 08:18:34 +00:00
nvme_pcie.c nvme/pcie: increase min admin queue size to 256 2022-04-19 08:18:34 +00:00
nvme_poll_group.c nvme: Add functions to get/free poll group statistics 2021-04-13 21:30:52 +00:00
nvme_qpair.c nvme: Change nvme_qpair_abort_queued_reqs() to set SC_ABORTED_SQ_DELETION 2022-04-22 09:44:57 +00:00
nvme_quirks.c nvme: add DELAY_BEFORE_INIT quirk to Intel 0x0A54 SSD 2021-11-15 11:59:14 +00:00
nvme_rdma.c nvme_rdma: Destroy qpair after qpair is actually disconnected 2022-04-18 18:35:29 +00:00
nvme_tcp.c nvme_tcp: set transport_ack_timeout to ack_timeout 2022-04-20 08:21:42 +00:00
nvme_transport.c nvme: Caller polls qpair until disconnected if async connect failed 2022-03-21 10:49:11 +00:00
nvme_vfio_user.c nvme/pcie: increase min admin queue size to 256 2022-04-19 08:18:34 +00:00
nvme_zns.c lib/nvme: NVMe ZNS - Zone Descriptor Extension support 2021-09-16 07:21:40 +00:00
nvme.c nvme: Prioritize user provided trstring for transport lookup 2022-03-31 10:31:20 +00:00
spdk_nvme.map nvme: add spdk_nvme_ctrlr_get_discovery_log_page API 2021-12-20 18:12:41 +00:00