[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v4 2/3] block: improve block_dirty_bitmap_merge(): don't allo
From: |
Eric Blake |
Subject: |
Re: [PATCH v4 2/3] block: improve block_dirty_bitmap_merge(): don't allocate extra bitmap |
Date: |
Wed, 18 May 2022 10:30:07 -0500 |
User-agent: |
NeoMutt/20220429-71-6f7d3e |
On Tue, May 17, 2022 at 02:12:05PM +0300, Vladimir Sementsov-Ogievskiy wrote:
> From: Vladimir Sementsov-Ogievskiy <vsementsov@openvz.org>
>
> We don't need extra bitmap. All we need is to backup the original
> bitmap when we do first merge. So, drop extra temporary bitmap and work
> directly with target and backup.
>
> Still to keep old semantics, that on failure target is unchanged and
> user don't need to restore, we need a local_backup variable and do
> restore ourselves on failure path.
>
> Signed-off-by: Vladimir Sementsov-Ogievskiy <v.sementsov-og@mail.ru>
> ---
> block/monitor/bitmap-qmp-cmds.c | 41 +++++++++++++++++----------------
> 1 file changed, 21 insertions(+), 20 deletions(-)
Reviewed-by: Eric Blake <eblake@redhat.com>
>
> diff --git a/block/monitor/bitmap-qmp-cmds.c b/block/monitor/bitmap-qmp-cmds.c
> index bd10468596..282363606f 100644
> --- a/block/monitor/bitmap-qmp-cmds.c
> +++ b/block/monitor/bitmap-qmp-cmds.c
> @@ -261,8 +261,9 @@ BdrvDirtyBitmap *block_dirty_bitmap_merge(const char
> *node, const char *target,
> HBitmap **backup, Error **errp)
> {
> BlockDriverState *bs;
> - BdrvDirtyBitmap *dst, *src, *anon;
> + BdrvDirtyBitmap *dst, *src;
> BlockDirtyBitmapOrStrList *lst;
> + HBitmap *local_backup = NULL;
Basically, instead of tracking the backup via a full-featured
BdrvDirtyBitmap, we are instead tracking it via a lightweight HBitmap.
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org
- [PATCH v4 0/3] block/dirty-bitmaps: fix and improve bitmap merge, Vladimir Sementsov-Ogievskiy, 2022/05/17
- [PATCH v4 2/3] block: improve block_dirty_bitmap_merge(): don't allocate extra bitmap, Vladimir Sementsov-Ogievskiy, 2022/05/17
- Re: [PATCH v4 2/3] block: improve block_dirty_bitmap_merge(): don't allocate extra bitmap,
Eric Blake <=
- [PATCH v4 1/3] block: block_dirty_bitmap_merge(): fix error path, Vladimir Sementsov-Ogievskiy, 2022/05/17
- [PATCH v4 3/3] block: simplify handling of try to merge different sized bitmaps, Vladimir Sementsov-Ogievskiy, 2022/05/17
- Re: [PATCH v4 0/3] block/dirty-bitmaps: fix and improve bitmap merge, Eric Blake, 2022/05/18
- Re: [PATCH v4 0/3] block/dirty-bitmaps: fix and improve bitmap merge, Kevin Wolf, 2022/05/24