mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-24 16:30:52 +07:00
btrfs: hold a ref on the root in find_data_references
We're looking up the data references for the bytenr in a root, we need to hold a ref on that root while we're doing that. Signed-off-by: Josef Bacik <josef@toxicpanda.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
442b1ac524
commit
3d7babdcf2
@ -3751,7 +3751,11 @@ static int find_data_references(struct reloc_control *rc,
|
||||
root = read_fs_root(fs_info, ref_root);
|
||||
if (IS_ERR(root)) {
|
||||
err = PTR_ERR(root);
|
||||
goto out;
|
||||
goto out_free;
|
||||
}
|
||||
if (!btrfs_grab_fs_root(root)) {
|
||||
err = -ENOENT;
|
||||
goto out_free;
|
||||
}
|
||||
|
||||
key.objectid = ref_objectid;
|
||||
@ -3864,6 +3868,8 @@ static int find_data_references(struct reloc_control *rc,
|
||||
|
||||
}
|
||||
out:
|
||||
btrfs_put_fs_root(root);
|
||||
out_free:
|
||||
btrfs_free_path(path);
|
||||
return err;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user