Commit cfbb9308463f6dad1334884db046ccf0f1a77918
1 parent
b361242102
Btrfs: balance btree more often
With the new back reference code, the cost of a balance has gone down in terms of the number of back reference updates done. This commit makes us more aggressively balance leaves and nodes as they become less full. Signed-off-by: Chris Mason <chris.mason@oracle.com>
Showing 1 changed file with 2 additions and 2 deletions Side-by-side Diff
fs/btrfs/ctree.c
... | ... | @@ -1651,7 +1651,7 @@ |
1651 | 1651 | } |
1652 | 1652 | b = p->nodes[level]; |
1653 | 1653 | } else if (ins_len < 0 && btrfs_header_nritems(b) < |
1654 | - BTRFS_NODEPTRS_PER_BLOCK(root) / 4) { | |
1654 | + BTRFS_NODEPTRS_PER_BLOCK(root) / 2) { | |
1655 | 1655 | int sret; |
1656 | 1656 | |
1657 | 1657 | sret = reada_for_balance(root, p, level); |
... | ... | @@ -3807,7 +3807,7 @@ |
3807 | 3807 | } |
3808 | 3808 | |
3809 | 3809 | /* delete the leaf if it is mostly empty */ |
3810 | - if (used < BTRFS_LEAF_DATA_SIZE(root) / 4) { | |
3810 | + if (used < BTRFS_LEAF_DATA_SIZE(root) / 2) { | |
3811 | 3811 | /* push_leaf_left fixes the path. |
3812 | 3812 | * make sure the path still points to our leaf |
3813 | 3813 | * for possible call to del_ptr below |