Commit b4778363 authored by Shuhei Matsumoto's avatar Shuhei Matsumoto Committed by Jim Harris
Browse files

nvmf/tcp: Pass nvmf_request to nvmf_tcp_req_fill_buffers



Most variables related with I/O buffer are in struct spdk_nvmf_request
now. So we can pass nvmf_request instead of nvmf_tcp_req to
nvmf_tcp_req_fill_buffers and do it in this patch.

Signed-off-by: default avatarShuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: I00eff578a98891e99fcb9a3aafa3d99126d6f1c1
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/466089


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
Reviewed-by: default avatarChangpeng Liu <changpeng.liu@intel.com>
Reviewed-by: default avatarBroadcom SPDK FC-NVMe CI <spdk-ci.pdl@broadcom.com>
parent 90a2be20
Loading
Loading
Loading
Loading
+12 −12
Original line number Diff line number Diff line
@@ -2186,25 +2186,25 @@ spdk_nvmf_tcp_req_get_xfer(struct spdk_nvmf_tcp_req *tcp_req) {
}

static void
spdk_nvmf_tcp_req_fill_buffers(struct spdk_nvmf_tcp_req *tcp_req,
spdk_nvmf_tcp_req_fill_buffers(struct spdk_nvmf_request *req,
			       struct spdk_nvmf_transport *transport,
			       uint32_t length)
{
	uint32_t i = 0;

	tcp_req->req.iovcnt = 0;
	req->iovcnt = 0;
	while (length) {
		i = tcp_req->req.iovcnt;
		tcp_req->req.iov[i].iov_base = (void *)((uintptr_t)(tcp_req->req.buffers[i] +
		i = req->iovcnt;
		req->iov[i].iov_base = (void *)((uintptr_t)(req->buffers[i] +
						NVMF_DATA_BUFFER_MASK) &
						~NVMF_DATA_BUFFER_MASK);
		tcp_req->req.iov[i].iov_len  = spdk_min(length, transport->opts.io_unit_size);
		tcp_req->req.iovcnt++;
		length -= tcp_req->req.iov[i].iov_len;
		req->iov[i].iov_len  = spdk_min(length, transport->opts.io_unit_size);
		req->iovcnt++;
		length -= req->iov[i].iov_len;
	}

	assert(tcp_req->req.iovcnt <= SPDK_NVMF_MAX_SGL_ENTRIES);
	tcp_req->req.data_from_pool = true;
	assert(req->iovcnt <= SPDK_NVMF_MAX_SGL_ENTRIES);
	req->data_from_pool = true;
}

static int
@@ -2225,7 +2225,7 @@ spdk_nvmf_tcp_req_fill_iovs(struct spdk_nvmf_tcp_transport *ttransport,
		return -ENOMEM;
	}

	spdk_nvmf_tcp_req_fill_buffers(tcp_req, &ttransport->transport, length);
	spdk_nvmf_tcp_req_fill_buffers(&tcp_req->req, &ttransport->transport, length);

	return 0;
}