diff options
Diffstat (limited to 'fs/btrfs/disk-io.c')
-rw-r--r-- | fs/btrfs/disk-io.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c index eb7c14308521..5031e6dd5938 100644 --- a/fs/btrfs/disk-io.c +++ b/fs/btrfs/disk-io.c | |||
@@ -3253,6 +3253,11 @@ void btrfs_free_fs_root(struct btrfs_fs_info *fs_info, struct btrfs_root *root) | |||
3253 | if (btrfs_root_refs(&root->root_item) == 0) | 3253 | if (btrfs_root_refs(&root->root_item) == 0) |
3254 | synchronize_srcu(&fs_info->subvol_srcu); | 3254 | synchronize_srcu(&fs_info->subvol_srcu); |
3255 | 3255 | ||
3256 | if (fs_info->fs_state & BTRFS_SUPER_FLAG_ERROR) { | ||
3257 | btrfs_free_log(NULL, root); | ||
3258 | btrfs_free_log_root_tree(NULL, fs_info); | ||
3259 | } | ||
3260 | |||
3256 | __btrfs_remove_free_space_cache(root->free_ino_pinned); | 3261 | __btrfs_remove_free_space_cache(root->free_ino_pinned); |
3257 | __btrfs_remove_free_space_cache(root->free_ino_ctl); | 3262 | __btrfs_remove_free_space_cache(root->free_ino_ctl); |
3258 | free_fs_root(root); | 3263 | free_fs_root(root); |