Commit 7b54e08f authored by Filipe Manana's avatar Filipe Manana Committed by David Sterba
Browse files

btrfs: fix lost error return in btrfs_find_orphan_roots()



If the call to btrfs_get_fs_root() returns an error different from -ENOENT
we break out of the loop and then return 0, losing the error. Fix this
by returning the error instead of breaking from the loop.

Reported-by: default avatarChris Mason <clm@meta.com>
Link: https://lore.kernel.org/linux-btrfs/20260208185321.1128472-1-clm@meta.com/


Fixes: 8670a25e ("btrfs: use single return variable in btrfs_find_orphan_roots()")
Reviewed-by: default avatarQu Wenruo <wqu@suse.com>
Signed-off-by: default avatarFilipe Manana <fdmanana@suse.com>
Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent 29e52566
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -257,7 +257,7 @@ int btrfs_find_orphan_roots(struct btrfs_fs_info *fs_info)
		root = btrfs_get_fs_root(fs_info, root_objectid, false);
		ret = PTR_ERR_OR_ZERO(root);
		if (ret && ret != -ENOENT) {
			break;
			return ret;
		} else if (ret == -ENOENT) {
			struct btrfs_trans_handle *trans;