Create a subroutine for preserving the runstate after migration, to be used in a subsequent patch. No functional change.
Signed-off-by: Steve Sistare <steven.sist...@oracle.com> Reviewed-by: Fabiano Rosas <faro...@suse.de> --- migration/migration.c | 14 ++++++++++++++ migration/migration.h | 1 + migration/savevm.c | 11 +---------- 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/migration/migration.c b/migration/migration.c index 51ace82..1a5484a 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -1141,6 +1141,20 @@ void migrate_set_state(int *state, int old_state, int new_state) } } +void migrate_set_runstate(void) +{ + if (!global_state_received() || + global_state_get_runstate() == RUN_STATE_RUNNING) { + if (autostart) { + vm_start(); + } else { + runstate_set(RUN_STATE_PAUSED); + } + } else { + runstate_set(global_state_get_runstate()); + } +} + static void migrate_fd_cleanup(MigrationState *s) { qemu_bh_delete(s->cleanup_bh); diff --git a/migration/migration.h b/migration/migration.h index 6eea18d..45e9805 100644 --- a/migration/migration.h +++ b/migration/migration.h @@ -456,6 +456,7 @@ struct MigrationState { }; void migrate_set_state(int *state, int old_state, int new_state); +void migrate_set_runstate(void); void migration_fd_process_incoming(QEMUFile *f, Error **errp); void migration_ioc_process_incoming(QIOChannel *ioc, Error **errp); diff --git a/migration/savevm.c b/migration/savevm.c index be42d0a..eba3653 100644 --- a/migration/savevm.c +++ b/migration/savevm.c @@ -2070,16 +2070,7 @@ static void loadvm_postcopy_handle_run_bh(void *opaque) dirty_bitmap_mig_before_vm_start(); - if (!global_state_received() || - global_state_get_runstate() == RUN_STATE_RUNNING) { - if (autostart) { - vm_start(); - } else { - runstate_set(RUN_STATE_PAUSED); - } - } else { - runstate_set(global_state_get_runstate()); - } + migrate_set_runstate(); qemu_bh_delete(mis->bh); -- 1.8.3.1