NFSv4: When purging the lease, we must clear NFS4CLNT_LEASE_CONFIRM
authorTrond Myklebust <Trond.Myklebust@netapp.com>
Fri, 25 May 2012 20:02:15 +0000 (16:02 -0400)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Fri, 25 May 2012 20:17:13 +0000 (16:17 -0400)
Otherwise we can end up not sending a new exchange-id/setclientid

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
fs/nfs/nfs4state.c

index 758b9a8a54b3fabb9165058ca4e94e3b7e275c47..604c6009d1ac9786dae08384f8a88963ed07d424 100644 (file)
@@ -1647,6 +1647,7 @@ static void nfs4_reset_all_state(struct nfs_client *clp)
 {
        if (test_and_set_bit(NFS4CLNT_LEASE_EXPIRED, &clp->cl_state) == 0) {
                set_bit(NFS4CLNT_PURGE_STATE, &clp->cl_state);
+               clear_bit(NFS4CLNT_LEASE_CONFIRM, &clp->cl_state);
                nfs4_state_start_reclaim_nograce(clp);
                nfs4_schedule_state_manager(clp);
        }