linux/net/sunrpc
J.Bruce Fields e0bb89ef03 [PATCH] knfsd: nfsd: don't drop silently on upcall deferral
To avoid tying up server threads when nfsd makes an upcall (to mountd, to get
export options, to idmapd, for nfsv4 name<->id mapping, etc.), we temporarily
"drop" the request and save enough information so that we can revisit it
later.

Certain failures during the deferral process can cause us to really drop the
request and never revisit it.

This is often less than ideal, and is unacceptable in the NFSv4 case--rfc 3530
forbids the server from dropping a request without also closing the
connection.

As a first step, we modify the deferral code to return -ETIMEDOUT (which is
translated to nfserr_jukebox in the v3 and v4 cases, and remains a drop in the
v2 case).

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-12-13 09:05:54 -08:00
..
auth_gss [PATCH] knfsd: nfsd: don't drop silently on upcall deferral 2006-12-13 09:05:54 -08:00
auth.c [SUNRPC]: trivial endianness annotations 2006-09-28 18:01:21 -07:00
auth_null.c [SUNRPC]: trivial endianness annotations 2006-09-28 18:01:21 -07:00
auth_unix.c [SUNRPC]: trivial endianness annotations 2006-09-28 18:01:21 -07:00
cache.c [PATCH] knfsd: nfsd: don't drop silently on upcall deferral 2006-12-13 09:05:54 -08:00
clnt.c SUNRPC: Make address format buffers more generic 2006-12-06 10:46:51 -05:00
Makefile [PATCH] RPC: introduce client-side transport switch 2005-09-23 12:38:12 -04:00
pmap_clnt.c SUNRPC: another pmap wakeup fix 2006-12-06 10:46:42 -05:00
rpc_pipe.c [PATCH] struct path: convert sunrpc 2006-12-08 08:28:50 -08:00
sched.c Merge branch 'master' of /home/trondmy/kernel/linux-2.6/ into merge_linus 2006-12-07 16:35:17 -05:00
socklib.c SUNRPC: Rename skb_reader_t and friends 2006-12-06 10:46:52 -05:00
stats.c [NET]: Conversions from kmalloc+memset to k(z|c)alloc. 2006-07-21 14:51:30 -07:00
sunrpc_syms.c SUNRPC: create stubs for xprtsock init and cleanup 2006-12-06 10:46:53 -05:00
svc.c [PATCH] Fix numerous kcalloc() calls, convert to kzalloc() 2006-12-13 09:05:52 -08:00
svcauth.c [PATCH] lockdep: name some old style locks 2006-12-07 08:39:36 -08:00
svcauth_unix.c [PATCH] knfsd: nfsd: don't drop silently on upcall deferral 2006-12-13 09:05:54 -08:00
svcsock.c [PATCH] lockdep: annotate nfs/nfsd in-kernel sockets 2006-12-07 08:39:30 -08:00
sysctl.c SUNRPC: relocate the creation of socket-specific tunables 2006-12-06 10:46:53 -05:00
timer.c SUNRPC: remove extraneous header inclusions 2006-09-22 23:24:47 -04:00
xdr.c rpc: move process_xdr_buf 2006-12-06 10:46:44 -05:00
xprt.c Merge branch 'master' of /home/trondmy/kernel/linux-2.6/ into merge_linus 2006-12-07 15:48:15 -05:00
xprtsock.c Merge branch 'master' of /home/trondmy/kernel/linux-2.6/ into merge_linus 2006-12-07 16:35:17 -05:00