Message ID | ffc879d79ea65aa44e8ff9829b1223de234af166.1298421307.git.quintela@redhat.com |
---|---|
State | New |
Headers | show |
2011/2/23 Juan Quintela <quintela@redhat.com>: > Use MIG_STATE_ACTIVE only when migration has really started > > Signed-off-by: Juan Quintela <quintela@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 It may be a good chance to make them enum? Yoshi > > typedef struct MigrationState MigrationState; > > -- > 1.7.4 > > >
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;
Use MIG_STATE_ACTIVE only when migration has really started Signed-off-by: Juan Quintela <quintela@redhat.com> --- migration.c | 6 +++++- migration.h | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-)