Commit c9024219 authored by Filipe Manana's avatar Filipe Manana Committed by David Sterba

btrfs: remove checks for a root with id 0 during backref walking

When doing backref walking to determine if an extent is shared, we are
testing the root_objectid of the given share_check struct is 0, but that
is an impossible case, since btrfs_is_data_extent_shared() always
initializes the root_objectid field with the id of the given root, and
no root can have an objectid of 0. So remove those checks.
Signed-off-by: default avatarFilipe Manana <fdmanana@suse.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent 206c1d32
...@@ -719,8 +719,7 @@ static int resolve_indirect_refs(struct btrfs_fs_info *fs_info, ...@@ -719,8 +719,7 @@ static int resolve_indirect_refs(struct btrfs_fs_info *fs_info,
continue; continue;
} }
if (sc && sc->root_objectid && if (sc && ref->root_id != sc->root_objectid) {
ref->root_id != sc->root_objectid) {
free_pref(ref); free_pref(ref);
ret = BACKREF_FOUND_SHARED; ret = BACKREF_FOUND_SHARED;
goto out; goto out;
...@@ -1348,8 +1347,7 @@ static int find_parent_nodes(struct btrfs_trans_handle *trans, ...@@ -1348,8 +1347,7 @@ static int find_parent_nodes(struct btrfs_trans_handle *trans,
* and would retain their original ref->count < 0. * and would retain their original ref->count < 0.
*/ */
if (roots && ref->count && ref->root_id && ref->parent == 0) { if (roots && ref->count && ref->root_id && ref->parent == 0) {
if (sc && sc->root_objectid && if (sc && ref->root_id != sc->root_objectid) {
ref->root_id != sc->root_objectid) {
ret = BACKREF_FOUND_SHARED; ret = BACKREF_FOUND_SHARED;
goto out; goto out;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment