diff options
| author | Benny Halevy <bhalevy@panasas.com> | 2008-07-02 04:14:01 -0400 |
|---|---|---|
| committer | J. Bruce Fields <bfields@citi.umich.edu> | 2008-07-02 15:58:21 -0400 |
| commit | 3c375c6f3a809d0d999d6dc933634f0b97ed7ae9 (patch) | |
| tree | ff70067da6e470d7bb95bc47c676ead27bf921aa | |
| parent | 347e0ad9c91b5bd7506d61f236048cc72b7fc151 (diff) | |
nfsd: unsupported nfs4 ops should fail with nfserr_opnotsupp
nfserr_opnotsupp should be returned for unsupported nfs4 ops
rather than nfserr_op_illegal.
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
| -rw-r--r-- | fs/nfsd/nfs4xdr.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/fs/nfsd/nfs4xdr.c b/fs/nfsd/nfs4xdr.c index de1fd9db26f0..653951c73e31 100644 --- a/fs/nfsd/nfs4xdr.c +++ b/fs/nfsd/nfs4xdr.c | |||
| @@ -991,6 +991,12 @@ nfsd4_decode_noop(struct nfsd4_compoundargs *argp, void *p) | |||
| 991 | return nfs_ok; | 991 | return nfs_ok; |
| 992 | } | 992 | } |
| 993 | 993 | ||
| 994 | static __be32 | ||
| 995 | nfsd4_decode_notsupp(struct nfsd4_compoundargs *argp, void *p) | ||
| 996 | { | ||
| 997 | return nfserr_opnotsupp; | ||
| 998 | } | ||
| 999 | |||
| 994 | typedef __be32(*nfsd4_dec)(struct nfsd4_compoundargs *argp, void *); | 1000 | typedef __be32(*nfsd4_dec)(struct nfsd4_compoundargs *argp, void *); |
| 995 | 1001 | ||
| 996 | static nfsd4_dec nfsd4_dec_ops[] = { | 1002 | static nfsd4_dec nfsd4_dec_ops[] = { |
| @@ -998,6 +1004,7 @@ static nfsd4_dec nfsd4_dec_ops[] = { | |||
| 998 | [OP_CLOSE] (nfsd4_dec)nfsd4_decode_close, | 1004 | [OP_CLOSE] (nfsd4_dec)nfsd4_decode_close, |
| 999 | [OP_COMMIT] (nfsd4_dec)nfsd4_decode_commit, | 1005 | [OP_COMMIT] (nfsd4_dec)nfsd4_decode_commit, |
| 1000 | [OP_CREATE] (nfsd4_dec)nfsd4_decode_create, | 1006 | [OP_CREATE] (nfsd4_dec)nfsd4_decode_create, |
| 1007 | [OP_DELEGPURGE] (nfsd4_dec)nfsd4_decode_notsupp, | ||
| 1001 | [OP_DELEGRETURN] (nfsd4_dec)nfsd4_decode_delegreturn, | 1008 | [OP_DELEGRETURN] (nfsd4_dec)nfsd4_decode_delegreturn, |
| 1002 | [OP_GETATTR] (nfsd4_dec)nfsd4_decode_getattr, | 1009 | [OP_GETATTR] (nfsd4_dec)nfsd4_decode_getattr, |
| 1003 | [OP_GETFH] (nfsd4_dec)nfsd4_decode_noop, | 1010 | [OP_GETFH] (nfsd4_dec)nfsd4_decode_noop, |
| @@ -1009,9 +1016,11 @@ static nfsd4_dec nfsd4_dec_ops[] = { | |||
| 1009 | [OP_LOOKUPP] (nfsd4_dec)nfsd4_decode_noop, | 1016 | [OP_LOOKUPP] (nfsd4_dec)nfsd4_decode_noop, |
| 1010 | [OP_NVERIFY] (nfsd4_dec)nfsd4_decode_verify, | 1017 | [OP_NVERIFY] (nfsd4_dec)nfsd4_decode_verify, |
| 1011 | [OP_OPEN] (nfsd4_dec)nfsd4_decode_open, | 1018 | [OP_OPEN] (nfsd4_dec)nfsd4_decode_open, |
| 1019 | [OP_OPENATTR] (nfsd4_dec)nfsd4_decode_notsupp, | ||
| 1012 | [OP_OPEN_CONFIRM] (nfsd4_dec)nfsd4_decode_open_confirm, | 1020 | [OP_OPEN_CONFIRM] (nfsd4_dec)nfsd4_decode_open_confirm, |
| 1013 | [OP_OPEN_DOWNGRADE] (nfsd4_dec)nfsd4_decode_open_downgrade, | 1021 | [OP_OPEN_DOWNGRADE] (nfsd4_dec)nfsd4_decode_open_downgrade, |
| 1014 | [OP_PUTFH] (nfsd4_dec)nfsd4_decode_putfh, | 1022 | [OP_PUTFH] (nfsd4_dec)nfsd4_decode_putfh, |
| 1023 | [OP_PUTPUBFH] (nfsd4_dec)nfsd4_decode_notsupp, | ||
| 1015 | [OP_PUTROOTFH] (nfsd4_dec)nfsd4_decode_noop, | 1024 | [OP_PUTROOTFH] (nfsd4_dec)nfsd4_decode_noop, |
| 1016 | [OP_READ] (nfsd4_dec)nfsd4_decode_read, | 1025 | [OP_READ] (nfsd4_dec)nfsd4_decode_read, |
| 1017 | [OP_READDIR] (nfsd4_dec)nfsd4_decode_readdir, | 1026 | [OP_READDIR] (nfsd4_dec)nfsd4_decode_readdir, |
