From 7d58c7fc8e7dddbaf58557c0c4ccb664a76bfc79 Mon Sep 17 00:00:00 2001 From: Jason Andryuk Date: Tue, 12 Nov 2013 12:41:12 -0500 Subject: [PATCH] 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 --- src/libxl/libxl_driver.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) 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) -- GitLab