DragonFly-2.3.0.896.gcc075 master sys/vfs/hammer hammer_inode.c hammer_object.c hammer_vnops.c
Matthew Dillon
dillon at crater.dragonflybsd.org
Wed May 6 17:39:36 PDT 2009
commit cc0758d09df08626d04a45be55bf80ceef7ef1bd
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Wed May 6 17:05:09 2009 -0700
HAMMER VFS - Limit recursion for long directory chains, update mtime/ctime
A long chain of directory dependencies can blow out the kernel stack. Limit
the recursion to 20 levels. If the depth is exceeded the flushing of the
deep inodes is delayed until the higher dependencies are taken care of.
Update mtime/ctime accordingly based on the fstest stress test from FreeBSD.
Note however that we cannot update the ctime on directories for file creates,
renames, and deletes within the directory without rolling a new inode,
which is too expensive to do for that situation. We can, and do, update the
mtime.
Summary of changes:
sys/vfs/hammer/hammer_inode.c | 53 ++++++++++++++++++++++++++++++++-------
sys/vfs/hammer/hammer_object.c | 5 +++-
sys/vfs/hammer/hammer_vnops.c | 18 ++++++++-----
3 files changed, 58 insertions(+), 18 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/cc0758d09df08626d04a45be55bf80ceef7ef1bd
--
DragonFly BSD source repository
More information about the Commits
mailing list