Spdk/lib/nvme
Vasuki Manikarnike 3fcee8ddcc lib/nvme: Do not submit queued aborts if adminq is in failed state.
With RDMA, the admin poller can experience a remote disconnect when
processing completions. The admin qpair will be disconnected to handle
this. The disconnect code path will manually complete queued aborts.
However, the completion callback for the abort will attempt to resubmit
other queued aborts from the queue, which will result in a very large
stack and can eventually cause a segfault.
The fix is to not resubmit queued aborts if the admin qpair is in any
kind of failed state.

Change-Id: I4a6f959232c8a1bd30c87ca50459014e556cbaa0
Signed-off-by: Vasuki Manikarnike <vasuki.manikarnike@hpe.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15114
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Reviewed-by: Michael Haeuptle <michaelhaeuptle@gmail.com>
2022-10-28 06:26:20 +00:00
..
Makefile vfio_user: remove CONFIG_VFIO_USER flag for client library 2022-09-29 19:42:56 +00:00
nvme_ctrlr_cmd.c lib/nvme: Do not submit queued aborts if adminq is in failed state. 2022-10-28 06:26:20 +00:00
nvme_ctrlr_ocssd_cmd.c Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
nvme_ctrlr.c nvme/tcp: Allow to choose SSL socket implementation 2022-09-14 07:44:53 +00:00
nvme_cuse.c check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
nvme_cuse.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
nvme_discovery.c Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
nvme_fabric.c nvme_fabrics: Lock mutext when prcessing set/get regs 2022-07-15 16:06:54 +00:00
nvme_internal.h nvme: add admin queue size quirk for Hyper-V 2022-09-01 08:31:46 +00:00
nvme_io_msg.c Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
nvme_io_msg.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
nvme_ns_cmd.c nvme: add support for verify command 2022-08-16 10:25:01 +00:00
nvme_ns_ocssd_cmd.c Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
nvme_ns.c check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
nvme_opal_internal.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
nvme_opal.c check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
nvme_pcie_common.c nvme_pcie_common: Move group right before using. 2022-09-01 08:26:34 +00:00
nvme_pcie_internal.h nvme: apply nvme_pcie_poll_group_get_stats to vfio-user 2022-07-22 06:43:35 +00:00
nvme_pcie.c nvme: add admin queue size quirk for Hyper-V 2022-09-01 08:31:46 +00:00
nvme_poll_group.c Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
nvme_qpair.c nvme: complete register_operations in the correct process 2022-08-18 10:09:55 +00:00
nvme_quirks.c nvme: add admin queue size quirk for Hyper-V 2022-09-01 08:31:46 +00:00
nvme_rdma.c nvme/rdma: Inline nvme_rdma_calloc/free 2022-09-20 20:27:52 +00:00
nvme_tcp.c nvme/tcp: add max_completion exit condition to loop inside read_pdu 2022-10-26 07:35:21 +00:00
nvme_transport.c nvme: Polls only the qpair if ctrlr is not fabrics when connecting synchronously 2022-09-05 12:50:00 +00:00
nvme_vfio_user.c lib/nvme/vfio: destruct ctrlr in failed cases 2022-10-17 12:52:55 +00:00
nvme_zns.c Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
nvme.c nvme/tcp: Allow to choose SSL socket implementation 2022-09-14 07:44:53 +00:00
spdk_nvme.map nvme: add spdk_nvme_ctrlr_disable_read_changed_ns_list_log_page() 2022-08-25 07:31:44 +00:00