aboutsummaryrefslogtreecommitdiff
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 5942b9384088..8fe2fdb167a7 100644
--- a/fs/btrfs/super.c
+++ b/fs/btrfs/super.c
@@ -2739,10 +2739,14 @@ static int __init init_btrfs_fs(void)
if (err)
goto free_compress;
- err = extent_state_init_cachep();
+ err = btrfs_transaction_init();
if (err)
goto free_cachep;
+ err = extent_state_init_cachep();
+ if (err)
+ goto free_transaction;
+
err = extent_buffer_init_cachep();
if (err)
goto free_extent_cachep;
@@ -2811,6 +2815,8 @@ free_eb_cachep:
extent_buffer_free_cachep();
free_extent_cachep:
extent_state_free_cachep();
+free_transaction:
+ btrfs_transaction_exit();
free_cachep:
btrfs_destroy_cachep();
free_compress:
@@ -2822,6 +2828,7 @@ free_compress:
static void __exit exit_btrfs_fs(void)
{
+ btrfs_transaction_exit();
btrfs_destroy_cachep();
btrfs_delayed_ref_exit();
btrfs_auto_defrag_exit();