]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
libxl: Fix Xen 4.4 libxlVmStart logic
authorJason Andryuk <andryuk@aero.org>
Tue, 12 Nov 2013 17:41:12 +0000 (12:41 -0500)
committerEric Blake <eblake@redhat.com>
Tue, 12 Nov 2013 20:14:24 +0000 (13:14 -0700)
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

src/libxl/libxl_driver.c

index 3c3e21b381b7cd24939377d88274de37d9ce0bc5..f1e500ff2002d59ebfd626f412793dc4a35f41c4 100644 (file)
@@ -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)