git: kernel - cycle vnode in cache_unlink()
dillon at crater.dragonflybsd.org
Fri Feb 1 10:01:50 PST 2013
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Fri Feb 1 09:57:55 2013 -0800
kernel - cycle vnode in cache_unlink()
* cache_unlink() and cache_rename() are called by VFS's to update the
namecache after a file deletion or rename. cache_rename() also calls
* Add code to this function which cycles any vnode attached to the
namecache entry for the case where its refs are 0. This will
trigger VOP_INACTIVE and allow the VFS to detect file deletions.
Generally speaking this means that VFS's no longer have to detect
deleted files in code paths outside of VOP_INACTIVE w/regards to
forcing a reclaim on the vnode.
* HAMMER2 now depends on this behavior. The change in behavior allows
HAMMER2 to do away with inode backpointers from chain structures,
greatly simplifying the code and removing a chicken-egg dependency.
* Other VFSs (HAMMER, TMPFS, UFS) may be adjusted in the future but for
now their file deletion code outside of VOP_INACTIVE is being left
Summary of changes:
sys/kern/vfs_cache.c | 30 ++++++++++++++++++++++++++++--
1 file changed, 28 insertions(+), 2 deletions(-)
DragonFly BSD source repository
More information about the Commits