summaryrefslogtreecommitdiffstats
path: root/fs/btrfs/super.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/btrfs/super.c')
-rw-r--r--fs/btrfs/super.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c
index 9f8b77553de0..0a93fbd29494 100644
--- a/fs/btrfs/super.c
+++ b/fs/btrfs/super.c
@@ -2747,10 +2747,14 @@ static int __init init_btrfs_fs(void)
if (err)
goto free_transaction;
- err = extent_state_init_cachep();
+ err = btrfs_free_space_init();
if (err)
goto free_ctree;
+ err = extent_state_init_cachep();
+ if (err)
+ goto free_free_space;
+
err = extent_buffer_init_cachep();
if (err)
goto free_extent_cachep;
@@ -2819,6 +2823,8 @@ free_eb_cachep:
extent_buffer_free_cachep();
free_extent_cachep:
extent_state_free_cachep();
+free_free_space:
+ btrfs_free_space_exit();
free_ctree:
btrfs_ctree_exit();
free_transaction:
@@ -2834,6 +2840,7 @@ free_compress:
static void __exit exit_btrfs_fs(void)
{
+ btrfs_free_space_exit();
btrfs_ctree_exit();
btrfs_transaction_exit();
btrfs_destroy_cachep();