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)
commit25891f796d8d30f2b86b1e84d78721b44d573d70
tree12d4ac7251006a73e8ae75b3a4a751d04df0e823
parentf61408b81cd040a594dc0b65171230c4d5cc917d
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