|
@@ -243,11 +243,18 @@ nlm_bind_host(struct nlm_host *host)
|
|
.program = &nlm_program,
|
|
.program = &nlm_program,
|
|
.version = host->h_version,
|
|
.version = host->h_version,
|
|
.authflavor = RPC_AUTH_UNIX,
|
|
.authflavor = RPC_AUTH_UNIX,
|
|
- .flags = (RPC_CLNT_CREATE_HARDRTRY |
|
|
|
|
- RPC_CLNT_CREATE_NOPING |
|
|
|
|
|
|
+ .flags = (RPC_CLNT_CREATE_NOPING |
|
|
RPC_CLNT_CREATE_AUTOBIND),
|
|
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);
|
|
clnt = rpc_create(&args);
|
|
if (!IS_ERR(clnt))
|
|
if (!IS_ERR(clnt))
|
|
host->h_rpcclnt = clnt;
|
|
host->h_rpcclnt = clnt;
|