numam-spdk/lib/nvme
Jim Harris 635d0cbe75 nvme: allocate extra request for fabrics connect
With async connect, we need to avoid the case
where the initiator is sending the icreq, and
meanwhile the application submits enough I/O
such that the request objects are exhausted, leaving
none for the FABRICS/CONNECT command that we need
to send after the icreq is done.

So allocate an extra request, and then use it
when sending the FABRICS/CONNECT command, rather
than trying to pull one from the qpair's STAILQ.

Fixes issue #2371.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: If42a3fbb3fd9d863ee48cf5cae75a9ba1754c349
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11515
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
2022-02-14 15:29:39 +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: disconnect ADMIN queue pair when destruct controller 2022-01-20 15:46:36 +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: restart discovery log when genctr changes 2022-01-12 08:20:23 +00:00
nvme_fabric.c nvme: allocate extra request for fabrics connect 2022-02-14 15:29:39 +00:00
nvme_internal.h nvme: allocate extra request for fabrics connect 2022-02-14 15:29:39 +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_pcie: Use dummy stats after removing qpar from poll group 2022-01-19 08:44:09 +00:00
nvme_pcie_internal.h nvme: add spdk_nvme_ctrlr_prepare_for_reset() 2021-09-07 07:33:41 +00:00
nvme_pcie.c lib/nvme: only active process to operate the unmap operation 2022-01-24 20:12:51 +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: allocate extra request for fabrics connect 2022-02-14 15:29:39 +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: Fix submission queue overflow 2022-02-10 15:22:08 +00:00
nvme_tcp.c nvme: Fix submission queue overflow 2022-02-10 15:22:08 +00:00
nvme_transport.c nvme: Assume poll_group_disconnect_qpair() succeeds if qpair is in connected_qpairs 2022-01-19 08:44:09 +00:00
nvme_vfio_user.c nvme/vfio-user: use the common request submission function 2021-06-09 07:21:31 +00:00
nvme_zns.c lib/nvme: NVMe ZNS - Zone Descriptor Extension support 2021-09-16 07:21:40 +00:00
nvme.c spelling: lib 2021-12-03 08:12:55 +00:00
spdk_nvme.map nvme: add spdk_nvme_ctrlr_get_discovery_log_page API 2021-12-20 18:12:41 +00:00