diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
index 2491ba076b42dd381a2b4f5033e7569af7e8a984..36490b92ee336be43c8bc1a34c5fedf02a798269 100644
--- a/fs/btrfs/ctree.h
+++ b/fs/btrfs/ctree.h
@@ -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;
 }
 
 /*