mirror of
https://github.com/torvalds/linux.git
synced 2026-06-08 14:42:37 +02:00
btrfs: handle ENOENT in btrfs_uuid_tree_iterate
commit 714cd3e8cb upstream.
If we get an -ENOENT back from btrfs_uuid_iter_rem when iterating the
uuid tree we'll just continue and do btrfs_next_item(). However we've
done a btrfs_release_path() at this point and no longer have a valid
path. So increment the key and go back and do a normal search.
CC: stable@vger.kernel.org # 4.4+
Reviewed-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
Signed-off-by: Josef Bacik <josef@toxicpanda.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
f4e54ec69b
commit
41c5a0b6ae
|
|
@ -324,6 +324,8 @@ int btrfs_uuid_tree_iterate(struct btrfs_fs_info *fs_info,
|
|||
}
|
||||
if (ret < 0 && ret != -ENOENT)
|
||||
goto out;
|
||||
key.offset++;
|
||||
goto again_search_slot;
|
||||
}
|
||||
item_size -= sizeof(subid_le);
|
||||
offset += sizeof(subid_le);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user