Btrfs: check if leaf's parent exists before pushing items around
During splitting a leaf, pushing items around to hopefully get some space only works when we have a parent, ie. we have at least one sibling leaf. Signed-off-by: Liu Bo <bo.li.liu@oracle.com> Signed-off-by: Josef Bacik <jbacik@fusionio.com>
This commit is contained in:
parent
fdd99c7294
commit
33157e05db
|
@ -3986,7 +3986,7 @@ static noinline int split_leaf(struct btrfs_trans_handle *trans,
|
||||||
return -EOVERFLOW;
|
return -EOVERFLOW;
|
||||||
|
|
||||||
/* first try to make some room by pushing left and right */
|
/* first try to make some room by pushing left and right */
|
||||||
if (data_size) {
|
if (data_size && path->nodes[1]) {
|
||||||
wret = push_leaf_right(trans, root, path, data_size,
|
wret = push_leaf_right(trans, root, path, data_size,
|
||||||
data_size, 0, 0);
|
data_size, 0, 0);
|
||||||
if (wret < 0)
|
if (wret < 0)
|
||||||
|
|
Loading…
Reference in New Issue