]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commit9fc25ade39236492f3e14ee414abf8ab9bbe2969
tree920f470a31b8cb371a6b3bb9debd247e919d26df
parent23f00561ab959efc929143c9182007df7b424cf4
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