1
0
mirror of https://git.FreeBSD.org/src.git synced 2025-01-17 15:27:36 +00:00
freebsd/sys/fs/nfsclient
Konstantin Belousov 6c21f6edb8 The VOP_LOOKUP() implementations for CREATE op do not put the name
into namecache, to avoid cache trashing when doing large operations.
E.g., tar archive extraction is not usually followed by access to many
of the files created.

Right now, each VOP_LOOKUP() implementation explicitely knowns about
this quirk and tests for both MAKEENTRY flag presence and op != CREATE
to make the call to cache_enter().  Centralize the handling of the
quirk into VFS, by deciding to cache only by MAKEENTRY flag in VOP.
VFS now sets NOCACHE flag for CREATE namei() calls.

Note that the change in semantic is backward-compatible and could be
merged to the stable branch, and is compatible with non-changed
third-party filesystems which correctly handle MAKEENTRY.

Suggested by:	Chris Torek <torek@pi-coral.com>
Reviewed by:	mckusick
Tested by:	pho
Sponsored by:	The FreeBSD Foundation
MFC after:	2 weeks
2014-12-18 10:01:12 +00:00
..
nfs_clbio.c Avoid an exclusive acquisition of the object lock on the expected execution 2014-09-14 18:07:55 +00:00
nfs_clcomsubs.c Modify the NFSv4 client create/mkdir RPC so that it acquires 2014-04-20 22:19:00 +00:00
nfs_clkdtrace.c Fix build. 2013-11-26 10:34:34 +00:00
nfs_clkrpc.c Crashes have been observed for NFSv4.1 mounts when the system 2013-09-04 22:47:56 +00:00
nfs_clnfsiod.c When an NFS unmount occurs, once vflush() writes the last dirty 2013-04-18 23:20:16 +00:00
nfs_clnode.c - For kernel compiled only with KDTRACE_HOOKS and not any lock debugging 2013-11-25 07:38:45 +00:00
nfs_clport.c Update kernel inclusions of capability.h to use capsicum.h instead; some 2014-03-16 10:55:57 +00:00
nfs_clrpcops.c Fixes mkdir for the NFSv2 client that was broken by r264705. 2014-04-22 04:42:46 +00:00
nfs_clstate.c Merge the NFSv4.1 server code in projects/nfsv4.1-server over 2014-07-01 20:47:16 +00:00
nfs_clsubs.c - For kernel compiled only with KDTRACE_HOOKS and not any lock debugging 2013-11-25 07:38:45 +00:00
nfs_clvfsops.c Fix handling of "conn" mount_nfs(8) option. 2014-10-30 09:25:03 +00:00
nfs_clvnops.c The VOP_LOOKUP() implementations for CREATE op do not put the name 2014-12-18 10:01:12 +00:00
nfs_kdtrace.h - Nuke a second copy of nfscl_attrcache extern declarations from under 2013-11-26 22:41:40 +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 Move the NFSv4.1 client patches over from projects/nfsv4.1-client 2012-12-08 22:52:39 +00:00
nfsnode.h For software builds, the NFS client does many small 2013-12-07 23:05:59 +00:00
nlminfo.h