Keep more pointers free in the nodes for double splits

This commit is contained in:
Chris Mason 2008-04-24 10:18:25 -04:00 committed by David Woodhouse
parent 3ce9579503
commit d8ecd9205a
1 changed files with 2 additions and 2 deletions

View File

@ -1107,7 +1107,7 @@ again:
slot -= 1;
p->slots[level] = slot;
if (ins_len > 0 && btrfs_header_nritems(b) >=
BTRFS_NODEPTRS_PER_BLOCK(root) - 1) {
BTRFS_NODEPTRS_PER_BLOCK(root) - 3) {
int sret = split_node(trans, root, p, level);
BUG_ON(sret > 0);
if (sret)
@ -1446,7 +1446,7 @@ static int split_node(struct btrfs_trans_handle *trans, struct btrfs_root
ret = push_nodes_for_insert(trans, root, path, level);
c = path->nodes[level];
if (!ret && btrfs_header_nritems(c) <
BTRFS_NODEPTRS_PER_BLOCK(root) - 1)
BTRFS_NODEPTRS_PER_BLOCK(root) - 3)
return 0;
if (ret < 0)
return ret;