sunrpc: close connection when a request is irretrievably lost.
authorNeilBrown <neilb@suse.de>
Thu, 12 Aug 2010 07:04:07 +0000 (17:04 +1000)
committerJ. Bruce Fields <bfields@redhat.com>
Tue, 21 Sep 2010 20:57:49 +0000 (16:57 -0400)
commit1ebede86b8abbcf8833830e18e05391758cf2f28
tree872f1218a45f84070eeac162621ef3e56fc6f222
parent06497524589f2a7717da33969d541674e0a27da6
sunrpc: close connection when a request is irretrievably lost.

If we drop a request in the sunrpc layer, either due kmalloc failure,
or due to a cache miss when we could not queue the request for later
replay, then close the connection to encourage the client to retry sooner.

Note that if the drop happens in the NFS layer, NFSERR_JUKEBOX
(aka NFS4ERR_DELAY) is returned to guide the client concerning
replay.

Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
include/linux/sunrpc/svcauth.h
net/sunrpc/auth_gss/svcauth_gss.c
net/sunrpc/svc.c
net/sunrpc/svcauth_unix.c