2009-11-27 00:14:40

by Stephen R. van den Berg

[permalink] [raw]
Subject: Re: Fw: Deadlock regression in v2.6.31.6

On Fri, Nov 27, 2009 at 01:07, Stephen R. van den Berg <[email protected]> wr=
ote:
> RPC: =A0 =A0 =A0 worker connecting xprt cfa94400 to address: addr=3D1=
=2E2.3.151
> port=3D2049 proto=3Dtcp
> RPC: =A0 =A0 =A0 cfa94400 connect status 99 connected 0 sock state 7

errno 99 means EADDRNOTAVAIL. In userspace this normally is solved by
using the REUSEADDR sockopt. In xprtsock.c we try something like:

/* We're probably in TIME_WAIT. Get rid of existing soc=
ket,
* and retry
*/
set_bit(XPRT_CONNECTION_CLOSE, &xprt->state);
xprt_force_disconnect(xprt);

I'd guess that this needs to be fixed, or the REUSEADDR sockopt needs t=
o be set.
--=20
Sincerely,
Stephen R. van den Berg.