linux/net/sunrpc/xprtrdma
Bart Van Assche d34ac5cd3a RDMA, core and ULPs: Declare ib_post_send() and ib_post_recv() arguments const
Since neither ib_post_send() nor ib_post_recv() modify the data structure
their second argument points at, declare that argument const. This change
makes it necessary to declare the 'bad_wr' argument const too and also to
modify all ULPs that call ib_post_send(), ib_post_recv() or
ib_post_srq_recv(). This patch does not change any functionality but makes
it possible for the compiler to verify whether the
ib_post_(send|recv|srq_recv) really do not modify the posted work request.

To make this possible, only one cast had to be introduce that casts away
constness, namely in rpcrdma_post_recvs(). The only way I can think of to
avoid that cast is to introduce an additional loop in that function or to
change the data type of bad_wr from struct ib_recv_wr ** into int
(an index that refers to an element in the work request list). However,
both approaches would require even more extensive changes than this
patch.

Signed-off-by: Bart Van Assche <bart.vanassche@wdc.com>
Reviewed-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
2018-07-30 20:09:34 -06:00
..
backchannel.c NFS client updates for Linux 4.18 2018-06-12 10:09:03 -07:00
fmr_ops.c net/xprtrdma: Simplify ib_post_(send|recv|srq_recv)() calls 2018-07-24 16:06:37 -06:00
frwr_ops.c RDMA, core and ULPs: Declare ib_post_send() and ib_post_recv() arguments const 2018-07-30 20:09:34 -06:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
module.c NFS client updates for Linux 4.18 2018-06-12 10:09:03 -07:00
rpc_rdma.c NFS client updates for Linux 4.18 2018-06-12 10:09:03 -07:00
svc_rdma_backchannel.c NFS client updates for Linux 4.18 2018-06-12 10:09:03 -07:00
svc_rdma_recvfrom.c net/xprtrdma: Simplify ib_post_(send|recv|srq_recv)() calls 2018-07-24 16:06:37 -06:00
svc_rdma_rw.c RDMA, core and ULPs: Declare ib_post_send() and ib_post_recv() arguments const 2018-07-30 20:09:34 -06:00
svc_rdma_sendto.c net/xprtrdma: Simplify ib_post_(send|recv|srq_recv)() calls 2018-07-24 16:06:37 -06:00
svc_rdma_transport.c IB/core: add max_send_sge and max_recv_sge attributes 2018-06-18 13:17:28 -06:00
svc_rdma.c xprtrdma: Prepare RPC/RDMA includes for server-side trace points 2018-05-11 15:48:57 -04:00
transport.c NFS client updates for Linux 4.18 2018-06-12 10:09:03 -07:00
verbs.c RDMA, core and ULPs: Declare ib_post_send() and ib_post_recv() arguments const 2018-07-30 20:09:34 -06:00
xprt_rdma.h NFS client updates for Linux 4.18 2018-06-12 10:09:03 -07:00