diff --git a/[refs] b/[refs] index 32ce3d0e0365..0cd8cc0a6ddf 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 9aca1d51323c0291a7358e0728b64ec4f17d1a77 +refs/heads/master: eaee50e881b88766d9a781c54c4142456cf5e527 diff --git a/trunk/fs/btrfs/TODO b/trunk/fs/btrfs/TODO index 52d2a7a071f4..ad29267b8738 100644 --- a/trunk/fs/btrfs/TODO +++ b/trunk/fs/btrfs/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/trunk/fs/btrfs/ctree.c b/trunk/fs/btrfs/ctree.c index bbb632291709..dc620186e501 100644 --- a/trunk/fs/btrfs/ctree.c +++ b/trunk/fs/btrfs/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;