On 12/21/2016 08:18 AM, Stefano Stabellini wrote:
On Fri, 16 Dec 2016, Zhang Chen wrote:
We can call this qmp command to do checkpoint outside of qemu.
Like Xen colo need this function.
Signed-off-by: Zhang Chen <zhangchen.f...@cn.fujitsu.com>
Signed-off-by: Wen Congyang <wencongy...@gmail.com>
---
docs/qmp-commands.txt | 24 ++++++++++++++++++++++++
migration/colo.c | 10 ++++++++++
qapi-schema.json | 22 ++++++++++++++++++++++
3 files changed, 56 insertions(+)
diff --git a/docs/qmp-commands.txt b/docs/qmp-commands.txt
index a8e9eb6..093b7eb 100644
--- a/docs/qmp-commands.txt
+++ b/docs/qmp-commands.txt
@@ -450,6 +450,30 @@ Example:
"arguments": {"enable": true, "primary": false} }
<- { "return": {} }
+xen-get-replication-error
+-------------------------
+
+Get replication error that occurs when vm is running.
+
+Arguments: None.
+
+Example:
+
+-> { "execute": "xen-get-replication-error" }
+<- { "return": {} }
+
+xen-do-checkpoint
+-----------------
+
+Do checkpoint.
+
+Arguments: None.
+
+Example:
+
+-> { "execute": "xen-do-checkpoint" }
+<- { "return": {} }
I don't know much about QMP, but shouldn't these two functions return a
success or failure at least? Especially xen-get-replication-error? How
does xen-get-replication-error actually return the error?
Please also write this info on the description of the commands
(docs/qmp-commands.txt, qapi-schema.json).
OK, I will add more description of the commands in next version.
Thanks
Zhang Chen
migrate
-------
diff --git a/migration/colo.c b/migration/colo.c
index 6fc2ade..1e962f6 100644
--- a/migration/colo.c
+++ b/migration/colo.c
@@ -127,6 +127,16 @@ void qmp_xen_set_replication(bool enable, bool primary,
}
}
+void qmp_xen_get_replication_error(Error **errp)
+ {
+ replication_get_error_all(errp);
+ }
+
+void qmp_xen_do_checkpoint(Error **errp)
+ {
+ replication_do_checkpoint_all(errp);
+ }
+
static void colo_send_message(QEMUFile *f, COLOMessage msg,
Error **errp)
{
diff --git a/qapi-schema.json b/qapi-schema.json
index 78802f4..79fe4dd 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -4695,6 +4695,28 @@
'data': { 'enable': 'bool', 'primary': 'bool', '*failover' : 'bool' } }
##
+# @xen-get-replication-error
+#
+# Get replication error that occurs when the vm is running.
+#
+# Returns: nothing.
+#
+# Since: 2.9
+##
+{ 'command': 'xen-get-replication-error' }
+
+##
+# @xen-do-checkpoint
+#
+# Do checkpoint.
+#
+# Returns: nothing.
+#
+# Since: 2.9
+##
+{ 'command': 'xen-do-checkpoint' }
+
+##
# @GICCapability:
#
# The struct describes capability for a specific GIC (Generic
--
2.7.4
.
--
Thanks
Zhang Chen