lockd: Make lockd use rpc_new_client() instead of rpc_create_client
authorTrond Myklebust <Trond.Myklebust@netapp.com>
Mon, 20 Mar 2006 18:44:40 +0000 (13:44 -0500)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Mon, 20 Mar 2006 18:44:40 +0000 (13:44 -0500)
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>
fs/lockd/host.c

index 82f7a0b1d8ae1d563b770e45e62c2fa495d05684..100e78229700a03be65a7ffd6c737f598126b35b 100644 (file)
@@ -191,11 +191,12 @@ nlm_bind_host(struct nlm_host *host)
                xprt->resvport = 1;     /* NLM requires a reserved port */
 
                /* Existing NLM servers accept AUTH_UNIX only */
-               clnt = rpc_create_client(xprt, host->h_name, &nlm_program,
+               clnt = rpc_new_client(xprt, host->h_name, &nlm_program,
                                        host->h_version, RPC_AUTH_UNIX);
                if (IS_ERR(clnt))
                        goto forgetit;
                clnt->cl_autobind = 1;  /* turn on pmap queries */
+               clnt->cl_softrtry = 1; /* All queries are soft */
 
                host->h_rpcclnt = clnt;
        }