Having looked more carefully at the code... Is there any reason to keep the xprt->connect_timeout? As far as I can see, it would appear to be completely redundant. For UDP there is no disconnect/reconnect. The socket is set up once and for all, so no need for connect_timeout. In the case of a TCP reconnection, the xprt->reestablish_timeout will do exponential back-off to prevent reconnecting unnecessarily. The XPRT_CONNECTING lock then prevents anyone from trying to interfere with that connect request until it gets a reply, or the TCP layer decides that the socket has timed out. Again, it appears that xprt->connect_timeout is redundant. RDMA reconnection appears to follow the TCP model. Once again, there is exponential back-off, enforced by XPRT_CONNECTING. So why do we have xprt->connect_timeout? What is it enforcing? 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