[pve-devel] [PATCH pve-qemu-kvm] fix snapshot/rollback of running vm
Wolfgang Bumiller
w.bumiller at proxmox.com
Mon Sep 14 15:33:59 CEST 2015
updating the internal-snapshot-async.patch:
-) qemu now needs a savevm state header
-) global_state_store needs to be called before storing the
vmstate as of 560d027b.
-) migration_incoming_state_new must be called before
loading the vmstate as of bca7856a.
Fixes #694
---
debian/patches/internal-snapshot-async.patch | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/debian/patches/internal-snapshot-async.patch b/debian/patches/internal-snapshot-async.patch
index ecc91fd..3fd8950 100644
--- a/debian/patches/internal-snapshot-async.patch
+++ b/debian/patches/internal-snapshot-async.patch
@@ -376,7 +376,7 @@ Index: new/savevm-async.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ new/savevm-async.c 2014-11-20 09:17:48.000000000 +0100
-@@ -0,0 +1,506 @@
+@@ -0,0 +1,515 @@
+#include "qemu-common.h"
+#include "qapi/qmp/qerror.h"
+#include "qemu/error-report.h"
@@ -554,6 +554,7 @@ Index: new/savevm-async.c
+ snap_state.state = SAVE_STATE_ACTIVE;
+
+ qemu_mutex_unlock_iothread();
++ qemu_savevm_state_header(snap_state.file);
+ ret = qemu_savevm_state_begin(snap_state.file, ¶ms);
+ qemu_mutex_lock_iothread();
+
@@ -844,7 +845,13 @@ Index: new/savevm-async.c
+ Error *blocker = NULL;
+
+ QEMUFile *f;
-+ int ret = -1;
++ int ret;
++
++ ret = global_state_store();
++ if (ret) {
++ error_report("Error saving global state");
++ goto the_end;
++ }
+
+ bs = bdrv_new();
+ ret = bdrv_open(&bs, filename, NULL, NULL, BDRV_O_CACHE_WB, drv, &local_err);
@@ -865,9 +872,11 @@ Index: new/savevm-async.c
+ }
+
+ qemu_system_reset(VMRESET_SILENT);
++ migration_incoming_state_new(f);
+ ret = qemu_loadvm_state(f);
+
+ qemu_fclose(f);
++ migration_incoming_state_destroy();
+ if (ret < 0) {
+ error_report("Error %d while loading VM state", ret);
+ goto the_end;
--
2.1.4
More information about the pve-devel
mailing list