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