diff mbox

[22/36] migration: Introduce MIG_STATE_SETUP

Message ID 336a3c5cc754339152f09baa96788f1b00b706f9.1318326684.git.quintela@redhat.com
State New
Headers show

Commit Message

Juan Quintela Oct. 11, 2011, 10 a.m. UTC
Use MIG_STATE_ACTIVE only when migration has really started.  Use this
new state to setup migration parameters.

Signed-off-by: Juan Quintela <quintela@redhat.com>
---
 migration.c |    6 +++++-
 migration.h |   11 +++++++----
 2 files changed, 12 insertions(+), 5 deletions(-)

Comments

Anthony Liguori Oct. 17, 2011, 2:03 p.m. UTC | #1
On 10/11/2011 05:00 AM, Juan Quintela wrote:
> Use MIG_STATE_ACTIVE only when migration has really started.  Use this
> new state to setup migration parameters.
>
> Signed-off-by: Juan Quintela<quintela@redhat.com>
> ---
>   migration.c |    6 +++++-
>   migration.h |   11 +++++++----
>   2 files changed, 12 insertions(+), 5 deletions(-)
>
> diff --git a/migration.c b/migration.c
> index e93f3f7..a01bf4f 100644
> --- a/migration.c
> +++ b/migration.c
> @@ -239,6 +239,9 @@ void do_info_migrate(Monitor *mon, QObject **ret_data)
>           MigrationState *s = current_migration;
>
>           switch (s->get_status(current_migration)) {
> +        case MIG_STATE_SETUP:
> +            /* no migration has happened ever */
> +            break;
>           case MIG_STATE_ACTIVE:
>               qdict = qdict_new();
>               qdict_put(qdict, "status", qstring_from_str("active"));
> @@ -478,6 +481,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,
> @@ -507,7 +511,7 @@ static MigrationState *migrate_new(Monitor *mon, int64_t bandwidth_limit,
>       s->shared = inc;
>       s->mon = NULL;
>       s->bandwidth_limit = bandwidth_limit;
> -    s->state = MIG_STATE_ACTIVE;
> +    s->state = MIG_STATE_SETUP;
>
>       if (!detach) {
>           migrate_fd_monitor_suspend(s, mon);
> diff --git a/migration.h b/migration.h
> index 14c3ebc..3165140 100644
> --- a/migration.h
> +++ b/migration.h
> @@ -18,10 +18,13 @@
>   #include "qemu-common.h"
>   #include "notify.h"
>
> -#define MIG_STATE_ERROR		-1
> -#define MIG_STATE_COMPLETED	0
> -#define MIG_STATE_CANCELLED	1
> -#define MIG_STATE_ACTIVE	2
> +enum migration_state {

CODING_STYLE.

Regards,

Anthony Liguori

> +    MIG_STATE_ERROR,
> +    MIG_STATE_SETUP,
> +    MIG_STATE_CANCELLED,
> +    MIG_STATE_ACTIVE,
> +    MIG_STATE_COMPLETED,
> +};
>
>   typedef struct MigrationState MigrationState;
>
diff mbox

Patch

diff --git a/migration.c b/migration.c
index e93f3f7..a01bf4f 100644
--- a/migration.c
+++ b/migration.c
@@ -239,6 +239,9 @@  void do_info_migrate(Monitor *mon, QObject **ret_data)
         MigrationState *s = current_migration;

         switch (s->get_status(current_migration)) {
+        case MIG_STATE_SETUP:
+            /* no migration has happened ever */
+            break;
         case MIG_STATE_ACTIVE:
             qdict = qdict_new();
             qdict_put(qdict, "status", qstring_from_str("active"));
@@ -478,6 +481,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,
@@ -507,7 +511,7 @@  static MigrationState *migrate_new(Monitor *mon, int64_t bandwidth_limit,
     s->shared = inc;
     s->mon = NULL;
     s->bandwidth_limit = bandwidth_limit;
-    s->state = MIG_STATE_ACTIVE;
+    s->state = MIG_STATE_SETUP;

     if (!detach) {
         migrate_fd_monitor_suspend(s, mon);
diff --git a/migration.h b/migration.h
index 14c3ebc..3165140 100644
--- a/migration.h
+++ b/migration.h
@@ -18,10 +18,13 @@ 
 #include "qemu-common.h"
 #include "notify.h"

-#define MIG_STATE_ERROR		-1
-#define MIG_STATE_COMPLETED	0
-#define MIG_STATE_CANCELLED	1
-#define MIG_STATE_ACTIVE	2
+enum migration_state {
+    MIG_STATE_ERROR,
+    MIG_STATE_SETUP,
+    MIG_STATE_CANCELLED,
+    MIG_STATE_ACTIVE,
+    MIG_STATE_COMPLETED,
+};

 typedef struct MigrationState MigrationState;