Commit f05d54ec authored by Trond Myklebust's avatar Trond Myklebust
Browse files

SUNRPC: Allow soft RPC calls to time out when waiting for the XPRT_LOCK



This no longer causes them to lose their place in the transmission queue.

Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
parent 89f90fe1
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -195,7 +195,7 @@ int xprt_reserve_xprt(struct rpc_xprt *xprt, struct rpc_task *task)
out_sleep:
	dprintk("RPC: %5u failed to lock transport %p\n",
			task->tk_pid, xprt);
	task->tk_timeout = 0;
	task->tk_timeout = RPC_IS_SOFT(task) ? req->rq_timeout : 0;
	task->tk_status = -EAGAIN;
	if (req == NULL)
		priority = RPC_PRIORITY_LOW;
@@ -274,7 +274,7 @@ int xprt_reserve_xprt_cong(struct rpc_xprt *xprt, struct rpc_task *task)
	xprt_clear_locked(xprt);
out_sleep:
	dprintk("RPC: %5u failed to lock transport %p\n", task->tk_pid, xprt);
	task->tk_timeout = 0;
	task->tk_timeout = RPC_IS_SOFT(task) ? req->rq_timeout : 0;
	task->tk_status = -EAGAIN;
	if (req == NULL)
		priority = RPC_PRIORITY_LOW;