aboutsummaryrefslogtreecommitdiff
path: root/fs/lockd/host.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2008-02-11 09:19:47 -0800
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2008-02-11 09:19:47 -0800
commit0c0d61ca93d111c521182c0909e478fa709e05c6 (patch)
treebe690362142ec79a673f85d7b2b7323102fab6f8 /fs/lockd/host.c
parenteedcdefb1ad75de9cc0889b247524be64cc244ef (diff)
parentbb50c8012cbd85b8e105584b32e4d5a2d335dcef (diff)
Merge branch 'for-linus' of git://linux-nfs.org/~bfields/linux
* 'for-linus' of git://linux-nfs.org/~bfields/linux: SUNPRC: Fix printk format warning nfsd: clean up svc_reserve_auth() NLM: don't requeue block if it was invalidated while GRANT_MSG was in flight NLM: don't reattempt GRANT_MSG when there is already an RPC in flight NLM: have server-side RPC clients default to soft RPC tasks NLM: set RPC_CLNT_CREATE_NOPING for NLM RPC clients
Diffstat (limited to 'fs/lockd/host.c')
-rw-r--r--fs/lockd/host.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/fs/lockd/host.c b/fs/lockd/host.c
index ca6b16fc310..f1ef49fff11 100644
--- a/fs/lockd/host.c
+++ b/fs/lockd/host.c
@@ -243,10 +243,18 @@ nlm_bind_host(struct nlm_host *host)
.program = &nlm_program,
.version = host->h_version,
.authflavor = RPC_AUTH_UNIX,
- .flags = (RPC_CLNT_CREATE_HARDRTRY |
+ .flags = (RPC_CLNT_CREATE_NOPING |
RPC_CLNT_CREATE_AUTOBIND),
};
+ /*
+ * lockd retries server side blocks automatically so we want
+ * those to be soft RPC calls. Client side calls need to be
+ * hard RPC tasks.
+ */
+ if (!host->h_server)
+ args.flags |= RPC_CLNT_CREATE_HARDRTRY;
+
clnt = rpc_create(&args);
if (!IS_ERR(clnt))
host->h_rpcclnt = clnt;