hammer2 - Fix stack blowout in lookup iteration
authorMatthew Dillon <dillon@apollo.backplane.com>
Sat, 8 Mar 2014 05:49:30 +0000 (21:49 -0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Sat, 8 Mar 2014 05:49:30 +0000 (21:49 -0800)
commitc9bda9e78d9ed14cd9268f2914f8a39f2f09180c
treeeb8c31111cb62505c68d7a8ef90e6eeaa16b479f
parenteae2ed61057ac84f107a7d0d08731072ac9ef5cf
hammer2 - Fix stack blowout in lookup iteration

* hammer2_chain_lookup()->hammer2_chain_next()->hammer2_chain_lookup()
  stacking could blow out the kernel stack.

* Inline the iteration within hammer2_chain_lookup() when the lookup runs
  out of blockrefs without finding anything at the current level, instead
  of having it call hammer2_chain_next().
sys/vfs/hammer2/hammer2_chain.c