cvs commit: src/sys/kern vfs_cache.c src/sys/sys namecache.h
Matthew Dillon
dillon at crater.dragonflybsd.org
Wed Mar 29 18:44:31 PST 2006
dillon 2006/03/29 18:39:48 PST
DragonFly src repository
Modified files:
sys/kern vfs_cache.c
sys/sys namecache.h
Log:
Fix a race condition between nlookup and vnode reclamation. Even though the
cache_lock() refs a vnode to prevent reclamation, it is possible for a vnode
to already be in the middle of a reclamation as of the time the lock is
obtained. Adjust cache_get*() and cache_resolve*() to check for the
condition and de-resolve the ncp before returning.
Reported-by: joerg at xxxxxxxxxxxxxxxxx
Revision Changes Path
1.62 +100 -13 src/sys/kern/vfs_cache.c
1.23 +1 -0 src/sys/sys/namecache.h
http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_cache.c.diff?r1=1.61&r2=1.62&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/namecache.h.diff?r1=1.22&r2=1.23&f=u
More information about the Commits
mailing list