Patchwork [09/22] migration: Introduce MIG_STATE_NONE

login
register
mail settings
Submitter Juan Quintela
Date Feb. 23, 2011, 12:44 a.m.
Message ID <ffc879d79ea65aa44e8ff9829b1223de234af166.1298421307.git.quintela@redhat.com>
Download mbox | patch
Permalink /patch/84022/
State New
Headers show

Comments

Juan Quintela - Feb. 23, 2011, 12:44 a.m.
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(-)
Yoshiaki Tamura - Feb. 23, 2011, 9:36 a.m.
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
>
>
>

Patch

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;