Skip to content

Commit

Permalink
nfsd: unsupported nfs4 ops should fail with nfserr_opnotsupp
Browse files Browse the repository at this point in the history
nfserr_opnotsupp should be returned for unsupported nfs4 ops
rather than nfserr_op_illegal.

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
  • Loading branch information
Benny Halevy authored and J. Bruce Fields committed Jul 2, 2008
1 parent 347e0ad commit 3c375c6
Showing 1 changed file with 9 additions and 0 deletions.
9 changes: 9 additions & 0 deletions fs/nfsd/nfs4xdr.c
Original file line number Diff line number Diff line change
Expand Up @@ -991,13 +991,20 @@ 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[] = {
[OP_ACCESS] (nfsd4_dec)nfsd4_decode_access,
[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,
Expand All @@ -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,
Expand Down

0 comments on commit 3c375c6

Please sign in to comment.