Skip to content

Commit

Permalink
Btrfs: insert orphan roots into fs radix tree
Browse files Browse the repository at this point in the history
Now we don't drop all the deleted snapshots/subvolumes before the space
balance. It means we have to relocate the space which is held by the dead
snapshots/subvolumes. So we must into them into fs radix tree, or we would
forget to commit the change of them when doing transaction commit, and it
would corrupt the metadata.

Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
Signed-off-by: Josef Bacik <jbacik@fusionio.com>
Signed-off-by: Chris Mason <chris.mason@fusionio.com>
  • Loading branch information
Miao Xie authored and Chris Mason committed Oct 11, 2013
1 parent 7bf811a commit 14927d9
Showing 1 changed file with 3 additions and 5 deletions.
8 changes: 3 additions & 5 deletions fs/btrfs/root-tree.c
Original file line number Diff line number Diff line change
Expand Up @@ -299,11 +299,6 @@ int btrfs_find_orphan_roots(struct btrfs_root *tree_root)
continue;
}

if (btrfs_root_refs(&root->root_item) == 0) {
btrfs_add_dead_root(root);
continue;
}

err = btrfs_init_fs_root(root);
if (err) {
btrfs_free_fs_root(root);
Expand All @@ -318,6 +313,9 @@ int btrfs_find_orphan_roots(struct btrfs_root *tree_root)
btrfs_free_fs_root(root);
break;
}

if (btrfs_root_refs(&root->root_item) == 0)
btrfs_add_dead_root(root);
}

btrfs_free_path(path);
Expand Down

0 comments on commit 14927d9

Please sign in to comment.