+5
−0
Loading
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>