@@ -717,6 +717,20 @@
'data': { 'capabilities': ['MigrationCapabilityStatus'] } }
##
+# @migrate-set-last-info
+#
+# Store migration info/statistics. Currently only used by the migration
+# protocol itself to tell the destination about the results before
+# the source QEMU is destroyed.
+#
+# @info: json array of MigrationInfo statistics from a previous migration.
+#
+# Since: 2.0
+##
+{ 'command': 'migrate-set-last-info',
+ 'data': { 'info': 'MigrationInfo' } }
+
+##
# @query-migrate-capabilities
#
# Returns information about the current migration capabilities status
@@ -3015,6 +3015,39 @@ EQMP
.params = "capability:s,state:b",
.mhandler.cmd_new = qmp_marshal_input_migrate_set_capabilities,
},
+
+SQMP
+migrate-set-last-info
+------------------------
+
+Store migration info/statistics. Currently only used by the migration
+protocol itself to tell the destination about the results before
+the source QEMU is destroyed.
+
+NOTE: There is no need to execute this command explicitly except for
+testing, as this information is already transmitted as part of the
+migration protocol. Thus, there is no HMP command made available for
+this option - only QMP.
+
+The example below is simple, but the migration protocol will actually
+transfer the entire JSON string that originated from the source, no
+matter what is inside of it, which should survive future version of
+QEMU when new statistics are added to the protocol.
+
+Arguments:
+- info: MigrationInfo statistics dictionary (json-object)
+
+Example:
+
+-> { "execute": "migrate-set-last-info" , "arguments":
+ { "info": { "downtime": 1234, "ram" : { "transferred" : 5678 } } } }
+EQMP
+ {
+ .name = "migrate-set-last-info",
+ .args_type = "info:O",
+ .mhandler.cmd_new = qmp_marshal_input_migrate_set_last_info,
+ },
+
SQMP
query-migrate-capabilities
--------------------------