DragonFly commits List (threaded) for 2006-10
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]
cvs commit: src/sys/kern vfs_cache.c vfs_default.c
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
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]