nfsd: Lower NFSv4.1 callback message size limit
authorChuck Lever <chuck.lever@oracle.com>
Tue, 1 Mar 2016 18:06:02 +0000 (13:06 -0500)
committerJ. Bruce Fields <bfields@redhat.com>
Tue, 1 Mar 2016 21:06:35 +0000 (13:06 -0800)
commit4500632f60fa0d85e4101c374898cdf9b7b0cfac
tree108e40fab78bcb843b2a7efa9e6439f8f2d4249b
parentf6763c29ab86c3ee27760a06e07bbeab47635b61
nfsd: Lower NFSv4.1 callback message size limit

The maximum size of a backchannel message on RPC-over-RDMA depends
on the connection's inline threshold. Today that threshold is
typically 1024 bytes, making the maximum message size 996 bytes.

The Linux server's CREATE_SESSION operation checks that the size
of callback Calls can be as large as 1044 bytes, to accommodate
RPCSEC_GSS. Thus CREATE_SESSION fails if a client advertises the
true message size maximum of 996 bytes.

But the server's backchannel currently does not support RPCSEC_GSS.
The actual maximum size it needs is much smaller. It is safe to
reduce the limit to enable NFSv4.1 on RDMA backchannel operation.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
fs/nfsd/nfs4state.c
include/linux/sunrpc/auth.h
net/sunrpc/auth_null.c
net/sunrpc/auth_unix.c