Files
ack-tegra/include/linux
Chuck Lever de73483122 NFS: Treat NFS4ERR_CLID_INUSE as a fatal error
For NFSv4 minor version 0, currently the cl_id_uniquifier allows the
Linux client to generate a unique nfs_client_id4 string whenever a
server replies with NFS4ERR_CLID_INUSE.

This implementation seems to be based on a flawed reading of RFC
3530.  NFS4ERR_CLID_INUSE actually means that the client has presented
this nfs_client_id4 string with a different principal at some time in
the past, and that lease is still in use on the server.

For a Linux client this might be rather difficult to achieve: the
authentication flavor is named right in the nfs_client_id4.id
string.  If we change flavors, we change strings automatically.

So, practically speaking, NFS4ERR_CLID_INUSE means there is some other
client using our string.  There is not much that can be done to
recover automatically.  Let's make it a permanent error.

Remove the recovery logic in nfs4_proc_setclientid(), and remove the
cl_id_uniquifier field from the nfs_client data structure.  And,
remove the authentication flavor from the nfs_client_id4 string.

Keeping the authentication flavor in the nfs_client_id4.id string
means that we could have a separate lease for each authentication
flavor used by mounts on the client.  But we want just one lease for
all the mounts on this client.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2012-07-16 15:12:16 -04:00
..
2012-05-07 15:39:35 -07:00
2012-05-15 17:30:30 -04:00
2012-07-16 15:12:15 -04:00
2012-05-08 14:13:25 -07:00
2012-05-25 12:46:23 +05:30
2012-05-10 12:00:56 +02:00
2012-05-17 15:36:35 -04:00
2012-05-29 23:28:33 -04:00
2012-07-14 16:38:34 +04:00
2012-07-05 15:04:10 +02:00
2012-05-22 11:32:31 +02:00
2012-05-12 14:28:14 +02:00
2012-06-11 23:57:22 -07:00
2012-05-07 10:58:57 -06:00
2012-06-30 15:56:40 -07:00
2012-05-31 17:49:30 -07:00
2012-05-31 17:49:32 -07:00
2012-05-31 17:49:26 -07:00
2012-05-31 17:49:30 -07:00
2012-05-11 10:56:56 +01:00
2012-07-02 21:10:30 -03:00
2012-05-29 23:28:41 -04:00
2012-05-09 13:58:06 -07:00
2012-05-22 15:20:28 -04:00
2012-07-14 16:35:40 +04:00
2012-05-29 22:33:55 -04:00
2012-05-08 20:25:42 +02:00
2012-05-26 14:17:30 -04:00
2012-05-16 15:17:08 -04:00
2012-05-21 14:31:48 +01:00
2012-06-20 14:39:36 -07:00
2012-05-14 14:15:32 -07:00
2012-06-06 17:08:00 +02:00
2012-05-12 15:53:42 -04:00
2012-06-01 12:58:52 -04:00
2012-06-15 15:30:15 -07:00
2012-05-31 17:49:26 -07:00
2012-05-08 12:35:06 +02:00
2012-06-13 21:16:42 +02:00
2012-05-14 18:53:19 -04:00
2012-05-21 16:16:58 -07:00
2012-05-22 12:16:16 +09:30