From 68ee93aac795683cff7e2f3a0ea7e3f6fdfcace6 Mon Sep 17 00:00:00 2001 From: Shuhei Matsumoto Date: Thu, 26 Sep 2019 18:52:09 +0900 Subject: [PATCH] nvmf/rdma: Pass pointer to iovec directly to nvmf_rdma_fill_wr_sge() nvmf_rdma_fill_wr_sge() gets pointer to iovec at its head, but nvmf_rdma_fill_wr_sgl() can pass it to nvmf_rdma_fill_wr_sge() simply. Signed-off-by: Shuhei Matsumoto Change-Id: I16176d5d36ca9daf57640bfcbc49dfbf997afe54 Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/469639 Tested-by: SPDK CI Jenkins Community-CI: Broadcom SPDK FC-NVMe CI Reviewed-by: Jim Harris Reviewed-by: Alexey Marchuk Reviewed-by: Ben Walker --- lib/nvmf/rdma.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/lib/nvmf/rdma.c b/lib/nvmf/rdma.c index d1b2977bc..ec2ca4cfd 100644 --- a/lib/nvmf/rdma.c +++ b/lib/nvmf/rdma.c @@ -1560,12 +1560,10 @@ nvmf_rdma_get_lkey(struct spdk_nvmf_rdma_device *device, struct iovec *iov, static bool nvmf_rdma_fill_wr_sge(struct spdk_nvmf_rdma_device *device, - struct spdk_nvmf_request *req, struct ibv_send_wr *wr, - int iovpos, + struct iovec *iov, struct ibv_send_wr *wr, uint32_t *_remaining_data_block, uint32_t *_offset, const struct spdk_dif_ctx *dif_ctx) { - struct iovec *iov = &req->iov[iovpos]; struct ibv_sge *sg_ele = &wr->sg_list[wr->num_sge]; uint32_t lkey = 0; uint32_t remaining, data_block_size, md_size, sge_len; @@ -1637,7 +1635,7 @@ nvmf_rdma_fill_wr_sgl(struct spdk_nvmf_rdma_poll_group *rgroup, wr->num_sge = 0; while (length && wr->num_sge < SPDK_NVMF_MAX_SGL_ENTRIES) { - while (spdk_unlikely(!nvmf_rdma_fill_wr_sge(device, req, wr, rdma_req->iovpos, + while (spdk_unlikely(!nvmf_rdma_fill_wr_sge(device, &req->iov[rdma_req->iovpos], wr, &remaining_data_block, &offset, dif_ctx))) { if (nvmf_rdma_replace_buffer(rgroup, &req->buffers[rdma_req->iovpos]) == -ENOMEM) { return -ENOMEM;