diff options
author | Benny Halevy <bhalevy@panasas.com> | 2008-07-02 11:14:01 +0300 |
---|---|---|
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 de1fd9db26f..653951c73e3 100644 --- a/fs/nfsd/nfs4xdr.c +++ b/fs/nfsd/nfs4xdr.c @@ -991,6 +991,12 @@ nfsd4_decode_noop(struct nfsd4_compoundargs *argp, void *p) return nfs_ok; } +static __be32 +nfsd4_decode_notsupp(struct nfsd4_compoundargs *argp, void *p) +{ + return nfserr_opnotsupp; +} + typedef __be32(*nfsd4_dec)(struct nfsd4_compoundargs *argp, void *); static nfsd4_dec nfsd4_dec_ops[] = { @@ -998,6 +1004,7 @@ static nfsd4_dec nfsd4_dec_ops[] = { [OP_CLOSE] (nfsd4_dec)nfsd4_decode_close, [OP_COMMIT] (nfsd4_dec)nfsd4_decode_commit, [OP_CREATE] (nfsd4_dec)nfsd4_decode_create, + [OP_DELEGPURGE] (nfsd4_dec)nfsd4_decode_notsupp, [OP_DELEGRETURN] (nfsd4_dec)nfsd4_decode_delegreturn, [OP_GETATTR] (nfsd4_dec)nfsd4_decode_getattr, [OP_GETFH] (nfsd4_dec)nfsd4_decode_noop, @@ -1009,9 +1016,11 @@ static nfsd4_dec nfsd4_dec_ops[] = { [OP_LOOKUPP] (nfsd4_dec)nfsd4_decode_noop, [OP_NVERIFY] (nfsd4_dec)nfsd4_decode_verify, [OP_OPEN] (nfsd4_dec)nfsd4_decode_open, + [OP_OPENATTR] (nfsd4_dec)nfsd4_decode_notsupp, [OP_OPEN_CONFIRM] (nfsd4_dec)nfsd4_decode_open_confirm, [OP_OPEN_DOWNGRADE] (nfsd4_dec)nfsd4_decode_open_downgrade, [OP_PUTFH] (nfsd4_dec)nfsd4_decode_putfh, + [OP_PUTPUBFH] (nfsd4_dec)nfsd4_decode_notsupp, [OP_PUTROOTFH] (nfsd4_dec)nfsd4_decode_noop, [OP_READ] (nfsd4_dec)nfsd4_decode_read, [OP_READDIR] (nfsd4_dec)nfsd4_decode_readdir, |