]> 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)
commit1a67a83ec809b3a93d338aca2310fd478c72f93c
tree920f470a31b8cb371a6b3bb9debd247e919d26df
parent8b4a5a79670421a279b6eddf101d19e578510ce4
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