Commit 2a806421 authored by Ben Walker's avatar Ben Walker Committed by Daniel Verkamp
Browse files

nvmf: Always use 2 sgl elements for recv



Admin commands technically don't allow inline data,
but there is nothing from preventing us from posting
a recv buffer that could handle inline data. It just
won't be used for incoming admin capsules.

Change-Id: I3e7e4406e01ab870654a166d52221c11fc0ac683
Signed-off-by: default avatarBen Walker <benjamin.walker@intel.com>
parent f7afa70b
Loading
Loading
Loading
Loading
+1 −10
Original line number Diff line number Diff line
@@ -381,19 +381,10 @@ nvmf_post_rdma_recv(struct spdk_nvmf_conn *conn,
	wr.wr_id = (uintptr_t)rdma_req;
	wr.next = NULL;
	wr.sg_list = &rdma_req->recv_sgl;
	wr.num_sge = 1;
	wr.num_sge = 2;

	nvmf_trace_ibv_sge(&rdma_req->recv_sgl);

	/* for I/O queues we add bb sgl for in-capsule data use */
	if (conn->type == CONN_TYPE_IOQ) {
		wr.num_sge = 2;
		SPDK_TRACELOG(SPDK_TRACE_DEBUG, "sgl2 local addr %p, length 0x%x, lkey 0x%x\n",
			      (void *)rdma_req->bb_sgl.addr,
			      rdma_req->bb_sgl.length,
			      rdma_req->bb_sgl.lkey);
	}

	rc = ibv_post_recv(conn->rdma.qp, &wr, &bad_wr);
	if (rc) {
		SPDK_ERRLOG("Failure posting rdma recv, rc = 0x%x\n", rc);