]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Replace v_dd vnode pointer with v_cache_dd pointer to struct namecache
authorkan <kan@FreeBSD.org>
Sun, 29 Mar 2009 21:25:40 +0000 (21:25 +0000)
committerkan <kan@FreeBSD.org>
Sun, 29 Mar 2009 21:25:40 +0000 (21:25 +0000)
commitca739eae4a06d758f8eae83c7b26012ff5898d3d
tree3aa866adbaaa50bfbba611d2975ad7f5feca772f
parentf7c50ce1e4a47dd26c6dc6d42d8a07343e9d020b
Replace v_dd vnode pointer with v_cache_dd pointer to struct namecache
in directory vnodes. Allow namecache dotdot entry to be created pointing
from child vnode to parent vnode if no existing links in opposite
direction exist. Use direct link from parent to child for dotdot lookups
otherwise.

This restores more efficient dotdot caching in NFS filesystems which
was lost when vnodes stoppped being type stable.

Reviewed by: kib
sys/kern/vfs_cache.c
sys/kern/vfs_subr.c
sys/sys/vnode.h