summaryrefslogtreecommitdiffstats
path: root/net/sunrpc/xprt.c
diff options
context:
space:
mode:
authorTrond Myklebust <trond.myklebust@hammerspace.com>2018-08-30 19:27:29 +0200
committerTrond Myklebust <trond.myklebust@hammerspace.com>2018-09-30 21:35:15 +0200
commit50f484e298218b7271fad8a23bd44c82fb3110e1 (patch)
treed685e2ade1957ba38d150bfb023ae1936e66fa99 /net/sunrpc/xprt.c
parentSUNRPC: Fix up the back channel transmit (diff)
downloadlinux-50f484e298218b7271fad8a23bd44c82fb3110e1.tar.xz
linux-50f484e298218b7271fad8a23bd44c82fb3110e1.zip
SUNRPC: Treat the task and request as separate in the xprt_ops->send_request()
When we shift to using the transmit queue, then the task that holds the write lock will not necessarily be the same as the one being transmitted. Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Diffstat (limited to 'net/sunrpc/xprt.c')
-rw-r--r--net/sunrpc/xprt.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/sunrpc/xprt.c b/net/sunrpc/xprt.c
index f5be739492d4..6e735dd1fde0 100644
--- a/net/sunrpc/xprt.c
+++ b/net/sunrpc/xprt.c
@@ -1191,7 +1191,7 @@ void xprt_transmit(struct rpc_task *task)
}
connect_cookie = xprt->connect_cookie;
- status = xprt->ops->send_request(task);
+ status = xprt->ops->send_request(req, task);
trace_xprt_transmit(xprt, req->rq_xid, status);
if (status != 0) {
task->tk_status = status;