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