Spdk/lib/nvme
Shuhei Matsumoto 8bc0582f6e nvme: The upper layer controls DNR dynamically for I/O aborts
When I/O error resiliency is supported, most DNR parameters for internal
APIs were cleared. However, for some cases, especially for the reset I/O
command, the upper layer wants the NVMe driver to return I/O errors
immediately without retry even if the upper layer enables I/O error retry.

To satisfy such requirement, add an abort_dnr variable to the spdk_nvme_qpair
structure and internal abort APIs use the abort_dnr variable. A public API
spdk_nvme_qpair_set_abort_dnr() can change the abort_dnr variable dynamically.

The public spdk_nvme_transport_ops structure is not changed to avoid
premature changes.

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: I486a1b3ad8411f9fa261a2bf3a45aea9da292e9c
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/17099
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2023-05-09 17:58:11 +08:00
..
Makefile so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
nvme_ctrlr_cmd.c update Intel copyright notices 2022-11-10 08:28:53 +00:00
nvme_ctrlr_ocssd_cmd.c update Intel copyright notices 2022-11-10 08:28:53 +00:00
nvme_ctrlr.c nvme: The upper layer controls DNR dynamically for I/O aborts 2023-05-09 17:58:11 +08:00
nvme_cuse.c build: compile API functions with missing deps 2022-11-18 08:40:05 +00:00
nvme_cuse.h update Intel copyright notices 2022-11-10 08:28:53 +00:00
nvme_discovery.c update Intel copyright notices 2022-11-10 08:28:53 +00:00
nvme_fabric.c update Intel copyright notices 2022-11-10 08:28:53 +00:00
nvme_internal.h nvme: The upper layer controls DNR dynamically for I/O aborts 2023-05-09 17:58:11 +08:00
nvme_io_msg.c update Intel copyright notices 2022-11-10 08:28:53 +00:00
nvme_io_msg.h update Intel copyright notices 2022-11-10 08:28:53 +00:00
nvme_ns_cmd.c lib/nvme: include dword 13 field to extendable command structure 2023-03-09 23:22:41 +00:00
nvme_ns_ocssd_cmd.c update Intel copyright notices 2022-11-10 08:28:53 +00:00
nvme_ns.c nvme: support 64 LBA formats for NVM and ZNS command set 2023-02-15 10:37:56 +00:00
nvme_opal_internal.h update Intel copyright notices 2022-11-10 08:28:53 +00:00
nvme_opal.c misc: Fix spelling mistakes 2022-12-09 08:16:18 +00:00
nvme_pcie_common.c nvme_tcp: fix memory leak when resetting controllor 2023-05-09 17:58:11 +08:00
nvme_pcie_internal.h update Intel copyright notices 2022-11-10 08:28:53 +00:00
nvme_pcie.c lib/nvme: restore spdk_nvme_ctrlr_get_registers 2023-03-31 17:41:35 +00:00
nvme_poll_group.c update Intel copyright notices 2022-11-10 08:28:53 +00:00
nvme_qpair.c nvme: The upper layer controls DNR dynamically for I/O aborts 2023-05-09 17:58:11 +08:00
nvme_quirks.c update Intel copyright notices 2022-11-10 08:28:53 +00:00
nvme_rdma.c lib/nvme_rdma: return negated error from nvme_rdma_parse_addr 2023-03-10 16:44:37 +00:00
nvme_tcp.c nvme_tcp: fix memory leak when resetting controllor 2023-05-09 17:58:11 +08:00
nvme_transport.c nvme: The upper layer controls DNR dynamically for I/O aborts 2023-05-09 17:58:11 +08:00
nvme_vfio_user.c lib/nvme: restore spdk_nvme_ctrlr_get_registers 2023-03-31 17:41:35 +00:00
nvme_zns.c nvme: support 64 LBA formats for NVM and ZNS command set 2023-02-15 10:37:56 +00:00
nvme.c update Intel copyright notices 2022-11-10 08:28:53 +00:00
spdk_nvme.map nvme: The upper layer controls DNR dynamically for I/O aborts 2023-05-09 17:58:11 +08:00