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
cache_unlink().
* 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
intact.