freebsd-dev/sys/fs/ext2fs
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
..
ext2_alloc.c Adjust printf format specifiers for dev_t and ino_t in kernel. 2014-12-17 07:27:19 +00:00
ext2_balloc.c ext2fs: use of tab vs spaces. 2014-02-28 21:25:32 +00:00
ext2_bmap.c ext2fs: small formatting fixes. 2014-03-01 21:22:20 +00:00
ext2_dinode.h ext2fs: use of tab vs spaces. 2014-02-28 21:25:32 +00:00
ext2_dir.h Revert r269523: 2014-08-05 01:25:14 +00:00
ext2_extents.c Add read-only support for extents in ext2fs. 2013-08-12 21:34:48 +00:00
ext2_extents.h ext2fs: use of tab vs spaces. 2014-02-28 21:25:32 +00:00
ext2_extern.h ifdef ext2_print_inode which is not really used. 2014-11-12 16:23:56 +00:00
ext2_hash.c ext2fs: make the hashing algorithm match the linux code. 2013-12-23 19:47:34 +00:00
ext2_htree.c ext2fs: Fix a bug when sorting htree entries. 2014-03-06 21:02:16 +00:00
ext2_inode_cnv.c ifdef ext2_print_inode which is not really used. 2014-11-12 16:23:56 +00:00
ext2_inode.c ext2fs: Fix old out-of-bounds access. 2014-12-09 14:56:00 +00:00
ext2_lookup.c The VOP_LOOKUP() implementations for CREATE op do not put the name 2014-12-18 10:01:12 +00:00
ext2_mount.h ext2fs: use of tab vs spaces. 2014-02-28 21:25:32 +00:00
ext2_subr.c ext2fs: Use i_flag instead of i_flags for Ext4 inode flags. 2014-01-28 14:39:05 +00:00
ext2_vfsops.c ifdef ext2_print_inode which is not really used. 2014-11-12 16:23:56 +00:00
ext2_vnops.c Adjust printf format specifiers for dev_t and ino_t in kernel. 2014-12-17 07:27:19 +00:00
ext2fs.h ext2fs: use of tab vs spaces. 2014-02-28 21:25:32 +00:00
fs.h ext2fs: use of tab vs spaces. 2014-02-28 21:25:32 +00:00
htree.h ext2fs: use of tab vs spaces. 2014-02-28 21:25:32 +00:00
inode.h ext2fs: use of tab vs spaces. 2014-02-28 21:25:32 +00:00