linux/net/sunrpc
NeilBrown d202cce896 sunrpc: never return expired entries in sunrpc_cache_lookup
If sunrpc_cache_lookup finds an expired entry, remove it from
the cache and return a freshly created non-VALID entry instead.
This ensures that we only ever get a usable entry, or an
entry that will become usable once an update arrives.
i.e. we will never need to repeat the lookup.

This allows us to remove the 'is_expired' test from cache_check
(i.e. from cache_is_valid).  cache_check should never get an expired
entry as 'lookup' will never return one.  If it does happen - due to
inconvenient timing - then just accept it as still valid, it won't be
very much past it's use-by date.

Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
2010-03-14 21:48:52 -04:00
..
auth_gss sunrpc: parse and return errors reported by gssd 2010-02-10 08:30:50 -05:00
xprtrdma Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-12-09 19:43:33 -08:00
addr.c SUNRPC: Don't display zero scope IDs 2010-02-10 08:30:53 -05:00
auth_generic.c SUNRPC: Defer the auth_gss upcall when the RPC call is asynchronous 2009-09-15 20:49:33 -04:00
auth_null.c headers: utsname.h redux 2009-09-23 18:13:10 -07:00
auth_unix.c SUNRPC: Use GFP_NOFS when allocating credentials 2008-07-09 12:08:48 -04:00
auth.c Merge branch 'nfs-for-2.6.33' 2009-12-13 13:56:27 -05:00
backchannel_rqst.c nfs41: sunrpc: xprt_alloc_bc_request() should not use spin_lock_bh() 2009-06-20 14:55:39 -04:00
bc_svc.c nfs41: Backchannel callback service helper routines 2009-06-17 14:11:28 -07:00
cache.c sunrpc: never return expired entries in sunrpc_cache_lookup 2010-03-14 21:48:52 -04:00
clnt.c SUNRPC: soft connect semantics for UDP 2009-12-03 15:58:56 -05:00
Kconfig Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-04-03 15:24:35 -07:00
Makefile SUNRPC: Provide functions for managing universal addresses 2009-08-09 15:09:34 -04:00
rpc_pipe.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 2010-03-04 08:15:33 -08:00
rpcb_clnt.c SUNRPC: Use soft connects for autobinding over TCP 2009-12-03 15:58:56 -05:00
sched.c nfs: enforce FIFO ordering of operations trying to acquire slot 2009-12-15 13:55:18 -05:00
socklib.c SUNRPC: temp var should match return type of xdr_skb_read_actor 2008-01-30 02:05:43 -05:00
stats.c nfs41: Rename rq_received to rq_reply_bytes_recvd 2009-06-17 14:11:40 -07:00
sunrpc_syms.c SUNRPC: Use a cached RPC client and transport for rpcbind upcalls 2009-12-03 15:58:56 -05:00
sunrpc.h nfsd41: sunrpc: Added rpc server-side backchannel handling 2009-09-11 15:04:16 -04:00
svc_xprt.c Revert "sunrpc: move the close processing after do recvfrom method" 2010-02-28 16:39:30 -05:00
svc.c nodemask.h: remove macro any_online_node 2010-03-06 11:26:31 -08:00
svcauth_unix.c svcrpc: treat uid's as unsigned 2010-03-02 15:49:21 -05:00
svcauth.c net: Move && and || to end of previous line 2009-11-29 16:55:45 -08:00
svcsock.c nfsd: ensure sockets are closed on error 2010-02-28 23:21:51 -05:00
sysctl.c sysctl: Drop & in front of every proc_handler. 2009-11-18 08:37:40 -08:00
timer.c SUNRPC: Add documenting comments in net/sunrpc/timer.c 2009-08-09 15:09:47 -04:00
xdr.c sunrpc: ntoh -> be*_to_cpu 2009-08-14 13:12:52 -04:00
xprt.c SUNRPC: Ensure that we honour autoclose before attempting to reconnect 2009-12-03 08:10:17 -05:00
xprtsock.c SUNRPC: Handle EINVAL error returns from the TCP connect operation 2010-03-02 13:06:21 -05:00