+48
−45
Loading
In some situations we may get a completion of RDMA_RECV before completion of RDMA_SEND and this can lead to a bug described in #1292 To avoid such situations we must complete nvme_request only when we received both RMDA_RECV and RDMA_SEND completions. Add a new field to spdk_nvme_rdma_req to store response idx - it is used to complete nvme request when RDMA_RECV was completed before RDMA_SEND Repost RDMA_RECV when both RDMA_SEND and RDMA_RECV are completed Side changes: change type of spdk_nvme_rdma_req::id to uint16_t, repack struct nvme_rdma_qpair Fixes #1292 Change-Id: Ie51fbbba425acf37c306c5af031479bc9de08955 Signed-off-by:Alexey Marchuk <alexeymar@mellanox.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1770 Reviewed-by:
Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by:
Ben Walker <benjamin.walker@intel.com> Reviewed-by:
<dongx.yi@intel.com> Tested-by:
SPDK CI Jenkins <sys_sgci@intel.com>