diff mbox

[COLO-Frame,v12,29/38] COLO: Update the global runstate after going into colo state

Message ID 1450167779-9960-30-git-send-email-zhang.zhanghailiang@huawei.com
State New
Headers show

Commit Message

Zhanghailiang Dec. 15, 2015, 8:22 a.m. UTC
If we start qemu with -S, the runstate will change from 'prelaunch' to 'running'
after going into colo state.
So it is necessary to update the global runstate after going into colo state.

Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>
---
 migration/colo.c | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Dr. David Alan Gilbert Dec. 15, 2015, 11:52 a.m. UTC | #1
* zhanghailiang (zhang.zhanghailiang@huawei.com) wrote:
> If we start qemu with -S, the runstate will change from 'prelaunch' to 'running'
> after going into colo state.
> So it is necessary to update the global runstate after going into colo state.
> 
> Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
> Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>

Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

> ---
>  migration/colo.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/migration/colo.c b/migration/colo.c
> index a094991..62a0444 100644
> --- a/migration/colo.c
> +++ b/migration/colo.c
> @@ -374,6 +374,11 @@ static void colo_process_checkpoint(MigrationState *s)
>      qemu_mutex_unlock_iothread();
>      trace_colo_vm_state_change("stop", "run");
>  
> +    ret = global_state_store();
> +    if (ret < 0) {
> +        goto out;
> +    }
> +
>      while (s->state == MIGRATION_STATUS_COLO) {
>          if (failover_request_is_active()) {
>              error_report("failover request");
> -- 
> 1.8.3.1
> 
> 
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
diff mbox

Patch

diff --git a/migration/colo.c b/migration/colo.c
index a094991..62a0444 100644
--- a/migration/colo.c
+++ b/migration/colo.c
@@ -374,6 +374,11 @@  static void colo_process_checkpoint(MigrationState *s)
     qemu_mutex_unlock_iothread();
     trace_colo_vm_state_change("stop", "run");
 
+    ret = global_state_store();
+    if (ret < 0) {
+        goto out;
+    }
+
     while (s->state == MIGRATION_STATUS_COLO) {
         if (failover_request_is_active()) {
             error_report("failover request");