diff options
Diffstat (limited to 'fs/nfsd/nfs4proc.c')
-rw-r--r-- | fs/nfsd/nfs4proc.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/fs/nfsd/nfs4proc.c b/fs/nfsd/nfs4proc.c index 095431a35722..f80c3997d24c 100644 --- a/fs/nfsd/nfs4proc.c +++ b/fs/nfsd/nfs4proc.c | |||
@@ -780,6 +780,29 @@ nfsd4_secinfo(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, | |||
780 | } | 780 | } |
781 | 781 | ||
782 | static __be32 | 782 | static __be32 |
783 | nfsd4_secinfo_no_name(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, | ||
784 | struct nfsd4_secinfo_no_name *sin) | ||
785 | { | ||
786 | __be32 err; | ||
787 | |||
788 | switch (sin->sin_style) { | ||
789 | case NFS4_SECINFO_STYLE4_CURRENT_FH: | ||
790 | break; | ||
791 | case NFS4_SECINFO_STYLE4_PARENT: | ||
792 | err = nfsd4_do_lookupp(rqstp, &cstate->current_fh); | ||
793 | if (err) | ||
794 | return err; | ||
795 | break; | ||
796 | default: | ||
797 | return nfserr_inval; | ||
798 | } | ||
799 | exp_get(cstate->current_fh.fh_export); | ||
800 | sin->sin_exp = cstate->current_fh.fh_export; | ||
801 | fh_put(&cstate->current_fh); | ||
802 | return nfs_ok; | ||
803 | } | ||
804 | |||
805 | static __be32 | ||
783 | nfsd4_setattr(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, | 806 | nfsd4_setattr(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, |
784 | struct nfsd4_setattr *setattr) | 807 | struct nfsd4_setattr *setattr) |
785 | { | 808 | { |
@@ -1327,6 +1350,10 @@ static struct nfsd4_operation nfsd4_ops[] = { | |||
1327 | .op_flags = ALLOWED_WITHOUT_FH, | 1350 | .op_flags = ALLOWED_WITHOUT_FH, |
1328 | .op_name = "OP_RECLAIM_COMPLETE", | 1351 | .op_name = "OP_RECLAIM_COMPLETE", |
1329 | }, | 1352 | }, |
1353 | [OP_SECINFO_NO_NAME] = { | ||
1354 | .op_func = (nfsd4op_func)nfsd4_secinfo_no_name, | ||
1355 | .op_name = "OP_SECINFO_NO_NAME", | ||
1356 | }, | ||
1330 | }; | 1357 | }; |
1331 | 1358 | ||
1332 | static const char *nfsd4_op_name(unsigned opnum) | 1359 | static const char *nfsd4_op_name(unsigned opnum) |