aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/nfs4state.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/nfs/nfs4state.c')
-rw-r--r--fs/nfs/nfs4state.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/fs/nfs/nfs4state.c b/fs/nfs/nfs4state.c
index 1cfc4603fd9..81eabcdad0e 100644
--- a/fs/nfs/nfs4state.c
+++ b/fs/nfs/nfs4state.c
@@ -1606,10 +1606,15 @@ static int nfs4_handle_reclaim_lease_error(struct nfs_client *clp, int status)
1606 return -ESERVERFAULT; 1606 return -ESERVERFAULT;
1607 /* Lease confirmation error: retry after purging the lease */ 1607 /* Lease confirmation error: retry after purging the lease */
1608 ssleep(1); 1608 ssleep(1);
1609 case -NFS4ERR_CLID_INUSE:
1610 case -NFS4ERR_STALE_CLIENTID: 1609 case -NFS4ERR_STALE_CLIENTID:
1611 clear_bit(NFS4CLNT_LEASE_CONFIRM, &clp->cl_state); 1610 clear_bit(NFS4CLNT_LEASE_CONFIRM, &clp->cl_state);
1612 break; 1611 break;
1612 case -NFS4ERR_CLID_INUSE:
1613 pr_err("NFS: Server %s reports our clientid is in use\n",
1614 clp->cl_hostname);
1615 nfs_mark_client_ready(clp, -EPERM);
1616 clear_bit(NFS4CLNT_LEASE_CONFIRM, &clp->cl_state);
1617 return -EPERM;
1613 case -EACCES: 1618 case -EACCES:
1614 if (clp->cl_machine_cred == NULL) 1619 if (clp->cl_machine_cred == NULL)
1615 return -EACCES; 1620 return -EACCES;