]> git.baikalelectronics.ru Git - kernel.git/commit
Btrfs: fix extent entry threshold calculation
authorJosef Bacik <josef@redhat.com>
Fri, 11 Sep 2009 20:11:20 +0000 (16:11 -0400)
committerChris Mason <chris.mason@oracle.com>
Mon, 21 Sep 2009 23:23:50 +0000 (19:23 -0400)
commit480bf3e3b74d4413ad4829b912ef93980d409e0e
tree12d4ac7251006a73e8ae75b3a4a751d04df0e823
parent38784e64bf658ea1560dd28b3f5b17c8fc0755dc
Btrfs: fix extent entry threshold calculation

There is a slight problem with the extent entry threshold calculation for the
free space cache.  We only adjust the threshold down as we add bitmaps, but
never actually adjust the threshold up as we add bitmaps.  This means we could
fragment the free space so badly that we end up using all bitmaps to describe
the free space, use all the free space which would result in the bitmaps being
freed, but then go to add free space again as we delete things and immediately
add bitmaps since the extent threshold would still be 0.  Now as we free
bitmaps the extent threshold will be ratcheted up to allow more extent entries
to be added.

Signed-off-by: Josef Bacik <jbacik@redhat.com>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
fs/btrfs/free-space-cache.c