diff options
Diffstat (limited to 'net/sunrpc/xprt.c')
| -rw-r--r-- | net/sunrpc/xprt.c | 21 |
1 files changed, 3 insertions, 18 deletions
diff --git a/net/sunrpc/xprt.c b/net/sunrpc/xprt.c index 313b68d892c6..e8c2bc4977f3 100644 --- a/net/sunrpc/xprt.c +++ b/net/sunrpc/xprt.c | |||
| @@ -707,12 +707,9 @@ out_unlock: | |||
| 707 | return err; | 707 | return err; |
| 708 | } | 708 | } |
| 709 | 709 | ||
| 710 | void | 710 | void xprt_end_transmit(struct rpc_task *task) |
| 711 | xprt_abort_transmit(struct rpc_task *task) | ||
| 712 | { | 711 | { |
| 713 | struct rpc_xprt *xprt = task->tk_xprt; | 712 | xprt_release_write(task->tk_xprt, task); |
| 714 | |||
| 715 | xprt_release_write(xprt, task); | ||
| 716 | } | 713 | } |
| 717 | 714 | ||
| 718 | /** | 715 | /** |
| @@ -761,8 +758,6 @@ void xprt_transmit(struct rpc_task *task) | |||
| 761 | task->tk_status = -ENOTCONN; | 758 | task->tk_status = -ENOTCONN; |
| 762 | else if (!req->rq_received) | 759 | else if (!req->rq_received) |
| 763 | rpc_sleep_on(&xprt->pending, task, NULL, xprt_timer); | 760 | rpc_sleep_on(&xprt->pending, task, NULL, xprt_timer); |
| 764 | |||
| 765 | xprt->ops->release_xprt(xprt, task); | ||
| 766 | spin_unlock_bh(&xprt->transport_lock); | 761 | spin_unlock_bh(&xprt->transport_lock); |
| 767 | return; | 762 | return; |
| 768 | } | 763 | } |
| @@ -772,18 +767,8 @@ void xprt_transmit(struct rpc_task *task) | |||
| 772 | * schedq, and being picked up by a parallel run of rpciod(). | 767 | * schedq, and being picked up by a parallel run of rpciod(). |
| 773 | */ | 768 | */ |
| 774 | task->tk_status = status; | 769 | task->tk_status = status; |
| 775 | 770 | if (status == -ECONNREFUSED) | |
| 776 | switch (status) { | ||
| 777 | case -ECONNREFUSED: | ||
| 778 | rpc_sleep_on(&xprt->sending, task, NULL, NULL); | 771 | rpc_sleep_on(&xprt->sending, task, NULL, NULL); |
| 779 | case -EAGAIN: | ||
| 780 | case -ENOTCONN: | ||
| 781 | return; | ||
| 782 | default: | ||
| 783 | break; | ||
| 784 | } | ||
| 785 | xprt_release_write(xprt, task); | ||
| 786 | return; | ||
| 787 | } | 772 | } |
| 788 | 773 | ||
| 789 | static inline void do_xprt_reserve(struct rpc_task *task) | 774 | static inline void do_xprt_reserve(struct rpc_task *task) |
