cvs commit: src/sys/kern vfs_cache.c
Matthew Dillon
dillon at crater.dragonflybsd.org
Tue Mar 8 21:16:42 PST 2005
dillon 2005/03/08 21:16:23 PST
DragonFly src repository
Modified files:
sys/kern vfs_cache.c
Log:
Fix a serious bug in cache_inval_vp()'s TAILQ iteration through v_namecache.
It was iterating using nc_entry instead of nc_vnode. The effect was,
typically, to deadlock in the namecache locking code but could also result
in the namecache topology becoming confused.
Add code to detect and report vnode ripouts during the scan. This case can
occur in certain rare circumstances because a held namecache structure only
prevents it from being removed from the topology, it does not prevent it
from being disassociated from a vnode.
Reported-by: Michael van Tellingen <michael at xxxxxxxxxxxx> and
Hiten Pandya <hmp at xxxxxxxxxxxxx>
Revision Changes Path
1.52 +20 -1 src/sys/kern/vfs_cache.c
http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_cache.c.diff?r1=1.51&r2=1.52&f=u
More information about the Commits
mailing list