diff --git a/fs/btrfs/relocation.c b/fs/btrfs/relocation.c index 52fe55ad11d66e5b8ad2922c8f26d08e2dc23055..1659c94f179c389a598e5b2fcf81ddb8eb9d5de7 100644 --- a/fs/btrfs/relocation.c +++ b/fs/btrfs/relocation.c @@ -3976,6 +3976,10 @@ static noinline_for_stack int relocate_block_group(struct reloc_control *rc) sizeof(struct btrfs_extent_item_v0)); ret = get_ref_objectid_v0(rc, path, &key, &ref_owner, &path_change); + if (ret < 0) { + err = ret; + break; + } if (ref_owner < BTRFS_FIRST_FREE_OBJECTID) flags = BTRFS_EXTENT_FLAG_TREE_BLOCK; else