aboutsummaryrefslogtreecommitdiffstats
path: root/net/sunrpc/xprtsock.c
diff options
context:
space:
mode:
authorChuck Lever <cel@citi.umich.edu>2005-08-11 16:25:44 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2005-09-23 12:38:24 -0400
commit44fbac2288dfed6f1963ac00bf922c3bcd779cd1 (patch)
treef256182f85b4fdf9185903d6f0531f877e311c8e /net/sunrpc/xprtsock.c
parent86b9f57dfdf455763d2be73a742a9a88bb664173 (diff)
[PATCH] RPC: Add helper for waking tasks pending on a transport
Clean-up: remove only reference to xprt->pending from the socket transport implementation. This makes a cleaner interface for other transport implementations as well. Test-plan: Compile kernel with CONFIG_NFS enabled. Version: Thu, 11 Aug 2005 16:06:52 -0400 Signed-off-by: Chuck Lever <cel@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'net/sunrpc/xprtsock.c')
-rw-r--r--net/sunrpc/xprtsock.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/net/sunrpc/xprtsock.c b/net/sunrpc/xprtsock.c
index 76a33b54f436..182da2edf61c 100644
--- a/net/sunrpc/xprtsock.c
+++ b/net/sunrpc/xprtsock.c
@@ -703,7 +703,7 @@ static void xs_tcp_state_change(struct sock *sk)
703 xprt->tcp_reclen = 0; 703 xprt->tcp_reclen = 0;
704 xprt->tcp_copied = 0; 704 xprt->tcp_copied = 0;
705 xprt->tcp_flags = XPRT_COPY_RECM | XPRT_COPY_XID; 705 xprt->tcp_flags = XPRT_COPY_RECM | XPRT_COPY_XID;
706 rpc_wake_up(&xprt->pending); 706 xprt_wake_pending_tasks(xprt, 0);
707 } 707 }
708 spin_unlock_bh(&xprt->transport_lock); 708 spin_unlock_bh(&xprt->transport_lock);
709 break; 709 break;
@@ -920,10 +920,7 @@ static void xs_connect_worker(void *args)
920 } 920 }
921 } 921 }
922out: 922out:
923 if (status < 0) 923 xprt_wake_pending_tasks(xprt, status);
924 rpc_wake_up_status(&xprt->pending, status);
925 else
926 rpc_wake_up(&xprt->pending);
927out_clear: 924out_clear:
928 xprt_clear_connecting(xprt); 925 xprt_clear_connecting(xprt);
929} 926}