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

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

 



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@xxxxxxxxxxxxxxxxx>
> Reviewed-by: Greg Banks <gnb@xxxxxxxxxxxxxxxxx>
> 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

--
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