hammer2 - stabilization
authorMatthew Dillon <dillon@apollo.backplane.com>
Fri, 1 Nov 2013 16:48:10 +0000 (09:48 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Fri, 1 Nov 2013 16:51:38 +0000 (09:51 -0700)
commit053e752c0cc4596f5a4cb2ec888143a29c7ecd9b
treebf8cc6be467c4a0ec656a49ca3eec8dfa59aadd3
parentf01842250255a059189b580aadaedcfb1a6f5541
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.
sys/vfs/hammer2/hammer2.h
sys/vfs/hammer2/hammer2_chain.c
sys/vfs/hammer2/hammer2_flush.c