Fixing lease renewal
authorOlga Kornievskaia <kolga@netapp.com>
Wed, 24 Sep 2014 22:11:28 +0000 (18:11 -0400)
committerTrond Myklebust <trond.myklebust@primarydata.com>
Thu, 25 Sep 2014 03:03:15 +0000 (23:03 -0400)
Commit c9fdeb28 removed a 'continue' after checking if the lease needs
to be renewed. However, if client hasn't moved, the code falls down to
starting reboot recovery erroneously (ie., sends open reclaim and gets
back stale_clientid error) before recovering from getting stale_clientid
on the renew operation.

Signed-off-by: Olga Kornievskaia <kolga@netapp.com>
Fixes: c9fdeb280b8c (NFS: Add basic migration support to state manager thread)
Cc: stable@vger.kernel.org # 3.13+
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
fs/nfs/nfs4state.c

index 22fe35104c0c1cb30b1d1a27c9996380710a00c6..6678769e1a54657a6c2314e5d628e84d95bc4654 100644 (file)
@@ -2345,6 +2345,7 @@ static void nfs4_state_manager(struct nfs_client *clp)
                        status = nfs4_check_lease(clp);
                        if (status < 0)
                                goto out_error;
+                       continue;
                }
 
                if (test_and_clear_bit(NFS4CLNT_MOVED, &clp->cl_state)) {