+21
−0
+23
−0
Loading
This patch fixes qpair cleanup with rdma_req in the pending_rdma_read_queue. 1. When a WC with error is reaped, we should remove the request from the queue if there are remaining data WRs 2. When qpair is in error state and a request in the state RDMA_REQUEST_STATE_TRANSFERRING_HOST_TO_CONTROLLER is being processed, we should check if it has remaining data WRs and remove it from the queue 3. We should not process requests in the pending_rdma_read_queue (nvmf_rdma_qpair_process_pending function) which are are not in the RDMA_REQUEST_STATE_TRANSFERRING_HOST_TO_CONTROLLER state, e.g. a request might be transferring data over the network, and qpair might be in error state and we could complete such request in nvmf_rdma_qpair_process_pending and then reap completion for this request and complete it again. Also, when we are handling WC with error for DATA request, we must call nvmf_rdma_request_process for the req in COMPLETED state to release resources and decrement qpair's counters Signed-off-by:Alexey Marchuk <alexeymar@nvidia.com> Change-Id: Ifc26c3e9bd0e006aa8cc35bf6ae5fd913f452538 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24477 Tested-by:
SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by:
Jim Harris <jim.harris@samsung.com> Reviewed-by:
Konrad Sztyber <konrad.sztyber@intel.com> Community-CI: Mellanox Build Bot