diff options
author | Chris Mason <chris.mason@oracle.com> | 2008-04-24 14:42:46 -0400 |
---|---|---|
committer | Chris Mason <chris.mason@oracle.com> | 2008-09-25 11:04:02 -0400 |
commit | bce4eae9864e6b6ebde5d7f05576ff0a6c3724d0 (patch) | |
tree | 87e90c0e7b7a75b9df5c062504a86c0424cade68 /fs/btrfs/extent-tree.c | |
parent | 971a1f6648bfafd4239234f1ffb9c26e907c2744 (diff) |
Btrfs: Fix balance_level to free the middle block if there is room in the left one
balance level starts by trying to empty the middle block, and then
pushes from the right to the middle. This might empty the right block
and leave a small number of pointers in the middle.
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/extent-tree.c')
-rw-r--r-- | fs/btrfs/extent-tree.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c index cc0d7f30c36b..c49592c5127a 100644 --- a/fs/btrfs/extent-tree.c +++ b/fs/btrfs/extent-tree.c | |||
@@ -306,13 +306,13 @@ struct btrfs_block_group_cache *btrfs_find_block_group(struct btrfs_root *root, | |||
306 | int bit; | 306 | int bit; |
307 | int ret; | 307 | int ret; |
308 | int full_search = 0; | 308 | int full_search = 0; |
309 | int factor = 8; | 309 | int factor = 10; |
310 | 310 | ||
311 | block_group_cache = &info->block_group_cache; | 311 | block_group_cache = &info->block_group_cache; |
312 | total_fs_bytes = btrfs_super_total_bytes(&root->fs_info->super_copy); | 312 | total_fs_bytes = btrfs_super_total_bytes(&root->fs_info->super_copy); |
313 | 313 | ||
314 | if (!owner) | 314 | if (!owner) |
315 | factor = 8; | 315 | factor = 10; |
316 | 316 | ||
317 | bit = block_group_state_bits(data); | 317 | bit = block_group_state_bits(data); |
318 | 318 | ||