|
Mark McLoughlin |
aa0373 |
From f2eb2ad5163d5bae2392a8bfc6040c45426c9f5f Mon Sep 17 00:00:00 2001
|
|
Mark McLoughlin |
aa0373 |
From: Chris Lalancette <clalance@redhat.com>
|
|
Mark McLoughlin |
aa0373 |
Date: Wed, 5 Aug 2009 13:42:07 +0200
|
|
Mark McLoughlin |
aa0373 |
Subject: [PATCH] Run 'cont' on successful migration finish.
|
|
Mark McLoughlin |
aa0373 |
|
|
Mark McLoughlin |
aa0373 |
https://bugzilla.redhat.com/516187
|
|
Mark McLoughlin |
aa0373 |
|
|
Mark McLoughlin |
aa0373 |
As of qemu 0.10.6, qemu now honors the -S flag on incoming migration.
|
|
Mark McLoughlin |
aa0373 |
That means that when the migration completes, we have to issue a
|
|
Mark McLoughlin |
aa0373 |
'cont' command to get the VM running again. We do it unconditionally
|
|
Mark McLoughlin |
aa0373 |
since it won't hurt on older qemu.
|
|
Mark McLoughlin |
aa0373 |
|
|
Mark McLoughlin |
aa0373 |
(cherry picked from commit d1ec4d7a5a4f50c9492137eaab4f021caa075f95)
|
|
Mark McLoughlin |
aa0373 |
|
|
Mark McLoughlin |
aa0373 |
Fedora-patch: libvirt-fix-migration-completion-with-newer-qemu.patch
|
|
Mark McLoughlin |
aa0373 |
---
|
|
Mark McLoughlin |
aa0373 |
src/qemu_driver.c | 11 +++++++++++
|
|
Mark McLoughlin |
aa0373 |
1 files changed, 11 insertions(+), 0 deletions(-)
|
|
Mark McLoughlin |
aa0373 |
|
|
Mark McLoughlin |
aa0373 |
diff --git a/src/qemu_driver.c b/src/qemu_driver.c
|
|
Mark McLoughlin |
aa0373 |
index 99dac52..bf9a0b2 100644
|
|
Mark McLoughlin |
aa0373 |
--- a/src/qemu_driver.c
|
|
Mark McLoughlin |
aa0373 |
+++ b/src/qemu_driver.c
|
|
Mark McLoughlin |
aa0373 |
@@ -6951,7 +6951,18 @@ qemudDomainMigrateFinish2 (virConnectPtr dconn,
|
|
Mark McLoughlin |
aa0373 |
*/
|
|
Mark McLoughlin |
aa0373 |
if (retcode == 0) {
|
|
Mark McLoughlin |
aa0373 |
dom = virGetDomain (dconn, vm->def->name, vm->def->uuid);
|
|
Mark McLoughlin |
aa0373 |
+
|
|
Mark McLoughlin |
aa0373 |
+ /* run 'cont' on the destination, which allows migration on qemu
|
|
Mark McLoughlin |
aa0373 |
+ * >= 0.10.6 to work properly. This isn't strictly necessary on
|
|
Mark McLoughlin |
aa0373 |
+ * older qemu's, but it also doesn't hurt anything there
|
|
Mark McLoughlin |
aa0373 |
+ */
|
|
Mark McLoughlin |
aa0373 |
+ if (qemudMonitorCommand(vm, "cont", &info) < 0) {
|
|
Mark McLoughlin |
aa0373 |
+ qemudReportError(dconn, NULL, NULL, VIR_ERR_INTERNAL_ERROR,
|
|
Mark McLoughlin |
aa0373 |
+ "%s", _("resume operation failed"));
|
|
Mark McLoughlin |
aa0373 |
+ goto cleanup;
|
|
Mark McLoughlin |
aa0373 |
+ }
|
|
Mark McLoughlin |
aa0373 |
VIR_FREE(info);
|
|
Mark McLoughlin |
aa0373 |
+
|
|
Mark McLoughlin |
aa0373 |
vm->state = VIR_DOMAIN_RUNNING;
|
|
Mark McLoughlin |
aa0373 |
event = virDomainEventNewFromObj(vm,
|
|
Mark McLoughlin |
aa0373 |
VIR_DOMAIN_EVENT_RESUMED,
|
|
Mark McLoughlin |
aa0373 |
--
|
|
Mark McLoughlin |
aa0373 |
1.6.2.5
|
|
Mark McLoughlin |
aa0373 |
|