diff options
Diffstat (limited to 'fs/btrfs/disk-io.c')
-rw-r--r-- | fs/btrfs/disk-io.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c index 91db90b526c2..b6a5c0dd0dd8 100644 --- a/fs/btrfs/disk-io.c +++ b/fs/btrfs/disk-io.c | |||
@@ -2460,21 +2460,20 @@ fail_sb_buffer: | |||
2460 | btrfs_stop_workers(&fs_info->caching_workers); | 2460 | btrfs_stop_workers(&fs_info->caching_workers); |
2461 | fail_alloc: | 2461 | fail_alloc: |
2462 | fail_iput: | 2462 | fail_iput: |
2463 | btrfs_mapping_tree_free(&fs_info->mapping_tree); | ||
2464 | |||
2463 | invalidate_inode_pages2(fs_info->btree_inode->i_mapping); | 2465 | invalidate_inode_pages2(fs_info->btree_inode->i_mapping); |
2464 | iput(fs_info->btree_inode); | 2466 | iput(fs_info->btree_inode); |
2465 | |||
2466 | btrfs_close_devices(fs_info->fs_devices); | ||
2467 | btrfs_mapping_tree_free(&fs_info->mapping_tree); | ||
2468 | fail_bdi: | 2467 | fail_bdi: |
2469 | bdi_destroy(&fs_info->bdi); | 2468 | bdi_destroy(&fs_info->bdi); |
2470 | fail_srcu: | 2469 | fail_srcu: |
2471 | cleanup_srcu_struct(&fs_info->subvol_srcu); | 2470 | cleanup_srcu_struct(&fs_info->subvol_srcu); |
2472 | fail: | 2471 | fail: |
2472 | btrfs_close_devices(fs_info->fs_devices); | ||
2473 | free_fs_info(fs_info); | 2473 | free_fs_info(fs_info); |
2474 | return ERR_PTR(err); | 2474 | return ERR_PTR(err); |
2475 | 2475 | ||
2476 | recovery_tree_root: | 2476 | recovery_tree_root: |
2477 | |||
2478 | if (!btrfs_test_opt(tree_root, RECOVERY)) | 2477 | if (!btrfs_test_opt(tree_root, RECOVERY)) |
2479 | goto fail_tree_roots; | 2478 | goto fail_tree_roots; |
2480 | 2479 | ||