Spdk/lib/nvme
Ziye Yang ceb07eb8f4 nvme/tcp: Fix send_cb and recv pdu function contention when there is R2T.
When using uring socket, we see following assert

nvme_tcp.c:1018: nvme_tcp_capsule_resp_hdr_handle:
Assertion `tcp_req->state == NVME_TCP_REQ_ACTIVE' failed.
Detailed info is in

https://ci.spdk.io/results/autotest-per-patch/builds/19205/archive/nvmf-tcp-vg-autotest/build.log

We face this issue, because there is also code execution ordering
between "sending callback function" and "pdu receving function".
We did not find it in physical machine testing, but finding it
in vagrant machine in CI.

Signed-off-by: Ziye Yang <ziye.yang@intel.com>
Change-Id: I5eb241d564c0fc42ce0601b7c85999a2550f0de3
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/3046
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Broadcom CI
Community-CI: Mellanox Build Bot
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
2020-06-29 09:18:13 +00:00
..
Makefile mk/nvme/nvmf: Add deps for RDMA libs 2020-06-18 07:28:04 +00:00
nvme_ctrlr_cmd.c lib/nvme: Get ctrlr simply from req->qpair->ctrlr at spdk_nvme_ctrlr_cmd_abort() 2020-06-24 08:19:43 +00:00
nvme_ctrlr_ocssd_cmd.c ocssd: hold lock when calling nvme_ctrlr_submit_admin_request 2019-02-15 21:27:58 +00:00
nvme_ctrlr.c lib/nvme: Fix aborting queued abort requests at controller reset or destruct 2020-06-24 08:19:43 +00:00
nvme_cuse.c lib/nvme: update io msg producers on ns manage 2020-06-05 09:01:44 +00:00
nvme_cuse.h lib/nvme: add RPC for interacting with CUSE devices 2019-10-24 23:43:59 +00:00
nvme_fabric.c lib/nvme: remove spdk prefix from internal headers. 2020-06-01 13:07:30 +00:00
nvme_internal.h lib/nvme: remove spdk prefix from internal headers. 2020-06-01 13:07:30 +00:00
nvme_io_msg.c lib/nvme: update io msg producers on ns manage 2020-06-05 09:01:44 +00:00
nvme_io_msg.h lib/nvme: update io msg producers on ns manage 2020-06-05 09:01:44 +00:00
nvme_ns_cmd.c lib: net, notify, nvme, rocksdb remove spdk_ prefix. 2020-05-21 09:19:00 +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 lib/nvme: remove spdk prefix from internal headers. 2020-06-01 13:07:30 +00:00
nvme_opal_internal.h nvme/opal: deprecate spdk_opal_supported() 2020-05-20 14:16:44 +00:00
nvme_opal.c lib/nvme: Remove inclusion of SPDK event library 2020-06-01 09:20:41 +00:00
nvme_pcie.c nvme/pcie: Dequeue request from outstanding list before calling completion 2020-06-24 08:19:43 +00:00
nvme_poll_group.c lib/nvme: switch poll group to use connect/disconnect semantics. 2020-04-22 19:06:26 +00:00
nvme_qpair.c lib/nvme: Set the parent to failure when submission of any children failed 2020-06-24 08:19:43 +00:00
nvme_quirks.c nvme: add a quirk for QEMU emulated NVMe SSD 2020-05-20 14:16:52 +00:00
nvme_rdma.c nvme/rdma: Inline nvme_rdma_req_put() 2020-06-24 08:19:43 +00:00
nvme_tcp.c nvme/tcp: Fix send_cb and recv pdu function contention when there is R2T. 2020-06-29 09:18:13 +00:00
nvme_transport.c lib/nvme: rdma poll group with shared cq. 2020-06-04 07:20:16 +00:00
nvme_uevent.c lib/nvme: remove spdk prefix from internal headers. 2020-06-01 13:07:30 +00:00
nvme_uevent.h lib/nvme: remove spdk prefix from internal headers. 2020-06-01 13:07:30 +00:00
nvme.c nvme: solve the spdk_nvme_connect compatibilty issue. 2020-06-05 09:04:11 +00:00
spdk_nvme.map nvme/cuse: add spdk_nvme_cuse_update api 2020-06-05 09:01:44 +00:00