Skip to content

Commit

Permalink
btrfs: update outdated comment at btrfs_orphan_cleanup()
Browse files Browse the repository at this point in the history
btrfs_orphan_cleanup() has a comment referring to find_dead_roots, but
function does not exists since commit cb517ea ("Btrfs: cleanup the
similar code of the fs root read"). What we use now to find and load dead
roots is btrfs_find_orphan_roots(). So update the comment and make it a
bit more detailed about why we can not delete an orphan item for a root.

Signed-off-by: Filipe Manana <fdmanana@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
  • Loading branch information
Filipe Manana authored and David Sterba committed Apr 19, 2021
1 parent ffbc10a commit 0c0218e
Showing 1 changed file with 11 additions and 7 deletions.
18 changes: 11 additions & 7 deletions fs/btrfs/inode.c
Original file line number Diff line number Diff line change
Expand Up @@ -3386,15 +3386,19 @@ int btrfs_orphan_cleanup(struct btrfs_root *root)
int is_dead_root = 0;

/*
* this is an orphan in the tree root. Currently these
* This is an orphan in the tree root. Currently these
* could come from 2 sources:
* a) a snapshot deletion in progress
* a) a root (snapshot/subvolume) deletion in progress
* b) a free space cache inode
* We need to distinguish those two, as the snapshot
* orphan must not get deleted.
* find_dead_roots already ran before us, so if this
* is a snapshot deletion, we should find the root
* in the fs_roots radix tree.
* We need to distinguish those two, as the orphan item
* for a root must not get deleted before the deletion
* of the snapshot/subvolume's tree completes.
*
* btrfs_find_orphan_roots() ran before us, which has
* found all deleted roots and loaded them into
* fs_info->fs_roots_radix. So here we can find if an
* orphan item corresponds to a deleted root by looking
* up the root from that radix tree.
*/

spin_lock(&fs_info->fs_roots_radix_lock);
Expand Down

0 comments on commit 0c0218e

Please sign in to comment.