summaryrefslogtreecommitdiffstats
path: root/fs/nfsd/nfssvc.c
diff options
context:
space:
mode:
authorChristoph Hellwig2017-05-08 19:01:48 +0200
committerChristoph Hellwig2017-05-15 17:42:24 +0200
commit026fec7e7c4723b5f26a753bbcad69f68c8299d4 (patch)
treeef9d60d345e80aa9823dfa3e2405e9ec09459d0d /fs/nfsd/nfssvc.c
parentsunrpc: properly type pc_release callbacks (diff)
downloadkernel-qcow2-linux-026fec7e7c4723b5f26a753bbcad69f68c8299d4.tar.gz
kernel-qcow2-linux-026fec7e7c4723b5f26a753bbcad69f68c8299d4.tar.xz
kernel-qcow2-linux-026fec7e7c4723b5f26a753bbcad69f68c8299d4.zip
sunrpc: properly type pc_decode callbacks
Drop the argp argument as it 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 kxdrproc_t. Signed-off-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'fs/nfsd/nfssvc.c')
-rw-r--r--fs/nfsd/nfssvc.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/fs/nfsd/nfssvc.c b/fs/nfsd/nfssvc.c
index d64895fd8d25..3e00499d7ad7 100644
--- a/fs/nfsd/nfssvc.c
+++ b/fs/nfsd/nfssvc.c
@@ -801,9 +801,8 @@ nfsd_dispatch(struct svc_rqst *rqstp, __be32 *statp)
*/
rqstp->rq_cachetype = proc->pc_cachetype;
/* Decode arguments */
- xdr = proc->pc_decode;
- if (xdr && !xdr(rqstp, (__be32*)rqstp->rq_arg.head[0].iov_base,
- rqstp->rq_argp)) {
+ if (proc->pc_decode &&
+ !proc->pc_decode(rqstp, (__be32*)rqstp->rq_arg.head[0].iov_base)) {
dprintk("nfsd: failed to decode arguments!\n");
*statp = rpc_garbage_args;
return 1;