From: Jason Andryuk Date: Tue, 12 Nov 2013 17:41:12 +0000 (-0500) Subject: libxl: Fix Xen 4.4 libxlVmStart logic X-Git-Tag: v1.2.0-rc1~85 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7d58c7fc8e7dddbaf58557c0c4ccb664a76bfc79;p=thirdparty%2Flibvirt.git libxl: Fix Xen 4.4 libxlVmStart logic ifdef LIBXL_HAVE_DOMAIN_CREATE_RESTORE_PARAMS hides a multi-line body for a brace-less else. Add braces to ensure proper logic is applied. Without this fix, new domains cannot be started. Both libxl_domain_create_new and libxl_domain_create_restore are called when starting a new domain leading to this error: libxl: error: libxl.c:324:libxl__domain_rename: domain with name "guest" already exists. libxl: error: libxl_create.c:800:initiate_domain_create: cannot make domain: -6 --- diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c index 3c3e21b381..f1e500ff20 100644 --- a/src/libxl/libxl_driver.c +++ b/src/libxl/libxl_driver.c @@ -618,10 +618,10 @@ libxlVmStart(libxlDriverPrivatePtr driver, virDomainObjPtr vm, /* use as synchronous operations => ao_how = NULL and no intermediate reports => ao_progress = NULL */ - if (restore_fd < 0) + if (restore_fd < 0) { ret = libxl_domain_create_new(priv->ctx, &d_config, &domid, NULL, NULL); - else + } else { #ifdef LIBXL_HAVE_DOMAIN_CREATE_RESTORE_PARAMS params.checkpointed_stream = 0; ret = libxl_domain_create_restore(priv->ctx, &d_config, &domid, @@ -630,6 +630,7 @@ libxlVmStart(libxlDriverPrivatePtr driver, virDomainObjPtr vm, ret = libxl_domain_create_restore(priv->ctx, &d_config, &domid, restore_fd, NULL, NULL); #endif + } if (ret) { if (restore_fd < 0)