diff options
author | NeilBrown <neilb@suse.de> | 2010-08-12 03:04:07 -0400 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2010-09-21 16:57:49 -0400 |
commit | 1ebede86b8abbcf8833830e18e05391758cf2f28 (patch) | |
tree | 872f1218a45f84070eeac162621ef3e56fc6f222 /include/linux/sunrpc/svcauth.h | |
parent | 06497524589f2a7717da33969d541674e0a27da6 (diff) |
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>
Diffstat (limited to 'include/linux/sunrpc/svcauth.h')
-rw-r--r-- | include/linux/sunrpc/svcauth.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/include/linux/sunrpc/svcauth.h b/include/linux/sunrpc/svcauth.h index d39dbdc7b10f..11266935e2d6 100644 --- a/include/linux/sunrpc/svcauth.h +++ b/include/linux/sunrpc/svcauth.h | |||
@@ -108,9 +108,13 @@ struct auth_ops { | |||
108 | #define SVC_NEGATIVE 4 | 108 | #define SVC_NEGATIVE 4 |
109 | #define SVC_OK 5 | 109 | #define SVC_OK 5 |
110 | #define SVC_DROP 6 | 110 | #define SVC_DROP 6 |
111 | #define SVC_DENIED 7 | 111 | #define SVC_CLOSE 7 /* Like SVC_DROP, but request is definitely |
112 | #define SVC_PENDING 8 | 112 | * lost so if there is a tcp connection, it |
113 | #define SVC_COMPLETE 9 | 113 | * should be closed |
114 | */ | ||
115 | #define SVC_DENIED 8 | ||
116 | #define SVC_PENDING 9 | ||
117 | #define SVC_COMPLETE 10 | ||
114 | 118 | ||
115 | 119 | ||
116 | extern int svc_authenticate(struct svc_rqst *rqstp, __be32 *authp); | 120 | extern int svc_authenticate(struct svc_rqst *rqstp, __be32 *authp); |