We can call this qmp command to do checkpoint outside of qemu.
Xen colo will need this function.
Signed-off-by: Zhang Chen <zhangchen.fnst@cn.fujitsu.com>
Signed-off-by: Wen Congyang <wencongyang@gmail.com>
---
migration/colo.c | 17 ++++++++++++++++
qapi-schema.json | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 77 insertions(+)
diff --git a/migration/colo.c b/migration/colo.c
index 6fc2ade..2f98a33 100644
--- a/migration/colo.c
+++ b/migration/colo.c
@@ -127,6 +127,23 @@ void qmp_xen_set_replication(bool enable, bool primary,
}
}
+ReplicationResult *qmp_query_xen_replication_status(Error **errp)
+{
+ Error *err = NULL;
+ ReplicationResult *result = g_new0(ReplicationResult, 1);
+ replication_get_error_all(&err);
+ result->status = err ?
+ REPLICATION_STATUS_ERROR :
+ REPLICATION_STATUS_NORMAL;
+ error_free(err);
+ return result;
+}
+
+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 9445b93..719744a 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -5931,6 +5931,66 @@
'data': { 'enable': 'bool', 'primary': 'bool', '*failover' : 'bool' } }
##
+# @ReplicationStatus:
+#
+# Describe the status of replication.
+#
+# @error: Replication has an error.
+#
+# @normal: Replication is running normally.
+#
+# Since: 2.9
+##
+{ 'enum': 'ReplicationStatus',
+ 'data': [ 'error', 'normal' ] }
+
+##
+# @ReplicationResult:
+#
+# The result format for 'query-xen-replication-status'.
+#
+# @status: enum of @ReplicationStatus, which shows current
+# replication error status
+#
+# Since: 2.9
+##
+{ 'struct': 'ReplicationResult',
+ 'data': { 'status': 'ReplicationStatus'} }
+
+##
+# @query-xen-replication-status:
+#
+# Query replication status while the vm is running.
+#
+# Returns: A @ReplicationResult objects showing the status.
+#
+# Example:
+#
+# -> { "execute": "query-xen-replication-status" }
+# <- { "return": { "status": "normal" } }
+#
+# Since: 2.9
+##
+{ 'command': 'query-xen-replication-status',
+ 'returns': 'ReplicationResult' }
+
+##
+# @xen-do-checkpoint:
+#
+# Xen uses this command to notify replication to trigger a checkpoint.
+#
+# Returns: nothing.
+#
+# Example:
+#
+# -> { "execute": "xen-do-checkpoint" }
+# <- { "return": {} }
+#
+# Since: 2.9
+##
+{ 'command': 'xen-do-checkpoint' }
+
+##
# @GICCapability:
#
# The struct describes capability for a specific GIC (Generic
--
2.7.4
On 02/07/2017 11:24 PM, Zhang Chen wrote: > We can call this qmp command to do checkpoint outside of qemu. > Xen colo will need this function. > > Signed-off-by: Zhang Chen <zhangchen.fnst@cn.fujitsu.com> > Signed-off-by: Wen Congyang <wencongyang@gmail.com> > --- > migration/colo.c | 17 ++++++++++++++++ > qapi-schema.json | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > 2 files changed, 77 insertions(+) > Reviewed-by: Eric Blake <eblake@redhat.com> -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
On 02/09/2017 05:35 AM, Eric Blake wrote: > On 02/07/2017 11:24 PM, Zhang Chen wrote: >> We can call this qmp command to do checkpoint outside of qemu. >> Xen colo will need this function. >> >> Signed-off-by: Zhang Chen <zhangchen.fnst@cn.fujitsu.com> >> Signed-off-by: Wen Congyang <wencongyang@gmail.com> >> --- >> migration/colo.c | 17 ++++++++++++++++ >> qapi-schema.json | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ >> 2 files changed, 77 insertions(+) >> > Reviewed-by: Eric Blake <eblake@redhat.com> Thank you for your review. By the way, who can pick up this patch? You or Jason? Thanks Zhang Chen -- Thanks Zhang Chen
On Wed, 8 Feb 2017, Eric Blake wrote: > On 02/07/2017 11:24 PM, Zhang Chen wrote: > > We can call this qmp command to do checkpoint outside of qemu. > > Xen colo will need this function. > > > > Signed-off-by: Zhang Chen <zhangchen.fnst@cn.fujitsu.com> > > Signed-off-by: Wen Congyang <wencongyang@gmail.com> > > --- > > migration/colo.c | 17 ++++++++++++++++ > > qapi-schema.json | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > > 2 files changed, 77 insertions(+) > > > > Reviewed-by: Eric Blake <eblake@redhat.com> Given that the series is all acked, are you going to take care of the pull request?
Ping... No new for a long time. Who can pick up this patch? Thanks Zhang Chen On 02/14/2017 04:28 AM, Stefano Stabellini wrote: > On Wed, 8 Feb 2017, Eric Blake wrote: >> On 02/07/2017 11:24 PM, Zhang Chen wrote: >>> We can call this qmp command to do checkpoint outside of qemu. >>> Xen colo will need this function. >>> >>> Signed-off-by: Zhang Chen <zhangchen.fnst@cn.fujitsu.com> >>> Signed-off-by: Wen Congyang <wencongyang@gmail.com> >>> --- >>> migration/colo.c | 17 ++++++++++++++++ >>> qapi-schema.json | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ >>> 2 files changed, 77 insertions(+) >>> >> Reviewed-by: Eric Blake <eblake@redhat.com> > Given that the series is all acked, are you going to take care of the > pull request? > > > . > -- Thanks Zhang Chen
On 2017年02月16日 11:25, Zhang Chen wrote: > Ping... > > No new for a long time. > > Who can pick up this patch? > I believe you'd better cc migration maintainers (cced), have you tried scripts/get_maintainer ? Thanks > > Thanks > > Zhang Chen > > > On 02/14/2017 04:28 AM, Stefano Stabellini wrote: >> On Wed, 8 Feb 2017, Eric Blake wrote: >>> On 02/07/2017 11:24 PM, Zhang Chen wrote: >>>> We can call this qmp command to do checkpoint outside of qemu. >>>> Xen colo will need this function. >>>> >>>> Signed-off-by: Zhang Chen <zhangchen.fnst@cn.fujitsu.com> >>>> Signed-off-by: Wen Congyang <wencongyang@gmail.com> >>>> --- >>>> migration/colo.c | 17 ++++++++++++++++ >>>> qapi-schema.json | 60 >>>> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ >>>> 2 files changed, 77 insertions(+) >>>> >>> Reviewed-by: Eric Blake <eblake@redhat.com> >> Given that the series is all acked, are you going to take care of the >> pull request? >> >> >> . >> >
On 02/16/2017 01:08 PM, Jason Wang wrote:
>
>
> On 2017年02月16日 11:25, Zhang Chen wrote:
>> Ping...
>>
>> No new for a long time.
>>
>> Who can pick up this patch?
>>
>
> I believe you'd better cc migration maintainers (cced), have you tried
> scripts/get_maintainer ?
Thanks Jason.
Add cc Markus Armbruster <armbru@redhat.com>,
Amit Shah <amit.shah@redhat.com>,
zhanghailiang <zhang.zhanghailiang@huawei.com>
>
> Thanks
>
>>
>> Thanks
>>
>> Zhang Chen
>>
>>
>> On 02/14/2017 04:28 AM, Stefano Stabellini wrote:
>>> On Wed, 8 Feb 2017, Eric Blake wrote:
>>>> On 02/07/2017 11:24 PM, Zhang Chen wrote:
>>>>> We can call this qmp command to do checkpoint outside of qemu.
>>>>> Xen colo will need this function.
>>>>>
>>>>> Signed-off-by: Zhang Chen <zhangchen.fnst@cn.fujitsu.com>
>>>>> Signed-off-by: Wen Congyang <wencongyang@gmail.com>
>>>>> ---
>>>>> migration/colo.c | 17 ++++++++++++++++
>>>>> qapi-schema.json | 60
>>>>> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>>>>> 2 files changed, 77 insertions(+)
>>>>>
>>>> Reviewed-by: Eric Blake <eblake@redhat.com>
>>> Given that the series is all acked, are you going to take care of the
>>> pull request?
>>>
>>>
>>> .
>>>
>>
>
>
>
> .
>
--
Thanks
Zhang Chen
On 2017/2/8 13:24, Zhang Chen wrote:
> We can call this qmp command to do checkpoint outside of qemu.
> Xen colo will need this function.
>
> Signed-off-by: Zhang Chen <zhangchen.fnst@cn.fujitsu.com>
> Signed-off-by: Wen Congyang <wencongyang@gmail.com>
> ---
> migration/colo.c | 17 ++++++++++++++++
> qapi-schema.json | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> 2 files changed, 77 insertions(+)
>
> diff --git a/migration/colo.c b/migration/colo.c
> index 6fc2ade..2f98a33 100644
> --- a/migration/colo.c
> +++ b/migration/colo.c
> @@ -127,6 +127,23 @@ void qmp_xen_set_replication(bool enable, bool primary,
> }
> }
>
> +ReplicationResult *qmp_query_xen_replication_status(Error **errp)
> +{
> + Error *err = NULL;
> + ReplicationResult *result = g_new0(ReplicationResult, 1);
Indent, line break.
> + replication_get_error_all(&err);
> + result->status = err ?
> + REPLICATION_STATUS_ERROR :
> + REPLICATION_STATUS_NORMAL;
> + error_free(err);
> + return result;
> +}
> +
> +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 9445b93..719744a 100644
> --- a/qapi-schema.json
> +++ b/qapi-schema.json
> @@ -5931,6 +5931,66 @@
> 'data': { 'enable': 'bool', 'primary': 'bool', '*failover' : 'bool' } }
>
> ##
> +# @ReplicationStatus:
> +#
> +# Describe the status of replication.
> +#
> +# @error: Replication has an error.
> +#
> +# @normal: Replication is running normally.
> +#
> +# Since: 2.9
> +##
> +{ 'enum': 'ReplicationStatus',
> + 'data': [ 'error', 'normal' ] }
> +
> +##
> +# @ReplicationResult:
> +#
> +# The result format for 'query-xen-replication-status'.
> +#
> +# @status: enum of @ReplicationStatus, which shows current
> +# replication error status
> +#
> +# Since: 2.9
> +##
> +{ 'struct': 'ReplicationResult',
> + 'data': { 'status': 'ReplicationStatus'} }
^ Space
> +
> +##
> +# @query-xen-replication-status:
> +#
> +# Query replication status while the vm is running.
> +#
> +# Returns: A @ReplicationResult objects showing the status.
> +#
> +# Example:
> +#
> +# -> { "execute": "query-xen-replication-status" }
> +# <- { "return": { "status": "normal" } }
> +#
> +# Since: 2.9
> +##
> +{ 'command': 'query-xen-replication-status',
> + 'returns': 'ReplicationResult' }
> +
> +##
> +# @xen-do-checkpoint:
> +#
Maybe use the name 'xen-checkpoint-notify' or 'xen-colo-checkpoint-notify' ?
> +# Xen uses this command to notify replication to trigger a checkpoint.
> +#
> +# Returns: nothing.
> +#
> +# Example:
> +#
> +# -> { "execute": "xen-do-checkpoint" }
> +# <- { "return": {} }
> +#
> +# Since: 2.9
> +##
> +{ 'command': 'xen-do-checkpoint' }
> +
> +##
> # @GICCapability:
> #
> # The struct describes capability for a specific GIC (Generic
>
On 02/21/2017 09:01 PM, Hailiang Zhang wrote:
> On 2017/2/8 13:24, Zhang Chen wrote:
>> We can call this qmp command to do checkpoint outside of qemu.
>> Xen colo will need this function.
>>
>> Signed-off-by: Zhang Chen <zhangchen.fnst@cn.fujitsu.com>
>> Signed-off-by: Wen Congyang <wencongyang@gmail.com>
>> ---
>> migration/colo.c | 17 ++++++++++++++++
>> qapi-schema.json | 60
>> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>> 2 files changed, 77 insertions(+)
>>
>> diff --git a/migration/colo.c b/migration/colo.c
>> index 6fc2ade..2f98a33 100644
>> --- a/migration/colo.c
>> +++ b/migration/colo.c
>> @@ -127,6 +127,23 @@ void qmp_xen_set_replication(bool enable, bool
>> primary,
>> }
>> }
>>
>> +ReplicationResult *qmp_query_xen_replication_status(Error **errp)
>> +{
>> + Error *err = NULL;
>> + ReplicationResult *result = g_new0(ReplicationResult, 1);
>
> Indent, line break.
OK~~ will fix in next version.
>
>> + replication_get_error_all(&err);
>> + result->status = err ?
>> + REPLICATION_STATUS_ERROR :
>> + REPLICATION_STATUS_NORMAL;
>> + error_free(err);
>> + return result;
>> +}
>> +
>> +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 9445b93..719744a 100644
>> --- a/qapi-schema.json
>> +++ b/qapi-schema.json
>> @@ -5931,6 +5931,66 @@
>> 'data': { 'enable': 'bool', 'primary': 'bool', '*failover' :
>> 'bool' } }
>>
>> ##
>> +# @ReplicationStatus:
>> +#
>> +# Describe the status of replication.
>> +#
>> +# @error: Replication has an error.
>> +#
>> +# @normal: Replication is running normally.
>> +#
>> +# Since: 2.9
>> +##
>> +{ 'enum': 'ReplicationStatus',
>> + 'data': [ 'error', 'normal' ] }
>> +
>> +##
>> +# @ReplicationResult:
>> +#
>> +# The result format for 'query-xen-replication-status'.
>> +#
>> +# @status: enum of @ReplicationStatus, which shows current
>> +# replication error status
>> +#
>> +# Since: 2.9
>> +##
>> +{ 'struct': 'ReplicationResult',
>> + 'data': { 'status': 'ReplicationStatus'} }
> ^ Space
OK.
>
>> +
>> +##
>> +# @query-xen-replication-status:
>> +#
>> +# Query replication status while the vm is running.
>> +#
>> +# Returns: A @ReplicationResult objects showing the status.
>> +#
>> +# Example:
>> +#
>> +# -> { "execute": "query-xen-replication-status" }
>> +# <- { "return": { "status": "normal" } }
>> +#
>> +# Since: 2.9
>> +##
>> +{ 'command': 'query-xen-replication-status',
>> + 'returns': 'ReplicationResult' }
>> +
>> +##
>> +# @xen-do-checkpoint:
>> +#
>
> Maybe use the name 'xen-checkpoint-notify' or
> 'xen-colo-checkpoint-notify' ?
I will change the name to 'xen-colo-checkpoint-notify'.
Thank
Zhang Chen
>
>> +# Xen uses this command to notify replication to trigger a checkpoint.
>> +#
>> +# Returns: nothing.
>> +#
>> +# Example:
>> +#
>> +# -> { "execute": "xen-do-checkpoint" }
>> +# <- { "return": {} }
>> +#
>> +# Since: 2.9
>> +##
>> +{ 'command': 'xen-do-checkpoint' }
>> +
>> +##
>> # @GICCapability:
>> #
>> # The struct describes capability for a specific GIC (Generic
>>
>
>
>
> .
>
--
Thanks
Zhang Chen
© 2016 - 2026 Red Hat, Inc.