[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2] block: per caller dirty bitmap
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] [PATCH v2] block: per caller dirty bitmap |
Date: |
Mon, 11 Nov 2013 11:35:02 +0100 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Mon, Nov 04, 2013 at 05:30:10PM +0800, Fam Zheng wrote:
> Previously a BlockDriverState has only one dirty bitmap, so only one
> caller (e.g. a block job) can keep track of writing. This changes the
> dirty bitmap to a list and creates a BdrvDirtyBitmap for each caller, the
> lifecycle is managed with these new functions:
>
> bdrv_create_dirty_bitmap
> bdrv_release_dirty_bitmap
>
> Where BdrvDirtyBitmap is a linked list wrapper structure of HBitmap.
>
> In place of bdrv_set_dirty_tracking, a BdrvDirtyBitmap pointer argument
> is added to these functions, since each caller has its own dirty bitmap:
>
> bdrv_get_dirty
> bdrv_dirty_iter_init
> bdrv_get_dirty_count
>
> bdrv_set_dirty and bdrv_reset_dirty prototypes are unchanged but will
> internally walk the list of all dirty bitmaps and set them one by one.
>
> Signed-off-by: Fam Zheng <address@hidden>
>
> ---
> v2: Added BdrvDirtyBitmap [Paolo]
>
> Signed-off-by: Fam Zheng <address@hidden>
> ---
> block-migration.c | 22 +++++++++----
> block.c | 81
> ++++++++++++++++++++++++++++-------------------
> block/mirror.c | 23 ++++++++------
> block/qapi.c | 8 -----
> include/block/block.h | 11 ++++---
> include/block/block_int.h | 2 +-
> 6 files changed, 85 insertions(+), 62 deletions(-)
Happy with this modulo the indentation fixup I commented on.
Reviewed-by: Stefan Hajnoczi <address@hidden>