[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v6 00/10] block: Incremental backup series
From: |
Fam Zheng |
Subject: |
[Qemu-devel] [PATCH v6 00/10] block: Incremental backup series |
Date: |
Thu, 30 Oct 2014 11:22:34 +0800 |
v6: Rebased v4 of the series on top of qemu.git. (skipping v5 since it was used
by me as a private sending, for those who received it, the code is the same
:)
This is the in memory part of the incremental backup feature.
With the added commands, we can create a bitmap on a block backend, from which
point of time all the writes are tracked by the bitmap, marking sectors as
dirty. Later, we call drive-backup and pass the bitmap to it, to do an
incremental backup.
See the last patch which adds some tests for this use case.
Fam
Fam Zheng (10):
qapi: Add optional field "name" to block dirty bitmap
qmp: Add block-dirty-bitmap-add and block-dirty-bitmap-remove
block: Introduce bdrv_dirty_bitmap_granularity()
hbitmap: Add hbitmap_copy
block: Add bdrv_copy_dirty_bitmap and bdrv_reset_dirty_bitmap
qmp: Add block-dirty-bitmap-enable and block-dirty-bitmap-disable
qmp: Add support of "dirty-bitmap" sync mode for drive-backup
qapi: Add transaction support to
block-dirty-bitmap-{add,enable,disable}
qmp: Add dirty bitmap 'enabled' field in query-block
qemu-iotests: Add tests for drive-backup sync=dirty-bitmap
block-migration.c | 2 +-
block.c | 82 ++++++++++++++++-
block/backup.c | 54 +++++++++++-
block/mirror.c | 6 +-
blockdev.c | 198 +++++++++++++++++++++++++++++++++++++++++-
hmp.c | 4 +-
include/block/block.h | 15 +++-
include/block/block_int.h | 4 +
include/qemu/hbitmap.h | 8 ++
qapi-schema.json | 5 +-
qapi/block-core.json | 120 +++++++++++++++++++++++--
qmp-commands.hx | 66 +++++++++++++-
tests/qemu-iotests/056 | 33 ++++++-
tests/qemu-iotests/056.out | 4 +-
tests/qemu-iotests/iotests.py | 8 ++
util/hbitmap.c | 16 ++++
16 files changed, 603 insertions(+), 22 deletions(-)
--
1.9.3
- [Qemu-devel] [PATCH v6 00/10] block: Incremental backup series,
Fam Zheng <=
- [Qemu-devel] [PATCH v6 01/10] qapi: Add optional field "name" to block dirty bitmap, Fam Zheng, 2014/10/29
- [Qemu-devel] [PATCH v6 02/10] qmp: Add block-dirty-bitmap-add and block-dirty-bitmap-remove, Fam Zheng, 2014/10/29
- [Qemu-devel] [PATCH v6 03/10] block: Introduce bdrv_dirty_bitmap_granularity(), Fam Zheng, 2014/10/29
- [Qemu-devel] [PATCH v6 04/10] hbitmap: Add hbitmap_copy, Fam Zheng, 2014/10/29
- [Qemu-devel] [PATCH v6 05/10] block: Add bdrv_copy_dirty_bitmap and bdrv_reset_dirty_bitmap, Fam Zheng, 2014/10/29
- [Qemu-devel] [PATCH v6 06/10] qmp: Add block-dirty-bitmap-enable and block-dirty-bitmap-disable, Fam Zheng, 2014/10/29
- [Qemu-devel] [PATCH v6 07/10] qmp: Add support of "dirty-bitmap" sync mode for drive-backup, Fam Zheng, 2014/10/29
- [Qemu-devel] [PATCH v6 08/10] qapi: Add transaction support to block-dirty-bitmap-{add, enable, disable}, Fam Zheng, 2014/10/29
- [Qemu-devel] [PATCH v6 09/10] qmp: Add dirty bitmap 'enabled' field in query-block, Fam Zheng, 2014/10/29
- [Qemu-devel] [PATCH v6 10/10] qemu-iotests: Add tests for drive-backup sync=dirty-bitmap, Fam Zheng, 2014/10/29