cvs commit: src/sys/kern vfs_cache.c vfs_default.c

Matthew Dillon dillon at crater.dragonflybsd.org
Wed Oct 25 19:29:45 PDT 2006


dillon      2006/10/25 19:27:19 PDT

DragonFly src repository

  Modified files:
    sys/kern             vfs_cache.c vfs_default.c 
  Log:
  Fix a stack overflow due to recursion.  When the namecache must invalidate
  an entire subtree the depth of the tree can cause the kernel stack to
  overflow.  Implement a simple algorithm which limits the recursion depth.
  When the recursion depth is reached the current namecache node is recorded
  and further recursion does not occur.  The top level then recalls the
  deletion at the recorded node, then restarts.
  
  When removing a file or directory, invalidate all namecache records
  associated with the vnode rather then just the one led to by the current
  path.  Note that RENAME is not fixed and requires a more sophisticated
  solution.  These fixes effect NULLFS.
  
  Revision  Changes    Path
  1.78      +57 -1     src/sys/kern/vfs_cache.c
  1.44      +4 -1      src/sys/kern/vfs_default.c


http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_cache.c.diff?r1=1.77&r2=1.78&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_default.c.diff?r1=1.43&r2=1.44&f=u





More information about the Commits mailing list