summaryrefslogtreecommitdiffstats
path: root/fs/nfs
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2017-05-08 17:35:49 +0200
committerChristoph Hellwig <hch@lst.de>2017-05-15 17:42:23 +0200
commita6beb73272b4c0108e41bc7c7b5a447ae6c92863 (patch)
tree65c4a0b3d6aa098b16c536c902933133548c27b0 /fs/nfs
parent9482c9c15c29deb5e49ff475710f94dea0842328 (diff)
downloadlinux-stable-a6beb73272b4c0108e41bc7c7b5a447ae6c92863.tar.gz
linux-stable-a6beb73272b4c0108e41bc7c7b5a447ae6c92863.tar.bz2
linux-stable-a6beb73272b4c0108e41bc7c7b5a447ae6c92863.zip
sunrpc: properly type pc_func callbacks
Drop the argp and resp arguments as they can trivially be derived from the rqstp argument. With that all functions now have the same prototype, and we can remove the unsafe casting to svc_procfunc as well as the svc_procfunc typedef itself. Signed-off-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'fs/nfs')
-rw-r--r--fs/nfs/callback_xdr.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/fs/nfs/callback_xdr.c b/fs/nfs/callback_xdr.c
index 287c02202b25..5a14bdaa5986 100644
--- a/fs/nfs/callback_xdr.c
+++ b/fs/nfs/callback_xdr.c
@@ -53,7 +53,7 @@ struct callback_op {
static struct callback_op callback_ops[];
-static __be32 nfs4_callback_null(struct svc_rqst *rqstp, void *argp, void *resp)
+static __be32 nfs4_callback_null(struct svc_rqst *rqstp)
{
return htonl(NFS4_OK);
}
@@ -880,7 +880,7 @@ encode_hdr:
/*
* Decode, process and encode a COMPOUND
*/
-static __be32 nfs4_callback_compound(struct svc_rqst *rqstp, void *argp, void *resp)
+static __be32 nfs4_callback_compound(struct svc_rqst *rqstp)
{
struct cb_compound_hdr_arg hdr_arg = { 0 };
struct cb_compound_hdr_res hdr_res = { NULL };
@@ -916,7 +916,8 @@ static __be32 nfs4_callback_compound(struct svc_rqst *rqstp, void *argp, void *r
while (status == 0 && nops != hdr_arg.nops) {
status = process_op(nops, rqstp, &xdr_in,
- argp, &xdr_out, resp, &cps);
+ rqstp->rq_argp, &xdr_out, rqstp->rq_resp,
+ &cps);
nops++;
}