Btrfs: don't re-enter when allocating a chunk
authorJosef Bacik <jbacik@fusionio.com>
Tue, 18 Dec 2012 14:16:16 +0000 (09:16 -0500)
committerJosef Bacik <jbacik@fusionio.com>
Wed, 20 Feb 2013 14:37:09 +0000 (09:37 -0500)
commitc6b305a89b1903d63652691ad5eb9f05aa0326b8
tree2b16ef4fb5c23e64ef0d0092674ebfaee3ac54d2
parent2ab28f322f9896782da904f5942f3873432addc8
Btrfs: don't re-enter when allocating a chunk

If we start running low on metadata space we will try to allocate a chunk,
which could then try to allocate a chunk to add the device entry.  The thing
is we allocate a chunk before we try really hard to make the allocation, so
we should be able to find space for the device entry.  Add a flag to the
trans handle so we know we're currently allocating a chunk so we can just
bail out if we try to allocate another chunk.  Thanks,

Signed-off-by: Josef Bacik <jbacik@fusionio.com>
fs/btrfs/extent-tree.c
fs/btrfs/transaction.c
fs/btrfs/transaction.h