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