nvmf: fix the rqpair->current_send_depth
If rsp->status.sc != SUCCESS and xfer == DATA_CONTROLLER_TO_HOST, We would not send the data WR, so clean the num_outstanding_data_wr. Fix #728 Change-Id: I32259788e495ed76f8f02a9d871bd56356d93dc4 Signed-off-by: JinYu <jin.yu@intel.com> Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/450726 Reviewed-by: Ziye Yang <ziye.yang@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Seth Howell <seth.howell5141@gmail.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
This commit is contained in:
parent
b62dca9308
commit
c7395a1171
@ -1045,6 +1045,7 @@ static int
|
||||
request_transfer_out(struct spdk_nvmf_request *req, int *data_posted)
|
||||
{
|
||||
int rc;
|
||||
int num_outstanding_data_wr = 0;
|
||||
struct spdk_nvmf_rdma_request *rdma_req;
|
||||
struct spdk_nvmf_qpair *qpair;
|
||||
struct spdk_nvmf_rdma_qpair *rqpair;
|
||||
@ -1096,6 +1097,7 @@ request_transfer_out(struct spdk_nvmf_request *req, int *data_posted)
|
||||
SPDK_DEBUGLOG(SPDK_LOG_RDMA, "RDMA WRITE POSTED. Request: %p Connection: %p\n", req, qpair);
|
||||
send_wr = &rdma_req->data.wr;
|
||||
*data_posted = 1;
|
||||
num_outstanding_data_wr = rdma_req->num_outstanding_data_wr;
|
||||
}
|
||||
|
||||
SPDK_DEBUGLOG(SPDK_LOG_RDMA, "RDMA SEND POSTED. Request: %p Connection: %p\n", req, qpair);
|
||||
@ -1107,7 +1109,7 @@ request_transfer_out(struct spdk_nvmf_request *req, int *data_posted)
|
||||
return rc;
|
||||
}
|
||||
/* +1 for the rsp wr */
|
||||
rqpair->current_send_depth += rdma_req->num_outstanding_data_wr + 1;
|
||||
rqpair->current_send_depth += num_outstanding_data_wr + 1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user