diff options
author | Rahul Iyer <iyer@netapp.com> | 2009-04-01 09:23:17 -0400 |
---|---|---|
committer | Benny Halevy <bhalevy@panasas.com> | 2009-06-17 17:11:34 -0400 |
commit | 343952fa5aac888934ffc203abed26a823400eb6 (patch) | |
tree | 95fc380be059ac0b0d3f7f89c1f76b2375685507 | |
parent | 0f91421e8ea986c990c01bf091ceff1d59c165ff (diff) |
nfs41: Get the rpc_xprt * from the rpc_rqst instead of the rpc_clnt.
Obtain the rpc_xprt from the rpc_rqst so that calls and callback replies
can both use the same code path. A client needs the rpc_xprt in order
to reply to a callback.
Signed-off-by: Rahul Iyer <iyer@netapp.com>
Signed-off-by: Ricardo Labiaga <ricardo.labiaga@netapp.com>
Signed-off-by: Benny Halevy <bhalevy@panasas.com>
-rw-r--r-- | net/sunrpc/xprt.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/sunrpc/xprt.c b/net/sunrpc/xprt.c index 0eea2bfe111b..c144611223fc 100644 --- a/net/sunrpc/xprt.c +++ b/net/sunrpc/xprt.c | |||
@@ -195,8 +195,8 @@ EXPORT_SYMBOL_GPL(xprt_load_transport); | |||
195 | */ | 195 | */ |
196 | int xprt_reserve_xprt(struct rpc_task *task) | 196 | int xprt_reserve_xprt(struct rpc_task *task) |
197 | { | 197 | { |
198 | struct rpc_xprt *xprt = task->tk_xprt; | ||
199 | struct rpc_rqst *req = task->tk_rqstp; | 198 | struct rpc_rqst *req = task->tk_rqstp; |
199 | struct rpc_xprt *xprt = req->rq_xprt; | ||
200 | 200 | ||
201 | if (test_and_set_bit(XPRT_LOCKED, &xprt->state)) { | 201 | if (test_and_set_bit(XPRT_LOCKED, &xprt->state)) { |
202 | if (task == xprt->snd_task) | 202 | if (task == xprt->snd_task) |
@@ -858,7 +858,7 @@ out_unlock: | |||
858 | 858 | ||
859 | void xprt_end_transmit(struct rpc_task *task) | 859 | void xprt_end_transmit(struct rpc_task *task) |
860 | { | 860 | { |
861 | xprt_release_write(task->tk_xprt, task); | 861 | xprt_release_write(task->tk_rqstp->rq_xprt, task); |
862 | } | 862 | } |
863 | 863 | ||
864 | /** | 864 | /** |