On 05/11/2018 08:25 PM, John Snow wrote:
Add two new structures for detailing the marked regions of bitmaps as
saved in e.g. qcow2 files.
Signed-off-by: John Snow <js...@redhat.com>
---
qapi/block-core.json | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)
diff --git a/qapi/block-core.json b/qapi/block-core.json
index 8f33f41ce7..de8ad73a78 100644
--- a/qapi/block-core.json
+++ b/qapi/block-core.json
@@ -298,6 +298,38 @@
'zero': 'bool', 'depth': 'int', '*offset': 'int',
'*filename': 'str' } }
+##
+# @BitmapEntry:
+#
+# Dirty Bitmap region information for a virtual block range
+#
+# @offset: the start byte of the dirty virtual range
+#
+# @length: the number of bytes of the dirty virtual range
+#
+# Since: 2.13
+#
+##
+{ 'struct': 'BitmapEntry',
+ 'data': { 'offset': 'int', 'length': 'int' } }
+
+##
+# @BitmapMapping:
+#
+# List of described regions correlated to a named bitmap.
+#
+# @name: The name of the bitmap whose range is described here
+#
+# @entries: A list of zero or more @BitmapEntry elements representing
+# the range(s) described by the bitmap.
Is it also worth documenting that the list will be in ascending order,
with no overlaps (no two entries covering the same offset); and in fact
with a gap between all entries (as otherwise those two consecutive
entries could have been consolidated to one)?
+#
+# Since: 2.13
+#
+##
+{ 'struct': 'BitmapMapping',
+ 'data': { 'name': 'str',
+ 'entries': [ 'BitmapEntry' ] } }
+
##
# @BlockdevCacheInfo:
#
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org