diff --git a/kernel-shared/extent-tree.c b/kernel-shared/extent-tree.c index 7022643a9843..3fc8bbd191db 100644 --- a/kernel-shared/extent-tree.c +++ b/kernel-shared/extent-tree.c @@ -3932,7 +3932,7 @@ int btrfs_convert_one_bg(struct btrfs_trans_handle *trans, u64 bytenr) * the new root. */ ret = insert_block_group_item(trans, bg); - if (ret < 0) { + if (ret < 0 && ret != -EEXIST) { error("failed to insert block group item into the new root: %d", ret); return ret; diff --git a/tune/convert-bgt.c b/tune/convert-bgt.c index 77cba3930ae1..4573139cea7f 100644 --- a/tune/convert-bgt.c +++ b/tune/convert-bgt.c @@ -80,25 +80,7 @@ int convert_to_bg_tree(struct btrfs_fs_info *fs_info) } iterate_bgs: - if (fs_info->last_converted_bg_bytenr == (u64)-1) { - ce = last_cache_extent(&fs_info->mapping_tree.cache_tree); - } else { - ce = search_cache_extent(&fs_info->mapping_tree.cache_tree, - fs_info->last_converted_bg_bytenr); - if (!ce) { - error("failed to find block group for bytenr %llu", - fs_info->last_converted_bg_bytenr); - ret = -ENOENT; - goto error; - } - ce = prev_cache_extent(ce); - if (!ce) { - error("no more block groups before bytenr %llu", - fs_info->last_converted_bg_bytenr); - ret = -ENOENT; - goto error; - } - } + ce = last_cache_extent(&fs_info->mapping_tree.cache_tree); /* Now convert each block */ while (ce) {