Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 65436ec0 authored by Trond Myklebust's avatar Trond Myklebust
Browse files

NFSv4.1: Ensure that nfs41_walk_client_list() does start lease recovery



We do need to start the lease recovery thread prior to waiting for the
client initialisation to complete in NFSv4.1.

Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
Cc: Chuck Lever <chuck.lever@oracle.com>
Cc: Ben Greear <greearb@candelatech.com>
Cc: stable@vger.kernel.org [>=3.7]
parent 202c312d
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -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)