nvmf/rdma: Return rc simply when spdk_nvmf_request_get_buffers/_multi fails
spdk_nvmf_request_get_buffers()/_multi() may return not only -ENOMEM but also -EINVAL, but spdk_nvmf_rdma_request_fill_iovs() and nvmf_rdma_request_fill_iovs_multi_sgl() had returned -ENOMEM regardless of the actual return value. Fix them in this patch. Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Change-Id: Ic19593ffa9c0731f63d198d4ae16feb3bb47f57c Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/469378 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Broadcom SPDK FC-NVMe CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Alexey Marchuk <alexeymar@mellanox.com> Reviewed-by: Seth Howell <seth.howell@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com>
This commit is contained in:
parent
0462157650
commit
fda0e558a1
@ -1669,14 +1669,15 @@ spdk_nvmf_rdma_request_fill_iovs(struct spdk_nvmf_rdma_transport *rtransport,
|
||||
struct spdk_nvmf_rdma_poll_group *rgroup;
|
||||
struct spdk_nvmf_request *req = &rdma_req->req;
|
||||
struct ibv_send_wr *wr = &rdma_req->data.wr;
|
||||
int rc = 0;
|
||||
int rc;
|
||||
|
||||
rqpair = SPDK_CONTAINEROF(req->qpair, struct spdk_nvmf_rdma_qpair, qpair);
|
||||
rgroup = rqpair->poller->group;
|
||||
|
||||
if (spdk_nvmf_request_get_buffers(req, &rgroup->group, &rtransport->transport,
|
||||
length)) {
|
||||
return -ENOMEM;
|
||||
rc = spdk_nvmf_request_get_buffers(req, &rgroup->group, &rtransport->transport,
|
||||
length);
|
||||
if (rc != 0) {
|
||||
return rc;
|
||||
}
|
||||
|
||||
assert(req->iovcnt <= rqpair->max_send_sge);
|
||||
@ -1737,7 +1738,7 @@ nvmf_rdma_request_fill_iovs_multi_sgl(struct spdk_nvmf_rdma_transport *rtranspor
|
||||
lengths, num_sgl_descriptors);
|
||||
if (rc != 0) {
|
||||
nvmf_rdma_request_free_data(rdma_req, rtransport);
|
||||
return -ENOMEM;
|
||||
return rc;
|
||||
}
|
||||
|
||||
/* The first WR must always be the embedded data WR. This is how we unwind them later. */
|
||||
|
Loading…
Reference in New Issue
Block a user