NFSD: SETCLIENTID_CONFIRM returns NFS4ERR_CLID_INUSE too often
authorChuck Lever <chuck.lever@oracle.com>
Tue, 15 May 2012 21:42:08 +0000 (17:42 -0400)
committerJ. Bruce Fields <bfields@redhat.com>
Fri, 1 Jun 2012 00:29:45 +0000 (20:29 -0400)
commitf07ea10dc8f20dfc215b15b012741fcf9f5aa17b
tree5edad80d5cd3cc5ff11df5fc6b155fb664e7adc0
parent8dbf28e495337b0c66657e3e278ae0ff175b7140
NFSD: SETCLIENTID_CONFIRM returns NFS4ERR_CLID_INUSE too often

According to RFC 3530bis, the only items SETCLIENTID_CONFIRM processing
should be concerned with is the clientid, clientid verifier, and
principal.  The client's IP address is not supposed to be interesting.

And, NFS4ERR_CLID_INUSE is meant only for principal mismatches.

I triggered this logic with a prototype UCS client -- one that
uses the same nfs_client_id4 string for all servers.  The client
mounted our server via its IPv4, then via its IPv6 address.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
fs/nfsd/nfs4state.c