git: kernel - Fix filesystem lookup error due to parent directory recyclement race
Matthew Dillon
dillon at crater.dragonflybsd.org
Fri Dec 7 14:46:45 PST 2012
commit 7222030f2d36164f16e5373a2c87e7420c7670d9
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Fri Dec 7 14:44:26 2012 -0800
kernel - Fix filesystem lookup error due to parent directory recyclement race
* When looking up a path the parent ncp's vnode is needed to pass into
the VFS code as the directory vnode (dvp) for the element being looked up.
* Fix a timing race whereby a system under extreme vnode pressure (such as
when kern.maxvnodes is set to a very low value) can squeek in recyclement
of this directory vnode when there are no children under it in the
namecache.
We fix the problem by holding the directory vnode during the nlookup() and
cache_resolve().
Summary of changes:
sys/kern/vfs_nlookup.c | 15 ++++++++++++++-
1 files changed, 14 insertions(+), 1 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/7222030f2d36164f16e5373a2c87e7420c7670d9
--
DragonFly BSD source repository
More information about the Commits
mailing list