diff options
author | Juan Quintela <quintela@redhat.com> | 2012-06-26 19:26:41 +0200 |
---|---|---|
committer | Juan Quintela <quintela@redhat.com> | 2012-07-20 08:19:27 +0200 |
commit | 9b5bfab05f7c2a56d5908117e8cc62015e6b2c63 (patch) | |
tree | 352b26118880668cb949c218a79e7a45a2078521 /arch_init.c | |
parent | 226aa6a9b19e5465418fa62c5188acac280f1c13 (diff) |
savevm: Refactor cancel operation in its own operation
Intead of abusing stage with value -1.
Signed-off-by: Juan Quintela <quintela@redhat.com>
Diffstat (limited to 'arch_init.c')
-rw-r--r-- | arch_init.c | 11 |
1 files changed, 6 insertions, 5 deletions
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 |