nvme/rdma: alloc req/rsp during construct (not connect)
This moves us towards not freeing and reallocating this memory if and when we reconnect the qpair. Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: Ic20d3c221442f6206d161760a8bfa7f9b8989d4c Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/453479 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
This commit is contained in:
parent
6949c71dca
commit
3a1b2ec262
@ -871,14 +871,6 @@ nvme_rdma_qpair_connect(struct nvme_rdma_qpair *rqpair)
|
||||
return -1;
|
||||
}
|
||||
|
||||
rc = nvme_rdma_alloc_reqs(rqpair);
|
||||
SPDK_DEBUGLOG(SPDK_LOG_NVME, "rc =%d\n", rc);
|
||||
if (rc) {
|
||||
SPDK_ERRLOG("Unable to allocate rqpair RDMA requests\n");
|
||||
return -1;
|
||||
}
|
||||
SPDK_DEBUGLOG(SPDK_LOG_NVME, "RDMA requests allocated\n");
|
||||
|
||||
rc = nvme_rdma_register_reqs(rqpair);
|
||||
SPDK_DEBUGLOG(SPDK_LOG_NVME, "rc =%d\n", rc);
|
||||
if (rc) {
|
||||
@ -887,14 +879,6 @@ nvme_rdma_qpair_connect(struct nvme_rdma_qpair *rqpair)
|
||||
}
|
||||
SPDK_DEBUGLOG(SPDK_LOG_NVME, "RDMA requests registered\n");
|
||||
|
||||
rc = nvme_rdma_alloc_rsps(rqpair);
|
||||
SPDK_DEBUGLOG(SPDK_LOG_NVME, "rc =%d\n", rc);
|
||||
if (rc < 0) {
|
||||
SPDK_ERRLOG("Unable to allocate rqpair RDMA responses\n");
|
||||
return -1;
|
||||
}
|
||||
SPDK_DEBUGLOG(SPDK_LOG_NVME, "RDMA responses allocated\n");
|
||||
|
||||
rc = nvme_rdma_register_rsps(rqpair);
|
||||
SPDK_DEBUGLOG(SPDK_LOG_NVME, "rc =%d\n", rc);
|
||||
if (rc < 0) {
|
||||
@ -1317,6 +1301,22 @@ nvme_rdma_ctrlr_create_qpair(struct spdk_nvme_ctrlr *ctrlr,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
rc = nvme_rdma_alloc_reqs(rqpair);
|
||||
SPDK_DEBUGLOG(SPDK_LOG_NVME, "rc =%d\n", rc);
|
||||
if (rc) {
|
||||
SPDK_ERRLOG("Unable to allocate rqpair RDMA requests\n");
|
||||
return NULL;
|
||||
}
|
||||
SPDK_DEBUGLOG(SPDK_LOG_NVME, "RDMA requests allocated\n");
|
||||
|
||||
rc = nvme_rdma_alloc_rsps(rqpair);
|
||||
SPDK_DEBUGLOG(SPDK_LOG_NVME, "rc =%d\n", rc);
|
||||
if (rc < 0) {
|
||||
SPDK_ERRLOG("Unable to allocate rqpair RDMA responses\n");
|
||||
return NULL;
|
||||
}
|
||||
SPDK_DEBUGLOG(SPDK_LOG_NVME, "RDMA responses allocated\n");
|
||||
|
||||
rc = nvme_rdma_qpair_connect(rqpair);
|
||||
if (rc < 0) {
|
||||
nvme_rdma_qpair_destroy(qpair);
|
||||
|
Loading…
x
Reference in New Issue
Block a user