diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2006-03-20 13:44:40 -0500 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2006-03-20 13:44:40 -0500 |
commit | 04266473ecf5cdca242201d9f1ed890afe070fb6 (patch) | |
tree | c5c13c61db25a999cda87e5c6b4aacba12b44049 | |
parent | 686517f1ad1630c11964d668b556aab79b8c942e (diff) |
lockd: Make lockd use rpc_new_client() instead of rpc_create_client
When doing NLM_GRANTED requests, lockd may end up blocking if we use
rpc_create_client() due to the synchronous call to rpc_ping(). Instead, use
rpc_new_client().
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-rw-r--r-- | fs/lockd/host.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/lockd/host.c b/fs/lockd/host.c index 82f7a0b1d8ae..100e78229700 100644 --- a/fs/lockd/host.c +++ b/fs/lockd/host.c | |||
@@ -191,11 +191,12 @@ nlm_bind_host(struct nlm_host *host) | |||
191 | xprt->resvport = 1; /* NLM requires a reserved port */ | 191 | xprt->resvport = 1; /* NLM requires a reserved port */ |
192 | 192 | ||
193 | /* Existing NLM servers accept AUTH_UNIX only */ | 193 | /* Existing NLM servers accept AUTH_UNIX only */ |
194 | clnt = rpc_create_client(xprt, host->h_name, &nlm_program, | 194 | clnt = rpc_new_client(xprt, host->h_name, &nlm_program, |
195 | host->h_version, RPC_AUTH_UNIX); | 195 | host->h_version, RPC_AUTH_UNIX); |
196 | if (IS_ERR(clnt)) | 196 | if (IS_ERR(clnt)) |
197 | goto forgetit; | 197 | goto forgetit; |
198 | clnt->cl_autobind = 1; /* turn on pmap queries */ | 198 | clnt->cl_autobind = 1; /* turn on pmap queries */ |
199 | clnt->cl_softrtry = 1; /* All queries are soft */ | ||
199 | 200 | ||
200 | host->h_rpcclnt = clnt; | 201 | host->h_rpcclnt = clnt; |
201 | } | 202 | } |