aboutsummaryrefslogtreecommitdiffstats
path: root/tools/libxl/libxl_create.c
diff options
context:
space:
mode:
authorIan Jackson <ian.jackson@eu.citrix.com>2012-07-23 13:09:36 +0100
committerIan Jackson <ian.jackson@eu.citrix.com>2012-07-23 13:09:36 +0100
commit267cda5f2e4d19b85acfc94d4bfeffb80cf1ea0f (patch)
tree6f4c82f830891872070c7a984a318b78752dcb7b /tools/libxl/libxl_create.c
parent7fb166219be5790457bc1f9b92371c9114b9cb45 (diff)
downloadxen-267cda5f2e4d19b85acfc94d4bfeffb80cf1ea0f.tar.gz
xen-267cda5f2e4d19b85acfc94d4bfeffb80cf1ea0f.tar.bz2
xen-267cda5f2e4d19b85acfc94d4bfeffb80cf1ea0f.zip
libxl: do not blunder on if bootloader fails
If the bootloader failed, we would call the creation failure callback but _also_ blunder on trying to recreate the domain, due to a missing "return". Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com> Reported-by: Roger Pau Monne <roger.pau@citrix.com> Acked-by: Ian Campbell <ian.campbell@citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
Diffstat (limited to 'tools/libxl/libxl_create.c')
-rw-r--r--tools/libxl/libxl_create.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 294a73fe57..0bfa8babee 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -672,7 +672,10 @@ static void domcreate_bootloader_done(libxl__egc *egc,
libxl__srm_restore_autogen_callbacks *const callbacks =
&dcs->shs.callbacks.restore.a;
- if (rc) domcreate_rebuild_done(egc, dcs, rc);
+ if (rc) {
+ domcreate_rebuild_done(egc, dcs, rc);
+ return;
+ }
/* consume bootloader outputs. state->pv_{kernel,ramdisk} have
* been initialised by the bootloader already.