Commit cfbb9308463f6dad1334884db046ccf0f1a77918

Authored by Chris Mason
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

... ... @@ -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