From: Chris Mason Date: Tue, 13 Mar 2007 15:17:52 +0000 (-0400) Subject: merge leaves before split X-Git-Tag: upstream/0.20.rc1~453 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6a332a71ba500fb878787b48c10f00cce470bd4c;p=platform%2Fupstream%2Fbtrfs-progs.git merge leaves before split --- diff --git a/TODO b/TODO index 52d2a7a..ad29267 100644 --- a/TODO +++ b/TODO @@ -1,10 +1,8 @@ * cleanup, add more error checking, get rid of BUG_ONs -* endian fixes * Make IO functions look more like the page cache * Fix ENOSPC handling * make blocksize a mkfs parameter instead of #define * make a real mkfs and superblock -* Add shadowing and transactions * Do checksumming * Define FS objects in terms of different item types * Add block mapping tree (simple dm layer) diff --git a/ctree.c b/ctree.c index bbb6322..dc62018 100644 --- a/ctree.c +++ b/ctree.c @@ -1043,6 +1043,15 @@ static int split_leaf(struct btrfs_root *root, struct btrfs_path *path, int ret; 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 = &l_buf->leaf;