From 838c45c856ade923dd47d7f398d1aea2920485b1 Mon Sep 17 00:00:00 2001 From: Alexey Marchuk Date: Thu, 3 Oct 2019 06:01:59 +0000 Subject: [PATCH] rdma: Move rdma WR setup to spdk_nvmf_rdma_request_fill_iovs This change helps to avoid passing the number of additional WRs to spdk_nvmf_rdma_request_fill_iovs in the following commits and minimizes changes in spdk_nvmf_rdma_request_parse_sgl Change-Id: Id530d0996af661051d94930e3f776bad2dcc5771 Signed-off-by: Alexey Marchuk Signed-off-by: Sasha Kotchubievsky Signed-off-by: Evgenii Kochetov Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/470473 Tested-by: SPDK CI Jenkins Reviewed-by: Ben Walker Reviewed-by: Shuhei Matsumoto --- lib/nvmf/rdma.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/nvmf/rdma.c b/lib/nvmf/rdma.c index 3fbabe73c..e7ca99ff0 100644 --- a/lib/nvmf/rdma.c +++ b/lib/nvmf/rdma.c @@ -1680,6 +1680,9 @@ spdk_nvmf_rdma_request_fill_iovs(struct spdk_nvmf_rdma_transport *rtransport, rqpair = SPDK_CONTAINEROF(req->qpair, struct spdk_nvmf_rdma_qpair, qpair); rgroup = rqpair->poller->group; + /* rdma wr specifics */ + nvmf_rdma_setup_request(rdma_req); + rc = spdk_nvmf_request_get_buffers(req, &rgroup->group, &rtransport->transport, length); if (rc != 0) { @@ -1695,6 +1698,9 @@ spdk_nvmf_rdma_request_fill_iovs(struct spdk_nvmf_rdma_transport *rtransport, goto err_exit; } + /* set the number of outstanding data WRs for this request. */ + rdma_req->num_outstanding_data_wr = 1; + return rc; err_exit: @@ -1861,12 +1867,6 @@ spdk_nvmf_rdma_request_parse_sgl(struct spdk_nvmf_rdma_transport *rtransport, /* backward compatible */ req->data = req->iov[0].iov_base; - /* rdma wr specifics */ - nvmf_rdma_setup_request(rdma_req); - - /* set the number of outstanding data WRs for this request. */ - rdma_req->num_outstanding_data_wr = 1; - SPDK_DEBUGLOG(SPDK_LOG_RDMA, "Request %p took %d buffer/s from central pool\n", rdma_req, req->iovcnt);