SUNRPC: Don't disconnect more than once if retransmitting NFSv4 requests
authorTrond Myklebust <Trond.Myklebust@netapp.com>
Thu, 17 Apr 2008 20:52:57 +0000 (16:52 -0400)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Sat, 19 Apr 2008 20:55:12 +0000 (16:55 -0400)
commit7c1d71cf56feebfb5b98219b9d11dfc3a2feca62
tree5a073d987ec79900b2aff217a226c8c78e94b579
parent636ac43318ce6939c1698fb67e714d421314ed71
SUNRPC: Don't disconnect more than once if retransmitting NFSv4 requests

NFSv4 requires us to ensure that we break the TCP connection before we're
allowed to retransmit a request. However in the case where we're
retransmitting several requests that have been sent on the same
connection, we need to ensure that we don't interfere with the attempt to
reconnect and/or break the connection again once it has been established.

We therefore introduce a 'connection' cookie that is bumped every time a
connection is broken. This allows requests to track if they need to force a
disconnection.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
include/linux/sunrpc/xprt.h
net/sunrpc/clnt.c
net/sunrpc/xprt.c
net/sunrpc/xprtsock.c