Hi all.
There are three qmp commands, needed to implement external backup API.
Using these three commands, client may do all needed bitmap management by
hand:
on backup start we need to do a transaction:
{disable old bitmap, create new bitmap}
on backup success:
drop old bitmap
on backup fail:
enable old bitmap
merge new bitmap to old bitmap
drop new bitmap
Question: it may be better to make one command instead of two:
block-dirty-bitmap-set-enabled(bool enabled)
Vladimir Sementsov-Ogievskiy (4):
block/dirty-bitmap: add lock to bdrv_enable/disable_dirty_bitmap
qapi: add block-dirty-bitmap-enable/disable
qmp: transaction support for block-dirty-bitmap-enable/disable
qapi: add block-dirty-bitmap-merge
qapi/block-core.json | 80 +++++++++++++++++++++++
qapi/transaction.json | 4 ++
include/block/dirty-bitmap.h | 2 +
block/dirty-bitmap.c | 21 ++++++
blockdev.c | 151 +++++++++++++++++++++++++++++++++++++++++++
5 files changed, 258 insertions(+)
--
2.11.1