50 lines
2.1 KiB
Diff
50 lines
2.1 KiB
Diff
From 8e53215d5a73d88cceab0040b27529e4f547e74d Mon Sep 17 00:00:00 2001
|
|
From: Jim Fehlig <jfehlig@novell.com>
|
|
Date: Tue, 12 Jan 2010 11:18:34 -0700
|
|
Subject: [PATCH] Fix migration in xend driver
|
|
|
|
Upstream xen has changed parameters to the migration operation
|
|
several times over the past 18 months. Changeset 17553 removed
|
|
the resouce parameter, Changesets 17709, 17753, and 20326 added
|
|
ssl, node, and change_home_server parameters respectively.
|
|
|
|
Fortunately, testing has revealed that xend will fail the
|
|
operation if a parameter is missing but happily honor it if
|
|
unknown parameters are provided. Thus all currently supported
|
|
parameters can be provided, satisfying current xend but not
|
|
regressing older versions.
|
|
---
|
|
src/xen/xend_internal.c | 14 ++++++++++----
|
|
1 files changed, 10 insertions(+), 4 deletions(-)
|
|
|
|
Index: libvirt-0.7.5/src/xen/xend_internal.c
|
|
===================================================================
|
|
--- libvirt-0.7.5.orig/src/xen/xend_internal.c
|
|
+++ libvirt-0.7.5/src/xen/xend_internal.c
|
|
@@ -4552,15 +4552,21 @@ xenDaemonDomainMigratePerform (virDomain
|
|
|
|
DEBUG("hostname = %s, port = %s", hostname, port);
|
|
|
|
- /* Make the call. */
|
|
+ /* Make the call.
|
|
+ * NB: xend will fail the operation if any parameters are
|
|
+ * missing but happily accept unknown parameters. This works
|
|
+ * to our advantage since all parameters supported and required
|
|
+ * by current xend can be included without breaking older xend.
|
|
+ */
|
|
ret = xend_op (domain->conn, domain->name,
|
|
"op", "migrate",
|
|
"destination", hostname,
|
|
"live", live,
|
|
"port", port,
|
|
- "node", "-1",
|
|
- "ssl", "0",
|
|
- "resource", "0", /* required, xend ignores it */
|
|
+ "node", "-1", /* xen-unstable c/s 17753 */
|
|
+ "ssl", "0", /* xen-unstable c/s 17709 */
|
|
+ "change_home_server", "0", /* xen-unstable c/s 20326 */
|
|
+ "resource", "0", /* removed by xen-unstable c/s 17553 */
|
|
NULL);
|
|
VIR_FREE (hostname);
|
|
|