Linux NFS development
 help / color / mirror / Atom feed
* Re: [PATCH 02/04]  NFS/RDMA client stall patches
@ 2008-05-19  3:51 Peter Leckie
  2008-06-10 19:19 ` Trond Myklebust
  0 siblings, 1 reply; 2+ messages in thread
From: Peter Leckie @ 2008-05-19  3:51 UTC (permalink / raw)
  To: talpey; +Cc: linux-nfs

Drain both the sending and resend queues on disconnect.
This prevents the client from getting it's self into a
dead state when the server disconnects us.

Signed-off-by: Peter Leckie <pleckie-cP1dWloDopni96+mSzHFpQC/G2K4zDHf@public.gmane.org>
Reviewed-by: Greg Banks <gnb-cP1dWloDopni96+mSzHFpQC/G2K4zDHf@public.gmane.org>
X-Sgi-Pv: 971446
 <http://bugworks/query.cgi/971446>---
Index: linux-2.6.25.3/net/sunrpc/xprt.c
===================================================================
--- linux-2.6.25.3.orig/net/sunrpc/xprt.c
+++ linux-2.6.25.3/net/sunrpc/xprt.c
@@ -586,6 +586,8 @@ void xprt_disconnect_done(struct rpc_xpr
        spin_lock_bh(&xprt->transport_lock);
        xprt_clear_connected(xprt);
        xprt_wake_pending_tasks(xprt, -ENOTCONN);
+       rpc_wake_up_status(&xprt->resend, -ENOTCONN);
+       rpc_wake_up_status(&xprt->sending, -ENOTCONN);
        spin_unlock_bh(&xprt->transport_lock);
 }
 EXPORT_SYMBOL_GPL(xprt_disconnect_done);


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH 02/04]  NFS/RDMA client stall patches
  2008-05-19  3:51 [PATCH 02/04] NFS/RDMA client stall patches Peter Leckie
@ 2008-06-10 19:19 ` Trond Myklebust
  0 siblings, 0 replies; 2+ messages in thread
From: Trond Myklebust @ 2008-06-10 19:19 UTC (permalink / raw)
  To: Peter Leckie; +Cc: talpey, linux-nfs

On Mon, 2008-05-19 at 13:51 +1000, Peter Leckie wrote:
> Drain both the sending and resend queues on disconnect.
> This prevents the client from getting it's self into a
> dead state when the server disconnects us.
> 
> Signed-off-by: Peter Leckie <pleckie-cP1dWloDopni96+mSzHFpQC/G2K4zDHf@public.gmane.org>
> Reviewed-by: Greg Banks <gnb-cP1dWloDopni96+mSzHFpQC/G2K4zDHf@public.gmane.org>
> X-Sgi-Pv: 971446
>  <http://bugworks/query.cgi/971446>---
> Index: linux-2.6.25.3/net/sunrpc/xprt.c
> ===================================================================
> --- linux-2.6.25.3.orig/net/sunrpc/xprt.c
> +++ linux-2.6.25.3/net/sunrpc/xprt.c
> @@ -586,6 +586,8 @@ void xprt_disconnect_done(struct rpc_xpr
>         spin_lock_bh(&xprt->transport_lock);
>         xprt_clear_connected(xprt);
>         xprt_wake_pending_tasks(xprt, -ENOTCONN);
> +       rpc_wake_up_status(&xprt->resend, -ENOTCONN);
> +       rpc_wake_up_status(&xprt->sending, -ENOTCONN);
>         spin_unlock_bh(&xprt->transport_lock);
>  }
>  EXPORT_SYMBOL_GPL(xprt_disconnect_done);

What kind of a deadlock? The tasks on these queues should be waiting for
the XPRT_LOCKED bit. Why would the change in connection status change
anything to that?

Trond


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2008-06-10 19:19 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-05-19  3:51 [PATCH 02/04] NFS/RDMA client stall patches Peter Leckie
2008-06-10 19:19 ` Trond Myklebust

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox