Commit 1399a42b authored by Seth Howell's avatar Seth Howell Committed by Tomasz Zawadzki
Browse files

nvme_rdma: put requests when ibv_post_send fails.



Leaving these on the stack outstanding list can cause unnecessary
buildup. If we fail to post the request to ibv, then the upper layer
request will be freed immediately for reuse, but we will keep that
request in the outstanding queue at the RDMA layer.

Change-Id: Ib422dc9fcb50344ce7c01749f3e20ea9310fd5cb
Signed-off-by: default avatarSeth Howell <seth.howell@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/470255


Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Reviewed-by: default avatarPaul Luse <paul.e.luse@intel.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
Reviewed-by: default avatarAlexey Marchuk <alexeymar@mellanox.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
parent 32e3e269
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -1775,6 +1775,7 @@ nvme_rdma_qpair_submit_request(struct spdk_nvme_qpair *qpair,
	rc = ibv_post_send(rqpair->cm_id->qp, wr, &bad_wr);
	if (rc) {
		SPDK_ERRLOG("Failure posting rdma send for NVMf completion: %d (%s)\n", rc, spdk_strerror(rc));
		nvme_rdma_req_put(rqpair, rdma_req);
	}

	return rc;