]> git.proxmox.com Git - mirror_qemu.git/commit
block: simplify handling of try to merge different sized bitmaps
authorVladimir Sementsov-Ogievskiy <vsementsov@openvz.org>
Tue, 17 May 2022 11:12:06 +0000 (14:12 +0300)
committerKevin Wolf <kwolf@redhat.com>
Fri, 24 Jun 2022 15:07:06 +0000 (17:07 +0200)
commit618af89e559daf897cc5013d3476a9c41ee76e00
treeb3512de6b37340f2d9aa171f2270cbd2f6114ed4
parent58cbfbdf73d1d20ba9506b1260a4cb321adad47d
block: simplify handling of try to merge different sized bitmaps

We have too much logic to simply check that bitmaps are of the same
size. Let's just define that hbitmap_merge() and
bdrv_dirty_bitmap_merge_internal() require their argument bitmaps be of
same size, this simplifies things.

Let's look through the callers:

For backup_init_bcs_bitmap() we already assert that merge can't fail.

In bdrv_reclaim_dirty_bitmap_locked() we gracefully handle the error
that can't happen: successor always has same size as its parent, drop
this logic.

In bdrv_merge_dirty_bitmap() we already has assertion and separate
check. Make the check explicit and improve error message.

Signed-off-by: Vladimir Sementsov-Ogievskiy <v.sementsov-og@mail.ru>
Reviewed-by: Nikita Lapshin <nikita.lapshin@virtuozzo.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20220517111206.23585-4-v.sementsov-og@mail.ru>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
block/backup.c
block/dirty-bitmap.c
include/block/block_int-io.h
include/qemu/hbitmap.h
util/hbitmap.c