diff options
author | Filipe Manana <fdmanana@suse.com> | 2022-10-11 15:16:59 +0300 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2022-12-05 20:00:38 +0300 |
commit | c902421927ff602954d2ecc7bd6e71b255d29387 (patch) | |
tree | 374fc62aa0e5e62d4a0c41971e1e1679ca961e6b /fs | |
parent | 206c1d32f381ee91ba849a7dcb28728e8c3721b6 (diff) | |
download | linux-c902421927ff602954d2ecc7bd6e71b255d29387.tar.xz |
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: Filipe Manana <fdmanana@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/btrfs/backref.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/fs/btrfs/backref.c b/fs/btrfs/backref.c index 18374a6d05bd..abac2e942e8b 100644 --- a/fs/btrfs/backref.c +++ b/fs/btrfs/backref.c @@ -719,8 +719,7 @@ static int resolve_indirect_refs(struct btrfs_fs_info *fs_info, continue; } - if (sc && sc->root_objectid && - ref->root_id != sc->root_objectid) { + if (sc && ref->root_id != sc->root_objectid) { free_pref(ref); ret = BACKREF_FOUND_SHARED; goto out; @@ -1348,8 +1347,7 @@ again: * and would retain their original ref->count < 0. */ if (roots && ref->count && ref->root_id && ref->parent == 0) { - if (sc && sc->root_objectid && - ref->root_id != sc->root_objectid) { + if (sc && ref->root_id != sc->root_objectid) { ret = BACKREF_FOUND_SHARED; goto out; } |