|
Description
|
The current NFSv4 server fails to decode NFSv4 minor version 1 requests
and impolitely returns RPC status of GARBAGE_ARGS back to the client.
A more gentle way that allows for minorversion negotiation is to return
NFS4ERR_MINOR_VERS_MISMATCH, allowing the client to retry with a lower
minor version.
While there are parts of code like in rfs4_compound() which does just that, it is too
far down the path to be effective. It should also be taken care in common_dispatch()
when SVC_GETARGS() fails. SVC_GETARGS() fails because xdr_COMPOUND4args_srv() and
friends like xdr_snfs_argop4() and xdr_nfs_argop4() cannot handle future minor version
specific operations.
|