]> git.proxmox.com Git - mirror_zfs.git/commit
Fix stack dbuf_hold_impl()
authorBrian Behlendorf <behlendorf1@llnl.gov>
Thu, 26 Aug 2010 17:52:00 +0000 (10:52 -0700)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Tue, 31 Aug 2010 15:38:47 +0000 (08:38 -0700)
commitfc5bb51f08a6c91ff9ad3559d0266eeeab0b1f61
tree14298c9ccf1c4a28ddbb336962d8a35461b06736
parent5ac1241a9527df92f6631459127d8b2a985a8f29
Fix stack dbuf_hold_impl()

This commit preserves the recursive function dbuf_hold_impl() but moves
the local variables and function arguments to the heap to minimize
the stack frame size.  Enough space is initially allocated on the
stack for 20 levels of recursion.  This technique was based on commit
34229a2f2ac07363f64ddd63e014964fff2f0671 which reduced stack usage of
traverse_visitbp().

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
module/zfs/dbuf.c