git: hammer2 - stabilization

Matthew Dillon dillon at crater.dragonflybsd.org
Fri Nov 1 09:51:54 PDT 2013


commit 053e752c0cc4596f5a4cb2ec888143a29c7ecd9b
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Fri Nov 1 09:48:10 2013 -0700

    hammer2 - stabilization
    
    * Reduce HAMMER2_FLUSH_DEPTH_LIMIT from 40 to 10 to avoid blowing out
      the kernel stack.
    
    * Retool hammer2_chain_drop() and hammer2_chain_lastdrop() to remove all
      possible recursion.  The in-memory topology can get very deep and very
      wide.  This fixes another kernel stack blowout.
    
    * Fix a bug in hammer2_chain_flush()'s deferred flush.  Now that
      hammer2_chain_flush() can replace the passed-in chain, we have to drop
      the extra ref before calling it instead of after.

Summary of changes:
 sys/vfs/hammer2/hammer2.h       |   2 +-
 sys/vfs/hammer2/hammer2_chain.c | 127 ++++++++++++++++++++++++++++------------
 sys/vfs/hammer2/hammer2_flush.c |   9 ++-
 3 files changed, 96 insertions(+), 42 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/053e752c0cc4596f5a4cb2ec888143a29c7ecd9b


-- 
DragonFly BSD source repository



More information about the Commits mailing list