Commit 6b996476 authored by Eryu Guan's avatar Eryu Guan Committed by Trond Myklebust
Browse files

sunrpc: honor rpc_task's timeout value in rpcb_create()



Currently rpcbind client is created without setting rpc timeout (thus
using the default value). But if the rpc_task already has a customized
timeout in its tk_client field, it's also ignored.

Let's use the same timeout setting in rpc_task->tk_client->cl_timeout
for rpcbind connection.

Signed-off-by: default avatarEryu Guan <eguan@linux.alibaba.com>
Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
parent 90ff57bf
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -344,13 +344,15 @@ static struct rpc_clnt *rpcb_create(struct net *net, const char *nodename,
				    const char *hostname,
				    struct sockaddr *srvaddr, size_t salen,
				    int proto, u32 version,
				    const struct cred *cred)
				    const struct cred *cred,
				    const struct rpc_timeout *timeo)
{
	struct rpc_create_args args = {
		.net		= net,
		.protocol	= proto,
		.address	= srvaddr,
		.addrsize	= salen,
		.timeout	= timeo,
		.servername	= hostname,
		.nodename	= nodename,
		.program	= &rpcb_program,
@@ -705,7 +707,8 @@ void rpcb_getport_async(struct rpc_task *task)
				clnt->cl_nodename,
				xprt->servername, sap, salen,
				xprt->prot, bind_version,
				clnt->cl_cred);
				clnt->cl_cred,
				task->tk_client->cl_timeout);
	if (IS_ERR(rpcb_clnt)) {
		status = PTR_ERR(rpcb_clnt);
		goto bailout_nofree;