hammer2 - Implement depth limit for stack recursion, embedded data fixes
authorMatthew Dillon <dillon@apollo.backplane.com>
Thu, 22 Mar 2012 23:52:11 +0000 (16:52 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Thu, 22 Mar 2012 23:52:11 +0000 (16:52 -0700)
commit1c9f601ee43990dde3bb308d425efa117df69bdf
treed6f20a20803a699cfd7e259caffee87e8384953a
parent500345a3b6b3ff990352ef6d16442734327edd69
hammer2 - Implement depth limit for stack recursion, embedded data fixes

* Implement a procedure call depth limit in hammer2_chain_flush().
  Dirty elements that are too deep are placed on a deferral list and
  then executed at the top-level.  Worst case stack depth is reduced 40:1.

* Fix a bug when transitioning from embedded data to indirect data.
sys/vfs/hammer2/hammer2.h
sys/vfs/hammer2/hammer2_chain.c
sys/vfs/hammer2/hammer2_vfsops.c
sys/vfs/hammer2/hammer2_vnops.c