[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [PATCH 11/21] block: introduce persistent dirty bitmaps
From: |
Max Reitz |
Subject: |
Re: [Qemu-block] [PATCH 11/21] block: introduce persistent dirty bitmaps |
Date: |
Wed, 7 Dec 2016 22:01:18 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.0 |
On 22.11.2016 18:26, Vladimir Sementsov-Ogievskiy wrote:
> New field BdrvDirtyBitmap.persistent means, that bitmap should be saved
> on bdrv_close, using format driver. Format driver should maintain bitmap
> storing.
>
> Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
> ---
> block.c | 31 +++++++++++++++++++++++++++++++
> block/dirty-bitmap.c | 26 ++++++++++++++++++++++++++
> block/qcow2-bitmap.c | 1 +
> include/block/block.h | 1 +
> include/block/block_int.h | 2 ++
> include/block/dirty-bitmap.h | 6 ++++++
> 6 files changed, 67 insertions(+)
>
> diff --git a/block.c b/block.c
> index 450379c..4e1f16a 100644
> --- a/block.c
> +++ b/block.c
> @@ -2321,6 +2321,7 @@ void bdrv_reopen_abort(BDRVReopenState *reopen_state)
> static void bdrv_close(BlockDriverState *bs)
> {
> BdrvAioNotifier *ban, *ban_next;
> + Error *local_err = NULL;
>
> assert(!bs->job);
> assert(!bs->refcnt);
> @@ -2329,6 +2330,11 @@ static void bdrv_close(BlockDriverState *bs)
> bdrv_flush(bs);
> bdrv_drain(bs); /* in case flush left pending I/O */
>
> + bdrv_store_persistent_dirty_bitmaps(bs, &local_err);
> + if (local_err != NULL) {
> + error_report_err(local_err);
> + error_report("Persistent bitmaps are lost");
:C
Reviewed-by: Max Reitz <address@hidden>
But could you maybe add at least the node name to the error message?
Max
> + }
> bdrv_release_named_dirty_bitmaps(bs);
> assert(QLIST_EMPTY(&bs->dirty_bitmaps));
signature.asc
Description: OpenPGP digital signature
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Qemu-block] [PATCH 11/21] block: introduce persistent dirty bitmaps,
Max Reitz <=