Use MIG_STATE_ACTIVE only when migration has really started Signed-off-by: Juan Quintela <quint...@redhat.com> --- migration.c | 6 +++++- migration.h | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/migration.c b/migration.c index 55f58c8..f015e02 100644 --- a/migration.c +++ b/migration.c @@ -238,6 +238,9 @@ void do_info_migrate(Monitor *mon, QObject **ret_data) MigrationState *s = current_migration; switch (s->get_status(current_migration)) { + case MIG_STATE_NONE: + /* no migration has happened ever */ + break; case MIG_STATE_ACTIVE: qdict = qdict_new(); qdict_put(qdict, "status", qstring_from_str("active")); @@ -465,6 +468,7 @@ void migrate_fd_connect(MigrationState *s) { int ret; + s->state = MIG_STATE_ACTIVE; s->file = qemu_fopen_ops_buffered(s, s->bandwidth_limit, migrate_fd_put_buffer, @@ -495,7 +499,7 @@ static MigrationState *migrate_create_state(Monitor *mon, int64_t bandwidth_limi s->shared = inc; s->mon = NULL; s->bandwidth_limit = bandwidth_limit; - s->state = MIG_STATE_ACTIVE; + s->state = MIG_STATE_NONE; if (!detach) { migrate_fd_monitor_suspend(s, mon); diff --git a/migration.h b/migration.h index 7d28dd3..3df2293 100644 --- a/migration.h +++ b/migration.h @@ -19,9 +19,10 @@ #include "notify.h" #define MIG_STATE_ERROR -1 -#define MIG_STATE_COMPLETED 0 +#define MIG_STATE_NONE 0 #define MIG_STATE_CANCELLED 1 #define MIG_STATE_ACTIVE 2 +#define MIG_STATE_COMPLETED 3 typedef struct MigrationState MigrationState; -- 1.7.4