nvme_rdma: Pass pd instead of cm_id to nvme_rdma_reg_mr()
The following patches will create and use ibv_context and pd explicitly instead of using default ibv_context and pd created by rdmacm. As a preparation, pass pd instead of cm_id to nvme_rdma_reg_mr(). Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Signed-off-by: Denis Nagorny <denisn@nvidia.com> Signed-off-by: Evgeniy Kochetov <evgeniik@nvidia.com> Change-Id: Ifdcd18ed363b8ba4a23a920bf3559237e38821c6 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/13599 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com>
This commit is contained in:
parent
89c1e5bfc0
commit
a3a51453b8
@ -901,17 +901,17 @@ nvme_rdma_post_recv(struct nvme_rdma_qpair *rqpair, uint16_t rsp_idx)
|
||||
}
|
||||
|
||||
static int
|
||||
nvme_rdma_reg_mr(struct rdma_cm_id *cm_id, union nvme_rdma_mr *mr, void *mem, size_t length)
|
||||
nvme_rdma_reg_mr(struct ibv_pd *pd, union nvme_rdma_mr *mr, void *mem, size_t length)
|
||||
{
|
||||
if (!g_nvme_hooks.get_rkey) {
|
||||
mr->mr = rdma_reg_msgs(cm_id, mem, length);
|
||||
mr->mr = ibv_reg_mr(pd, mem, length, IBV_ACCESS_LOCAL_WRITE);
|
||||
if (mr->mr == NULL) {
|
||||
SPDK_ERRLOG("Unable to register mr: %s (%d)\n",
|
||||
spdk_strerror(errno), errno);
|
||||
return -1;
|
||||
}
|
||||
} else {
|
||||
mr->key = g_nvme_hooks.get_rkey(cm_id->pd, mem, length);
|
||||
mr->key = g_nvme_hooks.get_rkey(pd, mem, length);
|
||||
}
|
||||
|
||||
return 0;
|
||||
@ -1000,7 +1000,7 @@ nvme_rdma_register_rsps(struct nvme_rdma_qpair *rqpair)
|
||||
int rc;
|
||||
uint32_t lkey;
|
||||
|
||||
rc = nvme_rdma_reg_mr(rqpair->cm_id, &rqpair->rsp_mr,
|
||||
rc = nvme_rdma_reg_mr(rqpair->cm_id->pd, &rqpair->rsp_mr,
|
||||
rqpair->rsps, rqpair->num_entries * sizeof(*rqpair->rsps));
|
||||
|
||||
if (rc < 0) {
|
||||
@ -1121,7 +1121,7 @@ nvme_rdma_register_reqs(struct nvme_rdma_qpair *rqpair)
|
||||
int rc;
|
||||
uint32_t lkey;
|
||||
|
||||
rc = nvme_rdma_reg_mr(rqpair->cm_id, &rqpair->cmd_mr,
|
||||
rc = nvme_rdma_reg_mr(rqpair->cm_id->pd, &rqpair->cmd_mr,
|
||||
rqpair->cmds, rqpair->num_entries * sizeof(*rqpair->cmds));
|
||||
|
||||
if (rc < 0) {
|
||||
|
Loading…
Reference in New Issue
Block a user