Btrfs: rework shrink_delalloc
authorJosef Bacik <jbacik@fusionio.com>
Mon, 2 Jul 2012 21:10:51 +0000 (17:10 -0400)
committerChris Mason <chris.mason@fusionio.com>
Mon, 23 Jul 2012 20:27:58 +0000 (16:27 -0400)
commitf4c738c2e7bc6d696b0d60155df7ea01684962b6
tree920f470a31b8cb371a6b3bb9debd247e919d26df
parentb9ca0664dc806ba70587f6f3202b60dc736cd6e5
Btrfs: rework shrink_delalloc

So shrink_delalloc has grown all sorts of cruft over the years thanks to
many reworkings of how we track enospc.  What happens now as we fill up the
disk is we will loop for freaking ever hoping to reclaim a arbitrary amount
of space of metadata, this was from when everybody flushed at the same time.
Now we only have people flushing one at a time.  So instead of trying to
reclaim a huge amount of space, just try to flush a decent chunk of space,
and stop looping as soon as we have enough free space to satisfy our
reservation.  This makes xfstests 224 go much faster.  Thanks,

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