Keep more pointers free in the nodes for double splits
This commit is contained in:
parent
3ce9579503
commit
d8ecd9205a
4
ctree.c
4
ctree.c
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue