Signed-off-by: Paolo Bonzini <[email protected]>
---
migration.c | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/migration.c b/migration.c
index 5e2077e..63ecab5 100644
--- a/migration.c
+++ b/migration.c
@@ -644,6 +644,10 @@ static void *migration_thread(void *opaque)
}
}
}
+ if (qemu_file_get_error(s->file)) {
+ __sync_val_compare_and_swap(&s->state, MIG_STATE_ACTIVE,
MIG_STATE_ERROR);
+ break;
+ }
if (current_time >= initial_time + BUFFER_DELAY) {
uint64_t transferred_bytes = s->bytes_xfer;
uint64_t time_spent = current_time - initial_time;
@@ -661,9 +665,6 @@ static void *migration_thread(void *opaque)
/* usleep expects microseconds */
g_usleep((initial_time + BUFFER_DELAY - current_time)*1000);
}
- if (qemu_file_get_error(s->file)) {
- __sync_val_compare_and_swap(&s->state, MIG_STATE_ACTIVE,
MIG_STATE_ERROR);
- }
}
qemu_mutex_lock_iothread();
--
1.7.1