[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 0/6] external backup api
From: |
Vladimir Sementsov-Ogievskiy |
Subject: |
[Qemu-devel] [PATCH v2 0/6] external backup api |
Date: |
Sat, 30 Jan 2016 13:56:28 +0300 |
Hi all.
These series which aims to add external backup api. This is needed to allow
backup software use our dirty bitmaps.
Vmware and Parallels Cloud Server have this feature.
There are three things are done:
- add query-block-dirty-bitmap-ranges qmp command
- add qmp commands for dirty-bitmap functions: create_successor, abdicate,
reclaim.
- make create-successor command transaction-able
Then, external backup should be done like this:
1. qmp transaction {
external-snapshot
bitmap-create-successor
}
2. qmp query frozen bitmap, not acquiring aio context.
3. do external backup, using snapshot and bitmap
4. if (success backup)
qmp bitmap-abdicate
else
qmp bitmap-reclaime
5. qmp merge snapshot
v2: a lot of additions and changes, no sense to compare with v1
Vladimir Sementsov-Ogievskiy (6):
block dirty bitmap: add next_zero function
qmp: add query-block-dirty-bitmap-ranges
iotests: test query-block-dirty-bitmap-ranges
qapi: add qmp commands for some dirty bitmap functions
qapi: make block-dirty-bitmap-create-successor transaction-able
iotests: test external backup api
block/dirty-bitmap.c | 60 ++++++++++++++++++++++
blockdev.c | 113 +++++++++++++++++++++++++++++++++++++++++
include/block/dirty-bitmap.h | 9 ++++
include/qemu/hbitmap.h | 8 +++
qapi-schema.json | 4 +-
qapi/block-core.json | 90 +++++++++++++++++++++++++++++++++
qmp-commands.hx | 118 +++++++++++++++++++++++++++++++++++++++++++
tests/qemu-iotests/150 | 88 ++++++++++++++++++++++++++++++++
tests/qemu-iotests/150.out | 21 ++++++++
tests/qemu-iotests/151 | 77 ++++++++++++++++++++++++++++
tests/qemu-iotests/151.out | 7 +++
tests/qemu-iotests/group | 2 +
util/hbitmap.c | 26 ++++++++++
13 files changed, 622 insertions(+), 1 deletion(-)
create mode 100755 tests/qemu-iotests/150
create mode 100644 tests/qemu-iotests/150.out
create mode 100755 tests/qemu-iotests/151
create mode 100644 tests/qemu-iotests/151.out
--
1.8.3.1
- [Qemu-devel] [PATCH v2 0/6] external backup api,
Vladimir Sementsov-Ogievskiy <=
- [Qemu-devel] [PATCH 1/6] block dirty bitmap: add next_zero function, Vladimir Sementsov-Ogievskiy, 2016/01/30
- [Qemu-devel] [PATCH 3/6] iotests: test query-block-dirty-bitmap-ranges, Vladimir Sementsov-Ogievskiy, 2016/01/30
- [Qemu-devel] [PATCH 2/6] qmp: add query-block-dirty-bitmap-ranges, Vladimir Sementsov-Ogievskiy, 2016/01/30
- [Qemu-devel] [PATCH 4/6] qapi: add qmp commands for some dirty bitmap functions, Vladimir Sementsov-Ogievskiy, 2016/01/30
- [Qemu-devel] [PATCH 5/6] qapi: make block-dirty-bitmap-create-successor transaction-able, Vladimir Sementsov-Ogievskiy, 2016/01/30
- [Qemu-devel] [PATCH 6/6] iotests: test external backup api, Vladimir Sementsov-Ogievskiy, 2016/01/30