Commit c3899b71 authored by Chuck Lever's avatar Chuck Lever

svcrdma: Explicitly pass the transport into Write chunk I/O paths

Enable the eventual removal of the svc_rdma_chunk_ctxt::cc_rdma
field.
Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
parent c4fd9f45
...@@ -220,6 +220,8 @@ static void svc_rdma_cc_release(struct svc_rdma_chunk_ctxt *cc, ...@@ -220,6 +220,8 @@ static void svc_rdma_cc_release(struct svc_rdma_chunk_ctxt *cc,
* - Stores arguments for the SGL constructor functions * - Stores arguments for the SGL constructor functions
*/ */
struct svc_rdma_write_info { struct svc_rdma_write_info {
struct svcxprt_rdma *wi_rdma;
const struct svc_rdma_chunk *wi_chunk; const struct svc_rdma_chunk *wi_chunk;
/* write state of this chunk */ /* write state of this chunk */
...@@ -246,6 +248,7 @@ svc_rdma_write_info_alloc(struct svcxprt_rdma *rdma, ...@@ -246,6 +248,7 @@ svc_rdma_write_info_alloc(struct svcxprt_rdma *rdma,
if (!info) if (!info)
return info; return info;
info->wi_rdma = rdma;
info->wi_chunk = chunk; info->wi_chunk = chunk;
info->wi_seg_off = 0; info->wi_seg_off = 0;
info->wi_seg_no = 0; info->wi_seg_no = 0;
...@@ -489,7 +492,7 @@ svc_rdma_build_writes(struct svc_rdma_write_info *info, ...@@ -489,7 +492,7 @@ svc_rdma_build_writes(struct svc_rdma_write_info *info,
unsigned int remaining) unsigned int remaining)
{ {
struct svc_rdma_chunk_ctxt *cc = &info->wi_cc; struct svc_rdma_chunk_ctxt *cc = &info->wi_cc;
struct svcxprt_rdma *rdma = cc->cc_rdma; struct svcxprt_rdma *rdma = info->wi_rdma;
const struct svc_rdma_segment *seg; const struct svc_rdma_segment *seg;
struct svc_rdma_rw_ctxt *ctxt; struct svc_rdma_rw_ctxt *ctxt;
int ret; int ret;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment