Btrfs: merge leaves before split

Signed-off-by: Chris Mason <chris.mason@oracle.com>
This commit is contained in:
Chris Mason 2007-03-13 11:17:52 -04:00 committed by David Woodhouse
parent 9aca1d5132
commit eaee50e881
2 changed files with 9 additions and 2 deletions

View File

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

View File

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