45 lines
1.3 KiB
Diff
45 lines
1.3 KiB
Diff
|
commit da7441204635f4692c729af089ad455365f37b2f
|
||
|
Author: Jim Fehlig <jfehlig@suse.com>
|
||
|
Date: Thu May 1 15:00:47 2014 -0600
|
||
|
|
||
|
libxl: support PARAVIRT reboot flag
|
||
|
|
||
|
Add support for the VIR_DOMAIN_REBOOT_PARAVIRT flag in
|
||
|
libxlDomainReboot().
|
||
|
|
||
|
Index: libvirt-1.2.4/src/libxl/libxl_driver.c
|
||
|
===================================================================
|
||
|
--- libvirt-1.2.4.orig/src/libxl/libxl_driver.c
|
||
|
+++ libvirt-1.2.4/src/libxl/libxl_driver.c
|
||
|
@@ -939,7 +939,9 @@ libxlDomainReboot(virDomainPtr dom, unsi
|
||
|
int ret = -1;
|
||
|
libxlDomainObjPrivatePtr priv;
|
||
|
|
||
|
- virCheckFlags(0, -1);
|
||
|
+ virCheckFlags(VIR_DOMAIN_REBOOT_PARAVIRT, -1);
|
||
|
+ if (flags == 0)
|
||
|
+ flags = VIR_DOMAIN_REBOOT_PARAVIRT;
|
||
|
|
||
|
if (!(vm = libxlDomObjFromDomain(dom)))
|
||
|
goto cleanup;
|
||
|
@@ -954,13 +956,16 @@ libxlDomainReboot(virDomainPtr dom, unsi
|
||
|
}
|
||
|
|
||
|
priv = vm->privateData;
|
||
|
- if (libxl_domain_reboot(priv->ctx, vm->def->id) != 0) {
|
||
|
+ if (flags & VIR_DOMAIN_REBOOT_PARAVIRT) {
|
||
|
+ ret = libxl_domain_reboot(priv->ctx, vm->def->id);
|
||
|
+ if (ret == 0)
|
||
|
+ goto cleanup;
|
||
|
+
|
||
|
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||
|
_("Failed to reboot domain '%d' with libxenlight"),
|
||
|
vm->def->id);
|
||
|
- goto cleanup;
|
||
|
+ ret = -1;
|
||
|
}
|
||
|
- ret = 0;
|
||
|
|
||
|
cleanup:
|
||
|
if (vm)
|