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). > 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 > > > >