Commit 0c0218e9 authored by Filipe Manana's avatar Filipe Manana Committed by David Sterba
Browse files

btrfs: update outdated comment at btrfs_orphan_cleanup()



btrfs_orphan_cleanup() has a comment referring to find_dead_roots, but
function does not exists since commit cb517eab ("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: default avatarFilipe Manana <fdmanana@suse.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent ffbc10a1
Loading
Loading
Loading
Loading
+11 −7
Original line number Diff line number Diff line
@@ -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);