mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-05 00:33:55 -06:00
block/backup: Add mirror sync mode 'bitmap'
We don't need or want a new sync mode for simple differences in semantics. Create a new mode simply named "BITMAP" that is designed to make use of the new Bitmap Sync Mode field. Because the only bitmap sync mode is 'on-success', this adds no new functionality to the backup job (yet). The old incremental backup mode is maintained as a syntactic sugar for sync=bitmap, mode=on-success. Add all of the plumbing necessary to support this new instruction. Signed-off-by: John Snow <jsnow@redhat.com> Reviewed-by: Max Reitz <mreitz@redhat.com> Message-id: 20190709232550.10724-6-jsnow@redhat.com Signed-off-by: John Snow <jsnow@redhat.com>
This commit is contained in:
parent
00a463b1dc
commit
c8b5650178
6 changed files with 58 additions and 20 deletions
|
@ -1127,12 +1127,15 @@
|
|||
#
|
||||
# @none: only copy data written from now on
|
||||
#
|
||||
# @incremental: only copy data described by the dirty bitmap. Since: 2.4
|
||||
# @incremental: only copy data described by the dirty bitmap. (since: 2.4)
|
||||
#
|
||||
# @bitmap: only copy data described by the dirty bitmap. (since: 4.2)
|
||||
# Behavior on completion is determined by the BitmapSyncMode.
|
||||
#
|
||||
# Since: 1.3
|
||||
##
|
||||
{ 'enum': 'MirrorSyncMode',
|
||||
'data': ['top', 'full', 'none', 'incremental'] }
|
||||
'data': ['top', 'full', 'none', 'incremental', 'bitmap'] }
|
||||
|
||||
##
|
||||
# @BitmapSyncMode:
|
||||
|
@ -1343,9 +1346,14 @@
|
|||
# @speed: the maximum speed, in bytes per second. The default is 0,
|
||||
# for unlimited.
|
||||
#
|
||||
# @bitmap: the name of dirty bitmap if sync is "incremental".
|
||||
# Must be present if sync is "incremental", must NOT be present
|
||||
# otherwise. (Since 2.4 (drive-backup), 3.1 (blockdev-backup))
|
||||
# @bitmap: the name of a dirty bitmap if sync is "bitmap" or "incremental".
|
||||
# Must be present if sync is "bitmap" or "incremental".
|
||||
# Must not be present otherwise.
|
||||
# (Since 2.4 (drive-backup), 3.1 (blockdev-backup))
|
||||
#
|
||||
# @bitmap-mode: Specifies the type of data the bitmap should contain after
|
||||
# the operation concludes. Must be present if sync is "bitmap".
|
||||
# Must NOT be present otherwise. (Since 4.2)
|
||||
#
|
||||
# @compress: true to compress data, if the target format supports it.
|
||||
# (default: false) (since 2.8)
|
||||
|
@ -1380,7 +1388,8 @@
|
|||
{ 'struct': 'BackupCommon',
|
||||
'data': { '*job-id': 'str', 'device': 'str',
|
||||
'sync': 'MirrorSyncMode', '*speed': 'int',
|
||||
'*bitmap': 'str', '*compress': 'bool',
|
||||
'*bitmap': 'str', '*bitmap-mode': 'BitmapSyncMode',
|
||||
'*compress': 'bool',
|
||||
'*on-source-error': 'BlockdevOnError',
|
||||
'*on-target-error': 'BlockdevOnError',
|
||||
'*auto-finalize': 'bool', '*auto-dismiss': 'bool' } }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue