Btrfs: merge leaves before split
Signed-off-by: Chris Mason <chris.mason@oracle.com>
This commit is contained in:
parent
9aca1d5132
commit
eaee50e881
|
@ -1,10 +1,8 @@
|
||||||
* cleanup, add more error checking, get rid of BUG_ONs
|
* cleanup, add more error checking, get rid of BUG_ONs
|
||||||
* endian fixes
|
|
||||||
* Make IO functions look more like the page cache
|
* Make IO functions look more like the page cache
|
||||||
* Fix ENOSPC handling
|
* Fix ENOSPC handling
|
||||||
* make blocksize a mkfs parameter instead of #define
|
* make blocksize a mkfs parameter instead of #define
|
||||||
* make a real mkfs and superblock
|
* make a real mkfs and superblock
|
||||||
* Add shadowing and transactions
|
|
||||||
* Do checksumming
|
* Do checksumming
|
||||||
* Define FS objects in terms of different item types
|
* Define FS objects in terms of different item types
|
||||||
* Add block mapping tree (simple dm layer)
|
* Add block mapping tree (simple dm layer)
|
||||||
|
|
|
@ -1043,6 +1043,15 @@ static int split_leaf(struct btrfs_root *root, struct btrfs_path *path,
|
||||||
int ret;
|
int ret;
|
||||||
int wret;
|
int wret;
|
||||||
|
|
||||||
|
wret = push_leaf_left(root, path, data_size);
|
||||||
|
if (wret < 0)
|
||||||
|
return wret;
|
||||||
|
if (wret) {
|
||||||
|
wret = push_leaf_right(root, path, data_size);
|
||||||
|
if (wret < 0)
|
||||||
|
return wret;
|
||||||
|
}
|
||||||
|
|
||||||
l_buf = path->nodes[0];
|
l_buf = path->nodes[0];
|
||||||
l = &l_buf->leaf;
|
l = &l_buf->leaf;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue