From c3a7713b1641c08f74f213469e8483aeb6e2e208 Mon Sep 17 00:00:00 2001 From: Trond Myklebust Date: Fri, 18 Jan 2013 23:01:43 -0500 Subject: [PATCH] --- yaml --- r: 349451 b: refs/heads/master c: 65436ec0c8e344d9b23302b686e418f2a7b7cf7b h: refs/heads/master i: 349449: f7aa5937cf1d7b884c18586c0ecfb1e16b101601 349447: 89e3177bddc9f54455dfb2ab517ebb7188976922 v: v3 --- [refs] | 2 +- trunk/fs/nfs/nfs4client.c | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index c77fea1152e4..22b9e4ef7c6b 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 202c312dba7d95b96493b412c606163a0cd83984 +refs/heads/master: 65436ec0c8e344d9b23302b686e418f2a7b7cf7b diff --git a/trunk/fs/nfs/nfs4client.c b/trunk/fs/nfs/nfs4client.c index 2f21f17fb16c..2e9779b58b7a 100644 --- a/trunk/fs/nfs/nfs4client.c +++ b/trunk/fs/nfs/nfs4client.c @@ -440,14 +440,17 @@ int nfs41_walk_client_list(struct nfs_client *new, nfs_put_client(prev); prev = pos; + nfs4_schedule_lease_recovery(pos); status = nfs_wait_client_init_complete(pos); if (status < 0) { nfs_put_client(pos); spin_lock(&nn->nfs_client_lock); continue; } - + status = pos->cl_cons_state; spin_lock(&nn->nfs_client_lock); + if (status < 0) + continue; } if (pos->rpc_ops != new->rpc_ops)