Btrfs: fix worst case calculator for space usage
authorJosef Bacik <jbacik@fusionio.com>
Tue, 17 Sep 2013 14:50:06 +0000 (10:50 -0400)
committerChris Mason <chris.mason@fusionio.com>
Sat, 21 Sep 2013 15:05:27 +0000 (11:05 -0400)
Forever ago I made the worst case calculator say that we could potentially split
into 3 blocks for every level on the way down, which isn't right.  If we split
we're only going to get two new blocks, the one we originally cow'ed and the new
one we're going to split.  Thanks,

Signed-off-by: Josef Bacik <jbacik@fusionio.com>
Signed-off-by: Chris Mason <chris.mason@fusionio.com>
fs/btrfs/ctree.h

index 2491ba076b42dd381a2b4f5033e7569af7e8a984..36490b92ee336be43c8bc1a34c5fedf02a798269 100644 (file)
@@ -3135,7 +3135,7 @@ static inline u64 btrfs_calc_trans_metadata_size(struct btrfs_root *root,
                                                 unsigned num_items)
 {
        return (root->leafsize + root->nodesize * (BTRFS_MAX_LEVEL - 1)) *
-               3 * num_items;
+               2 * num_items;
 }
 
 /*