Spdk/lib/nvmf
Ziye Yang e9be9df45f nvmf/tcp: Fix the potential issue of connection construction.
When we use async writev (e.g., lib io_uring), we find that
the callback of writev is executed after recving the new
data from the initiator, and this is possible.

For example, if the NVMe-oF TCP target receives the ic_req from the
initiator, and sendout the ic_resp, the state  of tqpair will change from
invalid to running until the callback is executed. And the data of ic_resp
is already sent to the initiator, and we receive the new command later. However,
we may still not get the call back function executed
(i.e, spdk_nvmf_tcp_send_icresp_complete). And it is possible
for using lib io_uring, I faced this issue when using lib uring.

And this patch can fix this issue.

Signed-off-by: Ziye Yang <ziye.yang@intel.com>
Change-Id: I7f4332522866d475e106ac6d36a8ec715133f0dc
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/472770
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Community-CI: Broadcom SPDK FC-NVMe CI <spdk-ci.pdl@broadcom.com>
2019-11-07 23:08:17 +00:00
..
ctrlr_bdev.c nvme: allow setting of completion queue CDW0 2019-10-24 18:02:38 +00:00
ctrlr_discovery.c nvmf: don't keep a global discovery log page. 2019-09-03 00:30:59 +00:00
ctrlr.c nvmf/ctrlr: Disable in-capsule data transfer for RDMA controllers when dif_insert_or_strip is enabled 2019-10-11 15:36:19 +00:00
fc_ls.c nvmf: Add context parameter to new_qpair() callback 2019-10-17 16:29:36 +00:00
fc.c nvmf: Add context parameter to new_qpair() callback 2019-10-17 16:29:36 +00:00
Makefile lib/nvmf: extract RPCs from the subsystem directory 2019-08-21 17:20:28 +00:00
nvmf_fc.h nvmf: Add context parameter to new_qpair() callback 2019-10-17 16:29:36 +00:00
nvmf_internal.h nvmf/fc: Add listen address support in FC transport 2019-10-17 16:29:04 +00:00
nvmf_rpc.c lib/nvmf: add the nvmf_get_targets rpc. 2019-09-26 15:21:44 +00:00
nvmf.c nvmf: Add context parameter to new_qpair() callback 2019-10-17 16:29:36 +00:00
rdma.c rdma: Use WRs chaining when DIF is enabled 2019-10-18 17:28:52 +00:00
subsystem.c nvmf/fc: Add listen address support in FC transport 2019-10-17 16:29:04 +00:00
tcp.c nvmf/tcp: Fix the potential issue of connection construction. 2019-11-07 23:08:17 +00:00
transport.c nvmf: Add context parameter to new_qpair() callback 2019-10-17 16:29:36 +00:00
transport.h nvmf: Add context parameter to new_qpair() callback 2019-10-17 16:29:36 +00:00