patch-2.2.0-pre6 linux/net/sunrpc/xprt.c

Next file: linux/net/wanrouter/patchlevel
Previous file: linux/net/sunrpc/sysctl.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.2.0-pre5/linux/net/sunrpc/xprt.c linux/net/sunrpc/xprt.c
@@ -821,12 +821,19 @@
 	 */
 	if (!xprt->rx_pending_flag)
 	{
-		dprintk("RPC:     xprt queue\n");
+		int start_queue=0;
+
+		dprintk("RPC:     xprt queue %p\n", rpc_xprt_pending);
 		if(rpc_xprt_pending==NULL)
-			tcp_rpciod_queue();
+			start_queue=1;
 		xprt->rx_pending_flag=1;
 		xprt->rx_pending=rpc_xprt_pending;
 		rpc_xprt_pending=xprt;
+		if (start_queue)
+		  {
+		    tcp_rpciod_queue();
+		    start_queue=0;
+		  }
 	}
 	else
 		dprintk("RPC:     xprt queued already %p\n", xprt);

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov