diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2013-02-22 17:36:32 +0100 |
---|---|---|
committer | Juan Quintela <quintela@redhat.com> | 2013-03-11 13:32:02 +0100 |
commit | 059f896cefb2776181e39d9ba69345bd9d07d52b (patch) | |
tree | 9d015ca9984a6482b680f8260dce1a60c8b715aa | |
parent | 05f28b837c6bd6124abab2496ce15c07a334a5ad (diff) | |
download | hqemu-059f896cefb2776181e39d9ba69345bd9d07d52b.zip hqemu-059f896cefb2776181e39d9ba69345bd9d07d52b.tar.gz |
migration: eliminate last_round
We will go around the loop exactly once after setting last_round.
Eliminate the variable altogether.
Reviewed-by: Orit Wasserman <owasserm@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
-rw-r--r-- | migration.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/migration.c b/migration.c index 861b124..612ffa7 100644 --- a/migration.c +++ b/migration.c @@ -626,7 +626,6 @@ static void *migration_thread(void *opaque) int64_t max_size = 0; int64_t start_time = initial_time; bool old_vm_running = false; - bool last_round = false; DPRINTF("beginning savevm\n"); qemu_savevm_state_begin(s->file, &s->params); @@ -650,8 +649,11 @@ static void *migration_thread(void *opaque) vm_stop_force_state(RUN_STATE_FINISH_MIGRATE); s->xfer_limit = INT_MAX; qemu_savevm_state_complete(s->file); - last_round = true; qemu_mutex_unlock_iothread(); + if (!qemu_file_get_error(s->file)) { + migrate_finish_set_state(s, MIG_STATE_COMPLETED); + break; + } } } @@ -675,15 +677,13 @@ static void *migration_thread(void *opaque) sleep_time = 0; initial_time = current_time; } - if (!last_round && (s->bytes_xfer >= s->xfer_limit)) { + if (s->bytes_xfer >= s->xfer_limit) { /* usleep expects microseconds */ g_usleep((initial_time + BUFFER_DELAY - current_time)*1000); sleep_time += qemu_get_clock_ms(rt_clock) - current_time; } if (qemu_file_get_error(s->file)) { migrate_finish_set_state(s, MIG_STATE_ERROR); - } else if (last_round) { - migrate_finish_set_state(s, MIG_STATE_COMPLETED); } } @@ -695,7 +695,6 @@ static void *migration_thread(void *opaque) runstate_set(RUN_STATE_POSTMIGRATE); } else { if (old_vm_running) { - assert(last_round); vm_start(); } } |