svcrdma: Remove svc_rdma_chunk_ctxt::cc_dir field
Clean up: No need to save the I/O direction. The functions that release svc_rdma_chunk_ctxt already know what direction to use. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
This commit is contained in:
parent
91b022ec8b
commit
35a30fc389
|
@ -116,22 +116,20 @@ struct svc_rdma_chunk_ctxt {
|
||||||
struct svcxprt_rdma *cc_rdma;
|
struct svcxprt_rdma *cc_rdma;
|
||||||
struct list_head cc_rwctxts;
|
struct list_head cc_rwctxts;
|
||||||
int cc_sqecount;
|
int cc_sqecount;
|
||||||
enum dma_data_direction cc_dir;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static void svc_rdma_cc_init(struct svcxprt_rdma *rdma,
|
static void svc_rdma_cc_init(struct svcxprt_rdma *rdma,
|
||||||
struct svc_rdma_chunk_ctxt *cc,
|
struct svc_rdma_chunk_ctxt *cc)
|
||||||
enum dma_data_direction dir)
|
|
||||||
{
|
{
|
||||||
cc->cc_rdma = rdma;
|
cc->cc_rdma = rdma;
|
||||||
svc_xprt_get(&rdma->sc_xprt);
|
svc_xprt_get(&rdma->sc_xprt);
|
||||||
|
|
||||||
INIT_LIST_HEAD(&cc->cc_rwctxts);
|
INIT_LIST_HEAD(&cc->cc_rwctxts);
|
||||||
cc->cc_sqecount = 0;
|
cc->cc_sqecount = 0;
|
||||||
cc->cc_dir = dir;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void svc_rdma_cc_release(struct svc_rdma_chunk_ctxt *cc)
|
static void svc_rdma_cc_release(struct svc_rdma_chunk_ctxt *cc,
|
||||||
|
enum dma_data_direction dir)
|
||||||
{
|
{
|
||||||
struct svcxprt_rdma *rdma = cc->cc_rdma;
|
struct svcxprt_rdma *rdma = cc->cc_rdma;
|
||||||
struct svc_rdma_rw_ctxt *ctxt;
|
struct svc_rdma_rw_ctxt *ctxt;
|
||||||
|
@ -141,7 +139,7 @@ static void svc_rdma_cc_release(struct svc_rdma_chunk_ctxt *cc)
|
||||||
|
|
||||||
rdma_rw_ctx_destroy(&ctxt->rw_ctx, rdma->sc_qp,
|
rdma_rw_ctx_destroy(&ctxt->rw_ctx, rdma->sc_qp,
|
||||||
rdma->sc_port_num, ctxt->rw_sg_table.sgl,
|
rdma->sc_port_num, ctxt->rw_sg_table.sgl,
|
||||||
ctxt->rw_nents, cc->cc_dir);
|
ctxt->rw_nents, dir);
|
||||||
svc_rdma_put_rw_ctxt(rdma, ctxt);
|
svc_rdma_put_rw_ctxt(rdma, ctxt);
|
||||||
}
|
}
|
||||||
svc_xprt_put(&rdma->sc_xprt);
|
svc_xprt_put(&rdma->sc_xprt);
|
||||||
|
@ -179,14 +177,14 @@ svc_rdma_write_info_alloc(struct svcxprt_rdma *rdma, __be32 *chunk)
|
||||||
info->wi_seg_no = 0;
|
info->wi_seg_no = 0;
|
||||||
info->wi_nsegs = be32_to_cpup(++chunk);
|
info->wi_nsegs = be32_to_cpup(++chunk);
|
||||||
info->wi_segs = ++chunk;
|
info->wi_segs = ++chunk;
|
||||||
svc_rdma_cc_init(rdma, &info->wi_cc, DMA_TO_DEVICE);
|
svc_rdma_cc_init(rdma, &info->wi_cc);
|
||||||
info->wi_cc.cc_cqe.done = svc_rdma_write_done;
|
info->wi_cc.cc_cqe.done = svc_rdma_write_done;
|
||||||
return info;
|
return info;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void svc_rdma_write_info_free(struct svc_rdma_write_info *info)
|
static void svc_rdma_write_info_free(struct svc_rdma_write_info *info)
|
||||||
{
|
{
|
||||||
svc_rdma_cc_release(&info->wi_cc);
|
svc_rdma_cc_release(&info->wi_cc, DMA_TO_DEVICE);
|
||||||
kfree(info);
|
kfree(info);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -241,14 +239,14 @@ svc_rdma_read_info_alloc(struct svcxprt_rdma *rdma)
|
||||||
if (!info)
|
if (!info)
|
||||||
return info;
|
return info;
|
||||||
|
|
||||||
svc_rdma_cc_init(rdma, &info->ri_cc, DMA_FROM_DEVICE);
|
svc_rdma_cc_init(rdma, &info->ri_cc);
|
||||||
info->ri_cc.cc_cqe.done = svc_rdma_wc_read_done;
|
info->ri_cc.cc_cqe.done = svc_rdma_wc_read_done;
|
||||||
return info;
|
return info;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void svc_rdma_read_info_free(struct svc_rdma_read_info *info)
|
static void svc_rdma_read_info_free(struct svc_rdma_read_info *info)
|
||||||
{
|
{
|
||||||
svc_rdma_cc_release(&info->ri_cc);
|
svc_rdma_cc_release(&info->ri_cc, DMA_FROM_DEVICE);
|
||||||
kfree(info);
|
kfree(info);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue