From: Chris Mason Date: Fri, 19 Oct 2007 18:01:21 +0000 (-0400) Subject: Btrfs: Fix split_leaf to avoid incorrect double splits X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=5ee78ac70f6c01f2a5acf662c2af975665710edc;p=mv-sheeva.git Btrfs: Fix split_leaf to avoid incorrect double splits Signed-off-by: Chris Mason --- diff --git a/fs/btrfs/ctree.c b/fs/btrfs/ctree.c index e8466940fa3..53e40b5c084 100644 --- a/fs/btrfs/ctree.c +++ b/fs/btrfs/ctree.c @@ -1865,7 +1865,11 @@ static int split_leaf(struct btrfs_trans_handle *trans, struct btrfs_root return ret; } mid = slot; - double_split = 1; + if (mid != nritems && + leaf_space_used(l, mid, nritems - mid) + + space_needed > BTRFS_LEAF_DATA_SIZE(root)) { + double_split = 1; + } } } nritems = nritems - mid;