From 648a90c13245c49202a643c9d0bdb52af44be6f1 Mon Sep 17 00:00:00 2001 From: Chris Mason Date: Fri, 19 Oct 2007 14:01:21 -0400 Subject: [PATCH] --- yaml --- r: 128507 b: refs/heads/master c: 5ee78ac70f6c01f2a5acf662c2af975665710edc h: refs/heads/master i: 128505: 06fc521831d223623e34e04d5b4a92f6c44ea7ea 128503: 94f5f6e25e8e69f18d3c70f52a796b1b8f1a2327 v: v3 --- [refs] | 2 +- trunk/fs/btrfs/ctree.c | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 01691546de2a..9b443b050662 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ff190c0c004d8e51195c7bcf5a8490aeefccbce0 +refs/heads/master: 5ee78ac70f6c01f2a5acf662c2af975665710edc diff --git a/trunk/fs/btrfs/ctree.c b/trunk/fs/btrfs/ctree.c index e8466940fa30..53e40b5c084d 100644 --- a/trunk/fs/btrfs/ctree.c +++ b/trunk/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;