diff mbox series

[3/3] Migration/colo.c: Make COLO node running after failover

Message ID 20190226053434.6252-4-chen.zhang@intel.com (mailing list archive)
State New, archived
Headers show
Series Migration/colo.c: Fix upstream bugs when occur failover | expand

Commit Message

Zhang Chen Feb. 26, 2019, 5:34 a.m. UTC
From: Zhang Chen <chen.zhang@intel.com>

Delay to close COLO for auto start VM after failover.

Signed-off-by: Zhang Chen <chen.zhang@intel.com>
---
 migration/colo.c      | 1 -
 migration/migration.c | 3 +++
 2 files changed, 3 insertions(+), 1 deletion(-)

Comments

Dr. David Alan Gilbert Feb. 26, 2019, 11:01 a.m. UTC | #1
* Zhang Chen (chen.zhang@intel.com) wrote:
> From: Zhang Chen <chen.zhang@intel.com>
> 
> Delay to close COLO for auto start VM after failover.
> 
> Signed-off-by: Zhang Chen <chen.zhang@intel.com>

Yes, I guess the state sent over the global state is probably
RUN_STATE_COLO so it doesn't autostart on new machine types, and this
looks like it would fix it.


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

> ---
>  migration/colo.c      | 1 -
>  migration/migration.c | 3 +++
>  2 files changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/migration/colo.c b/migration/colo.c
> index a13acac192..89325952c7 100644
> --- a/migration/colo.c
> +++ b/migration/colo.c
> @@ -875,7 +875,6 @@ out:
>          qemu_fclose(mis->to_src_file);
>          mis->to_src_file = NULL;
>      }
> -    migration_incoming_disable_colo();
>  
>      rcu_unregister_thread();
>      return NULL;
> diff --git a/migration/migration.c b/migration/migration.c
> index 37e06b76dc..cec5f529c3 100644
> --- a/migration/migration.c
> +++ b/migration/migration.c
> @@ -383,6 +383,9 @@ static void process_incoming_migration_bh(void *opaque)
>          } else {
>              runstate_set(RUN_STATE_PAUSED);
>          }
> +    } else if (migration_incoming_colo_enabled()) {
> +        migration_incoming_disable_colo();
> +        vm_start();
>      } else {
>          runstate_set(global_state_get_runstate());
>      }
> -- 
> 2.17.GIT
> 
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
diff mbox series

Patch

diff --git a/migration/colo.c b/migration/colo.c
index a13acac192..89325952c7 100644
--- a/migration/colo.c
+++ b/migration/colo.c
@@ -875,7 +875,6 @@  out:
         qemu_fclose(mis->to_src_file);
         mis->to_src_file = NULL;
     }
-    migration_incoming_disable_colo();
 
     rcu_unregister_thread();
     return NULL;
diff --git a/migration/migration.c b/migration/migration.c
index 37e06b76dc..cec5f529c3 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -383,6 +383,9 @@  static void process_incoming_migration_bh(void *opaque)
         } else {
             runstate_set(RUN_STATE_PAUSED);
         }
+    } else if (migration_incoming_colo_enabled()) {
+        migration_incoming_disable_colo();
+        vm_start();
     } else {
         runstate_set(global_state_get_runstate());
     }