diff options
author | NeilBrown <neilb@suse.de> | 2006-10-17 03:10:18 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-17 11:18:46 -0400 |
commit | d343fce148a4eee24a907a05c4101d3268045aae (patch) | |
tree | b8a110f85050b2425ce85434c01c0eac0076472b /include/linux/sunrpc/msg_prot.h | |
parent | 4481d1038f4116f3f5c307d919e6dc815a3acbb9 (diff) |
[PATCH] knfsd: Allow lockd to drop replies as appropriate
It is possible for the ->fopen callback from lockd into nfsd to find that an
answer cannot be given straight away (an upcall is needed) and so the request
has to be 'dropped', to be retried later. That error status is not currently
propagated back.
So:
Change nlm_fopen to return nlm error codes (rather than a private
protocol) and define a new nlm_drop_reply code.
Cause nlm_drop_reply to cause the rpc request to get rpc_drop_reply
when this error comes back.
Cause svc_process to drop a request which returns a status of
rpc_drop_reply.
[akpm@osdl.org: fix warning storm]
Cc: Marc Eshel <eshel@almaden.ibm.com>
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/linux/sunrpc/msg_prot.h')
-rw-r--r-- | include/linux/sunrpc/msg_prot.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/include/linux/sunrpc/msg_prot.h b/include/linux/sunrpc/msg_prot.h index 1e65f2dd80e5..606cb2165232 100644 --- a/include/linux/sunrpc/msg_prot.h +++ b/include/linux/sunrpc/msg_prot.h | |||
@@ -56,7 +56,9 @@ enum rpc_accept_stat { | |||
56 | RPC_PROG_MISMATCH = 2, | 56 | RPC_PROG_MISMATCH = 2, |
57 | RPC_PROC_UNAVAIL = 3, | 57 | RPC_PROC_UNAVAIL = 3, |
58 | RPC_GARBAGE_ARGS = 4, | 58 | RPC_GARBAGE_ARGS = 4, |
59 | RPC_SYSTEM_ERR = 5 | 59 | RPC_SYSTEM_ERR = 5, |
60 | /* internal use only */ | ||
61 | RPC_DROP_REPLY = 60000, | ||
60 | }; | 62 | }; |
61 | 63 | ||
62 | enum rpc_reject_stat { | 64 | enum rpc_reject_stat { |