Sizes should use QAPI type 'size' (uint64_t). SnapshotInfo member
@vm-state-size is 'int' (int64_t). QEMUSnapshotInfo member
@vm_state_size is uint64_t. bdrv_query_snapshot_info_list(),
bdrv_image_info_dump(), qmp_blockdev_snapshot_delete_internal_sync()
convert implicitly between the two.
Change the SnapshotInfo member to 'size'.
query-named-block-nodes, query-block and
blockdev-snapshot-delete-internal-sync now report VM state sizes above
2^63-1 correctly instead of their (negative) two's complement.
HMP's "info snapshots" and "info block" still report negative values,
because bdrv_snapshot_dump() passes the size to
get_human_readable_size(), which is still signed. To be fixed soon.
Same for "qemu-img snapshot -l" and "qemu-img info".
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
qapi/block-core.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/qapi/block-core.json b/qapi/block-core.json
index 27790f3..ecfeecd 100644
--- a/qapi/block-core.json
+++ b/qapi/block-core.json
@@ -28,7 +28,7 @@
#
##
{ 'struct': 'SnapshotInfo',
- 'data': { 'id': 'str', 'name': 'str', 'vm-state-size': 'int',
+ 'data': { 'id': 'str', 'name': 'str', 'vm-state-size': 'size',
'date-sec': 'int', 'date-nsec': 'int',
'vm-clock-sec': 'int', 'vm-clock-nsec': 'int' } }
--
2.7.5