On Wed, 2017-02-08 at 22:18 +0100, Mkrtchyan, Tigran wrote: > > > On Feb 8, 2017 17:48, Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxx > m> wrote: > With the current default TCP connection timeout being set at around > 3 minutes, and most server vendors setting the lease period at > values significantly lower than that, we can end up losing the lease > while waiting for the TCP layer to discover that we need to break > the > connection. > This patch series sets up an interface to allow the NFSv4 client to > adjust thsee timeout values down once it has obtained a value for > the lease period from the server. > > > Cool finally! I was waiting for that quite a bit. > > https://www.ietf.org/mail-archive/web/nfsv4/current/msg13758.html > > No. This mechanism does not excuse the server from having to process requests, and I am certainly not signing us up to any "gentleman's agreement". If the server has received an RPC call, then it MUST process it, whether or not there is a TCP connection, otherwise the lease may still be lost due to the server failing to live up to the requirements in RFC5661 Section 8.3 (See https://tools.ietf.org/html/rfc5661#section-8. 3). Those requirements state that "If the client ID's lease has not expired when the server receives a SEQUENCE operation, then the server MUST renew the lease." The point of these patches are to ensure that we detect routing changes and things like that in a timely fashion (again, as required by RFC5661, Section 8.3) so that we can re-establish the connection and renew the lease. > Tigran. > > Trond Myklebust (4): > SUNRPC: Remove unused function rpc_get_timeout() > SUNRPC: Refactor TCP socket timeout code into a helper function > SUNRPC: Allow changing of the TCP timeout parameters on the fly > NFSv4: Set the connection timeout to match the lease period > > fs/nfs/nfs4renewd.c | 2 +- > include/linux/sunrpc/clnt.h | 6 +-- > include/linux/sunrpc/xprt.h | 4 ++ > include/linux/sunrpc/xprtsock.h | 3 ++ > net/sunrpc/clnt.c | 51 +++++++++++++----------- > net/sunrpc/xprtsock.c | 88 > ++++++++++++++++++++++++++++++++--------- > 6 files changed, 107 insertions(+), 47 deletions(-) > -- Trond Myklebust Principal System Architect 4300 El Camino Real | Suite 100 Los Altos, CA 94022 W: 650-422-3800 C: 801-921-4583 www.primarydata.com ��.n��������+%������w��{.n�����{��w���jg��������ݢj����G�������j:+v���w�m������w�������h�����٥