From 9b5bfab05f7c2a56d5908117e8cc62015e6b2c63 Mon Sep 17 00:00:00 2001 From: Juan Quintela Date: Tue, 26 Jun 2012 19:26:41 +0200 Subject: savevm: Refactor cancel operation in its own operation Intead of abusing stage with value -1. Signed-off-by: Juan Quintela --- arch_init.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'arch_init.c') diff --git a/arch_init.c b/arch_init.c index 606b848474..f6bc3fe69c 100644 --- a/arch_init.c +++ b/arch_init.c @@ -296,6 +296,11 @@ static void migration_end(void) memory_global_dirty_log_stop(); } +static void ram_migration_cancel(void *opaque) +{ + migration_end(); +} + #define MAX_WAIT 50 /* ms, half buffered_file limit */ static int ram_save_live(QEMUFile *f, int stage, void *opaque) @@ -306,11 +311,6 @@ static int ram_save_live(QEMUFile *f, int stage, void *opaque) int ret; int i; - if (stage < 0) { - migration_end(); - return 0; - } - memory_global_sync_dirty_bitmap(get_system_memory()); if (stage == 1) { @@ -537,6 +537,7 @@ done: SaveVMHandlers savevm_ram_handlers = { .save_live_state = ram_save_live, .load_state = ram_load, + .cancel = ram_migration_cancel, }; #ifdef HAS_AUDIO -- cgit v1.2.3