aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2006-03-20 13:44:40 -0500
committerTrond Myklebust <Trond.Myklebust@netapp.com>2006-03-20 13:44:40 -0500
commit04266473ecf5cdca242201d9f1ed890afe070fb6 (patch)
treec5c13c61db25a999cda87e5c6b4aacba12b44049
parent686517f1ad1630c11964d668b556aab79b8c942e (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.c3
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 }