diff options
Diffstat (limited to 'fs/btrfs/super.c')
| -rw-r--r-- | fs/btrfs/super.c | 9 | 
1 files changed, 8 insertions, 1 deletions
diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c index def4f24b58d..99545df1b86 100644 --- a/fs/btrfs/super.c +++ b/fs/btrfs/super.c @@ -1680,10 +1680,14 @@ static int __init init_btrfs_fs(void)  	if (err)  		goto free_ordered_data; -	err = btrfs_interface_init(); +	err = btrfs_auto_defrag_init();  	if (err)  		goto free_delayed_inode; +	err = btrfs_interface_init(); +	if (err) +		goto free_auto_defrag; +  	err = register_filesystem(&btrfs_fs_type);  	if (err)  		goto unregister_ioctl; @@ -1695,6 +1699,8 @@ static int __init init_btrfs_fs(void)  unregister_ioctl:  	btrfs_interface_exit(); +free_auto_defrag: +	btrfs_auto_defrag_exit();  free_delayed_inode:  	btrfs_delayed_inode_exit();  free_ordered_data: @@ -1714,6 +1720,7 @@ free_compress:  static void __exit exit_btrfs_fs(void)  {  	btrfs_destroy_cachep(); +	btrfs_auto_defrag_exit();  	btrfs_delayed_inode_exit();  	ordered_data_exit();  	extent_map_exit();  |