]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - fs/btrfs/super.c
btrfs: make free_fs_info() call ->kill_sb() unconditional
[karo-tx-linux.git] / fs / btrfs / super.c
index 8901b6c85260dfc84c03595bb9f1034308a1f521..f628a6a79ca6c087512bdd0e8f28819594bb9b02 100644 (file)
@@ -946,7 +946,6 @@ static struct dentry *btrfs_mount(struct file_system_type *fs_type, int flags,
                error = btrfs_fill_super(s, fs_devices, data,
                                         flags & MS_SILENT ? 1 : 0);
                if (error) {
-                       free_fs_info(fs_info);
                        deactivate_locked_super(s);
                        return ERR_PTR(error);
                }
@@ -1215,12 +1214,9 @@ static int btrfs_statfs(struct dentry *dentry, struct kstatfs *buf)
 
 static void btrfs_kill_super(struct super_block *sb)
 {
-       struct btrfs_fs_info *fs_info = NULL;
-       if (sb->s_root)
-               fs_info = btrfs_sb(sb)->fs_info;
+       struct btrfs_fs_info *fs_info = btrfs_sb(sb)->fs_info;
        kill_anon_super(sb);
-       if (fs_info)
-               free_fs_info(fs_info);
+       free_fs_info(fs_info);
 }
 
 static struct file_system_type btrfs_fs_type = {