[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 5/5] QMP: Emit migration events on outgoing migratio
From: |
Juan Quintela |
Subject: |
[Qemu-devel] [PATCH 5/5] QMP: Emit migration events on outgoing migration |
Date: |
Mon, 24 May 2010 10:25:29 +0200 |
Signed-off-by: Juan Quintela <address@hidden>
---
migration-exec.c | 3 ++-
migration-fd.c | 1 +
migration-tcp.c | 2 ++
migration-unix.c | 2 ++
migration.c | 5 +++++
5 files changed, 12 insertions(+), 1 deletions(-)
diff --git a/migration-exec.c b/migration-exec.c
index 07af11a..ebc9256 100644
--- a/migration-exec.c
+++ b/migration-exec.c
@@ -20,6 +20,7 @@
#include "sysemu.h"
#include "buffered_file.h"
#include "block.h"
+#include "monitor.h"
//#define DEBUG_MIGRATION_EXEC
@@ -91,9 +92,9 @@ MigrationState *exec_start_outgoing_migration(Monitor *mon,
s->mig_state.shared = inc;
s->state = MIG_STATE_ACTIVE;
+ monitor_protocol_event(QEVENT_MIGRATION_STARTED, NULL);
s->mon = NULL;
s->bandwidth_limit = bandwidth_limit;
-
if (!detach) {
migrate_fd_monitor_suspend(s, mon);
}
diff --git a/migration-fd.c b/migration-fd.c
index 6d14505..9c4c7ae 100644
--- a/migration-fd.c
+++ b/migration-fd.c
@@ -83,6 +83,7 @@ MigrationState *fd_start_outgoing_migration(Monitor *mon,
s->mig_state.blk = blk;
s->mig_state.shared = inc;
+ monitor_protocol_event(QEVENT_MIGRATION_STARTED, NULL);
s->state = MIG_STATE_ACTIVE;
s->mon = NULL;
s->bandwidth_limit = bandwidth_limit;
diff --git a/migration-tcp.c b/migration-tcp.c
index 20f2e37..11a1203 100644
--- a/migration-tcp.c
+++ b/migration-tcp.c
@@ -18,6 +18,7 @@
#include "sysemu.h"
#include "buffered_file.h"
#include "block.h"
+#include "monitor.h"
//#define DEBUG_MIGRATION_TCP
@@ -102,6 +103,7 @@ MigrationState *tcp_start_outgoing_migration(Monitor *mon,
s->mig_state.blk = blk;
s->mig_state.shared = inc;
+ monitor_protocol_event(QEVENT_MIGRATION_STARTED, NULL);
s->state = MIG_STATE_ACTIVE;
s->mon = NULL;
s->bandwidth_limit = bandwidth_limit;
diff --git a/migration-unix.c b/migration-unix.c
index 57232c0..08f29a3 100644
--- a/migration-unix.c
+++ b/migration-unix.c
@@ -18,6 +18,7 @@
#include "sysemu.h"
#include "buffered_file.h"
#include "block.h"
+#include "monitor.h"
//#define DEBUG_MIGRATION_UNIX
@@ -101,6 +102,7 @@ MigrationState *unix_start_outgoing_migration(Monitor *mon,
s->mig_state.blk = blk;
s->mig_state.shared = inc;
+ monitor_protocol_event(QEVENT_MIGRATION_STARTED, NULL);
s->state = MIG_STATE_ACTIVE;
s->mon = NULL;
s->bandwidth_limit = bandwidth_limit;
diff --git a/migration.c b/migration.c
index 7fba993..ff84504 100644
--- a/migration.c
+++ b/migration.c
@@ -302,6 +302,7 @@ void migrate_fd_monitor_suspend(FdMigrationState *s,
Monitor *mon)
void migrate_fd_error(FdMigrationState *s)
{
DPRINTF("setting error state\n");
+ monitor_protocol_event(QEVENT_MIGRATION_FAILED, NULL);
s->state = MIG_STATE_ERROR;
migrate_fd_cleanup(s);
}
@@ -399,8 +400,10 @@ void migrate_fd_put_ready(void *opaque)
if (old_vm_running) {
vm_start();
}
+ monitor_protocol_event(QEVENT_MIGRATION_FAILED, NULL);
state = MIG_STATE_ERROR;
} else {
+ monitor_protocol_event(QEVENT_MIGRATION_ENDED, NULL);
state = MIG_STATE_COMPLETED;
}
migrate_fd_cleanup(s);
@@ -423,6 +426,7 @@ void migrate_fd_cancel(MigrationState *mig_state)
DPRINTF("cancelling migration\n");
+ monitor_protocol_event(QEVENT_MIGRATION_CANCELED, NULL);
s->state = MIG_STATE_CANCELLED;
qemu_savevm_state_cancel(s->mon, s->file);
@@ -436,6 +440,7 @@ void migrate_fd_release(MigrationState *mig_state)
DPRINTF("releasing state\n");
if (s->state == MIG_STATE_ACTIVE) {
+ monitor_protocol_event(QEVENT_MIGRATION_CANCELED, NULL);
s->state = MIG_STATE_CANCELLED;
migrate_fd_cleanup(s);
}
--
1.6.6.1