NFS: advertise only supported callback netids
authorChuck Lever <chuck.lever@oracle.com>
Wed, 12 Mar 2014 16:51:47 +0000 (12:51 -0400)
committerTrond Myklebust <trond.myklebust@primarydata.com>
Mon, 17 Mar 2014 20:04:54 +0000 (16:04 -0400)
commit706cb8db3b629f6021499a5edfdde526a3cf7d95
treeee25472dbcd7be6e96f72e16f7b977aaeb1694d0
parent3a0799a94c0384a3b275a73267aaa10517b1bf7d
NFS: advertise only supported callback netids

NFSv4.0 clients use the SETCLIENTID operation to inform NFS servers
how to contact a client's callback service.  If a server cannot
contact a client's callback service, that server will not delegate
to that client, which results in a performance loss.

Our client advertises "rdma" as the callback netid when the forward
channel is "rdma".  But our client always starts only "tcp" and
"tcp6" callback services.

Instead of advertising the forward channel netid, advertise "tcp"
or "tcp6" as the callback netid, based on the value of the
clientaddr mount option, since those are what our client currently
supports.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=69171
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
fs/nfs/nfs4proc.c