[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-block] [PATCH 24/29] qcow2-bitmap: maintian BlockDirtyBitmap.autol
From: |
Vladimir Sementsov-Ogievskiy |
Subject: |
[Qemu-block] [PATCH 24/29] qcow2-bitmap: maintian BlockDirtyBitmap.autoload |
Date: |
Mon, 8 Aug 2016 18:05:15 +0300 |
Sync qcow2 dirty bitmap autload flag and BlockDirtyBitmap autoload flag
Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
Signed-off-by: Denis V. Lunev <address@hidden>
---
block/qcow2-bitmap.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/block/qcow2-bitmap.c b/block/qcow2-bitmap.c
index a00eae4..49066bd 100644
--- a/block/qcow2-bitmap.c
+++ b/block/qcow2-bitmap.c
@@ -960,15 +960,22 @@ void qcow2_bitmap_store(BlockDriverState *bs,
}
if (bmh == NULL) {
+ uint32_t flags =
+ bdrv_dirty_bitmap_get_autoload(bitmap) ? BME_FLAG_AUTO : 0;
ret = directory_push(bs, bm_name, granularity, table_offset,
- table_size, 0);
+ table_size, flags);
if (ret < 0) {
error_setg_errno(errp, ret, "Can't create dirty bitmap in qcow2.");
goto fail;
}
} else {
+ uint32_t flags = bmh->flags;
+ flags &= ~(BME_FLAG_IN_USE | BME_FLAG_AUTO);
+ if (bdrv_dirty_bitmap_get_autoload(bitmap)) {
+ flags |= BME_FLAG_AUTO;
+ }
ret = directory_set(bs, bmh, granularity, table_offset, table_size,
- bmh->flags & ~BME_FLAG_IN_USE);
+ flags);
if (ret < 0) {
error_setg_errno(errp, ret, "Can't update dirty bitmap in qcow2.");
goto fail;
--
1.8.3.1
- [Qemu-block] [PATCH v6 00/29] qcow2: persistent dirty bitmaps, Vladimir Sementsov-Ogievskiy, 2016/08/08
- [Qemu-block] [PATCH 28/29] qcow2-bitmap: do not try reloading bitmaps, Vladimir Sementsov-Ogievskiy, 2016/08/08
- [Qemu-block] [PATCH 07/29] qcow2-bitmap: add qcow2_bitmap_load(), Vladimir Sementsov-Ogievskiy, 2016/08/08
- [Qemu-block] [PATCH 26/29] iotests: test qcow2 persistent dirty bitmap, Vladimir Sementsov-Ogievskiy, 2016/08/08
- [Qemu-block] [PATCH 21/29] qcow2-bitmap: add EXTRA_DATA_COMPATIBLE flag, Vladimir Sementsov-Ogievskiy, 2016/08/08
- [Qemu-block] [PATCH 13/29] qcow2: add dirty bitmaps extension, Vladimir Sementsov-Ogievskiy, 2016/08/08
- [Qemu-block] [PATCH 27/29] qcow2-bitmap: delete in_use bitmaps on image load, Vladimir Sementsov-Ogievskiy, 2016/08/08
- [Qemu-block] [PATCH 22/29] qmp: add persistent flag to block-dirty-bitmap-add, Vladimir Sementsov-Ogievskiy, 2016/08/08
- [Qemu-block] [PATCH 24/29] qcow2-bitmap: maintian BlockDirtyBitmap.autoload,
Vladimir Sementsov-Ogievskiy <=
- [Qemu-block] [PATCH 01/29] hbitmap: fix dirty iter, Vladimir Sementsov-Ogievskiy, 2016/08/08
- [Qemu-block] [PATCH 14/29] qcow2-bitmap: add qcow2_bitmap_load_check(), Vladimir Sementsov-Ogievskiy, 2016/08/08
- [Qemu-block] [PATCH 15/29] block/dirty-bitmap: introduce persistent bitmaps, Vladimir Sementsov-Ogievskiy, 2016/08/08
- [Qemu-block] [PATCH 11/29] qcow2-bitmap: check constraints, Vladimir Sementsov-Ogievskiy, 2016/08/08
- [Qemu-block] [PATCH 12/29] qcow2: add qcow2_delete_bitmaps, Vladimir Sementsov-Ogievskiy, 2016/08/08
- [Qemu-block] [PATCH 06/29] qcow2-bitmap: add qcow2_read_bitmaps(), Vladimir Sementsov-Ogievskiy, 2016/08/08