Signed-off-by: Juan Quintela <quint...@redhat.com> --- 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