[libvirt] [PATCH] Fix migration in xend driver

Jim Fehlig jfehlig at novell.com
Tue Jan 12 18:33:31 UTC 2010


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(-)

diff --git a/src/xen/xend_internal.c b/src/xen/xend_internal.c
index be033f5..d9bfa15 100644
--- a/src/xen/xend_internal.c
+++ b/src/xen/xend_internal.c
@@ -4553,15 +4553,21 @@ xenDaemonDomainMigratePerform (virDomainPtr domain,
 
     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);
 
-- 
1.6.0.2




More information about the libvir-list mailing list