nfsd4: support putpubfh operation
Currently putpubfh returns NFSERR_OPNOTSUPP, which isn't actually allowed for v4. The right error is probably NFSERR_NOTSUPP. But let's just implement it; though rarely seen, it can be used by Solaris (with a special mount option), is mandated by the rfc, and is trivial for us to support. Thanks to Yang Hongyang for pointing out the original problem, and to Mike Eisler, Tom Talpey, Trond Myklebust, and Dave Noveck for further argument.... Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
This commit is contained in:
parent
31dec2538e
commit
a1c8c4d1ff
|
@ -1045,7 +1045,7 @@ static struct nfsd4_operation nfsd4_ops[OP_RELEASE_LOCKOWNER+1] = {
|
|||
.op_name = "OP_PUTFH",
|
||||
},
|
||||
[OP_PUTPUBFH] = {
|
||||
/* unsupported, just for future reference: */
|
||||
.op_func = (nfsd4op_func)nfsd4_putrootfh,
|
||||
.op_flags = ALLOWED_WITHOUT_FH | ALLOWED_ON_ABSENT_FS,
|
||||
.op_name = "OP_PUTPUBFH",
|
||||
},
|
||||
|
|
|
@ -1031,7 +1031,7 @@ static nfsd4_dec nfsd4_dec_ops[] = {
|
|||
[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_PUTPUBFH] = (nfsd4_dec)nfsd4_decode_noop,
|
||||
[OP_PUTROOTFH] = (nfsd4_dec)nfsd4_decode_noop,
|
||||
[OP_READ] = (nfsd4_dec)nfsd4_decode_read,
|
||||
[OP_READDIR] = (nfsd4_dec)nfsd4_decode_readdir,
|
||||
|
|
Loading…
Reference in New Issue