Re: [PATCH 03/04] NFS/RDMA client stall patches

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This patch changes rpcrdma_conn_func() to directly call xprt_disconnect() instead of directly waking the pending
task queue. It's also changes to more closely match the
tcp equivalent function.

Signed-off-by: Peter Leckie <pleckie@xxxxxxxxxxxxxxxxx>
Reviewed-by: Greg Banks <gnb@xxxxxxxxxxxxxxxxx>
X-Sgi-Pv: 970244
<http://bugworks/query.cgi/970244>---
Index: linux-2.6.25.3/net/sunrpc/xprtrdma/rpc_rdma.c
===================================================================
--- linux-2.6.25.3.orig/net/sunrpc/xprtrdma/rpc_rdma.c
+++ linux-2.6.25.3/net/sunrpc/xprtrdma/rpc_rdma.c
@@ -680,15 +680,13 @@ rpcrdma_conn_func(struct rpcrdma_ep *ep)
{
       struct rpc_xprt *xprt = ep->rep_xprt;

-       spin_lock_bh(&xprt->transport_lock);
       if (ep->rep_connected > 0) {
+               spin_lock_bh(&xprt->transport_lock);
               if (!xprt_test_and_set_connected(xprt))
                       xprt_wake_pending_tasks(xprt, 0);
-       } else {
-               if (xprt_test_and_clear_connected(xprt))
-                       xprt_wake_pending_tasks(xprt, ep->rep_connected);
-       }
-       spin_unlock_bh(&xprt->transport_lock);
+               spin_unlock_bh(&xprt->transport_lock);
+       } else
+               xprt_disconnect(xprt);
}

/*

--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux