diff options
Diffstat (limited to 'fs/nfsd/nfs4callback.c')
-rw-r--r-- | fs/nfsd/nfs4callback.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/fs/nfsd/nfs4callback.c b/fs/nfsd/nfs4callback.c index c363efda8ecf..21a63da305ff 100644 --- a/fs/nfsd/nfs4callback.c +++ b/fs/nfsd/nfs4callback.c | |||
@@ -533,7 +533,8 @@ static void nfs4_xdr_enc_cb_recall(struct rpc_rqst *req, struct xdr_stream *xdr, | |||
533 | * Protocol". | 533 | * Protocol". |
534 | */ | 534 | */ |
535 | 535 | ||
536 | static int nfs4_xdr_dec_cb_null(struct rpc_rqst *req, __be32 *p, void *__unused) | 536 | static int nfs4_xdr_dec_cb_null(struct rpc_rqst *req, struct xdr_stream *xdr, |
537 | void *__unused) | ||
537 | { | 538 | { |
538 | return 0; | 539 | return 0; |
539 | } | 540 | } |
@@ -541,26 +542,25 @@ static int nfs4_xdr_dec_cb_null(struct rpc_rqst *req, __be32 *p, void *__unused) | |||
541 | /* | 542 | /* |
542 | * 20.2. Operation 4: CB_RECALL - Recall a Delegation | 543 | * 20.2. Operation 4: CB_RECALL - Recall a Delegation |
543 | */ | 544 | */ |
544 | static int nfs4_xdr_dec_cb_recall(struct rpc_rqst *rqstp, __be32 *p, | 545 | static int nfs4_xdr_dec_cb_recall(struct rpc_rqst *rqstp, |
546 | struct xdr_stream *xdr, | ||
545 | struct nfsd4_callback *cb) | 547 | struct nfsd4_callback *cb) |
546 | { | 548 | { |
547 | struct xdr_stream xdr; | ||
548 | struct nfs4_cb_compound_hdr hdr; | 549 | struct nfs4_cb_compound_hdr hdr; |
549 | enum nfsstat4 nfserr; | 550 | enum nfsstat4 nfserr; |
550 | int status; | 551 | int status; |
551 | 552 | ||
552 | xdr_init_decode(&xdr, &rqstp->rq_rcv_buf, p); | 553 | status = decode_cb_compound4res(xdr, &hdr); |
553 | status = decode_cb_compound4res(&xdr, &hdr); | ||
554 | if (unlikely(status)) | 554 | if (unlikely(status)) |
555 | goto out; | 555 | goto out; |
556 | 556 | ||
557 | if (cb != NULL) { | 557 | if (cb != NULL) { |
558 | status = decode_cb_sequence4res(&xdr, cb); | 558 | status = decode_cb_sequence4res(xdr, cb); |
559 | if (unlikely(status)) | 559 | if (unlikely(status)) |
560 | goto out; | 560 | goto out; |
561 | } | 561 | } |
562 | 562 | ||
563 | status = decode_cb_op_status(&xdr, OP_CB_RECALL, &nfserr); | 563 | status = decode_cb_op_status(xdr, OP_CB_RECALL, &nfserr); |
564 | if (unlikely(status)) | 564 | if (unlikely(status)) |
565 | goto out; | 565 | goto out; |
566 | if (unlikely(nfserr != NFS4_OK)) | 566 | if (unlikely(nfserr != NFS4_OK)) |
@@ -578,7 +578,7 @@ out_default: | |||
578 | [NFSPROC4_CLNT_##proc] = { \ | 578 | [NFSPROC4_CLNT_##proc] = { \ |
579 | .p_proc = NFSPROC4_CB_##call, \ | 579 | .p_proc = NFSPROC4_CB_##call, \ |
580 | .p_encode = (kxdreproc_t)nfs4_xdr_enc_##argtype, \ | 580 | .p_encode = (kxdreproc_t)nfs4_xdr_enc_##argtype, \ |
581 | .p_decode = (kxdrproc_t)nfs4_xdr_dec_##restype, \ | 581 | .p_decode = (kxdrdproc_t)nfs4_xdr_dec_##restype, \ |
582 | .p_arglen = NFS4_enc_##argtype##_sz, \ | 582 | .p_arglen = NFS4_enc_##argtype##_sz, \ |
583 | .p_replen = NFS4_dec_##restype##_sz, \ | 583 | .p_replen = NFS4_dec_##restype##_sz, \ |
584 | .p_statidx = NFSPROC4_CB_##call, \ | 584 | .p_statidx = NFSPROC4_CB_##call, \ |