1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-27 11:55:06 +00:00
freebsd/sys/fs/nfsclient
Rick Macklem 5e99212d36 Post r230394, the Lookup RPC counts for both NFS clients increased
significantly. Upon investigation this was caused by name cache
misses for lookups of "..". For name cache entries for non-".."
directories, the cache entry serves double duty. It maps both the
named directory plus ".." for the parent of the directory. As such,
two ctime values (one for each of the directory and its parent) need
to be saved in the name cache entry.
This patch adds an entry for ctime of the parent directory to the
name cache. It also adds an additional uma zone for large entries
with this time value, in order to minimize memory wastage.
As well, it fixes a couple of cases where the mtime of the parent
directory was being saved instead of ctime for positive name cache
entries. With this patch, Lookup RPC counts return to values similar
to pre-r230394 kernels.

Reported by:	bde
Discussed with:	kib
Reviewed by:	jhb
MFC after:	2 weeks
2012-03-03 01:06:54 +00:00
..
nfs_clbio.c Fix the NFS clients so that they use copyin() instead of bcopy(), 2012-03-01 03:53:07 +00:00
nfs_clcomsubs.c Fix the new NFS client so that it handles NFSv4 state 2011-05-27 22:05:10 +00:00
nfs_clkdtrace.c Add DTrace support to the new NFS client. This is essentially 2011-06-18 23:02:53 +00:00
nfs_clkrpc.c opt_inet6.h was missing from some files in the new NFS subsystem. 2012-01-08 01:54:46 +00:00
nfs_clnfsiod.c Change the sysctl naming for the old and new NFS clients 2011-05-15 20:52:43 +00:00
nfs_clnode.c A problem with respect to data read through the buffer cache for both 2012-01-27 02:46:12 +00:00
nfs_clport.c Add multi-FIB IPv6 support to the core network stack supplementing 2012-02-03 13:08:44 +00:00
nfs_clrpcops.c Post r230394, the Lookup RPC counts for both NFS clients increased 2012-03-03 01:06:54 +00:00
nfs_clstate.c r228827 fixed a problem where copying of NFSv4 open credentials into 2012-02-07 16:32:43 +00:00
nfs_clsubs.c Simple find/replace of VOP_ISLOCKED -> NFSVOPISLOCKED. This is done so that NFSVOPISLOCKED can be modified later to add enhanced logging and assertions. 2011-07-16 08:05:41 +00:00
nfs_clvfsops.c Add multi-FIB IPv6 support to the core network stack supplementing 2012-02-03 13:08:44 +00:00
nfs_clvnops.c Post r230394, the Lookup RPC counts for both NFS clients increased 2012-03-03 01:06:54 +00:00
nfs_kdtrace.h Add DTrace support to the new NFS client. This is essentially 2011-06-18 23:02:53 +00:00
nfs.h Modify the experimental (newnfs) NFS client so that it uses the 2011-04-25 23:12:18 +00:00
nfsmount.h Add a timeout on positive name cache entries in the NFS client. That is, 2012-01-25 20:05:58 +00:00
nfsnode.h Close a race in NFS lookup processing that could result in stale name cache 2012-01-20 20:02:01 +00:00
nlminfo.h