Update to libvirt 0.7.6
OBS-URL: https://build.opensuse.org/package/show/Virtualization/libvirt?expand=0&rev=36
This commit is contained in:
parent
1b2d2dbf16
commit
abc111875d
@ -2,7 +2,7 @@ Index: src/lxc/lxc_container.c
|
||||
===================================================================
|
||||
--- src/lxc/lxc_container.c.orig
|
||||
+++ src/lxc/lxc_container.c
|
||||
@@ -813,6 +813,9 @@ int lxcContainerStart(virDomainDefPtr de
|
||||
@@ -814,6 +814,9 @@ int lxcContainerStart(virDomainDefPtr de
|
||||
lxc_child_argv_t args = { def, nveths, veths, control, ttyPath };
|
||||
|
||||
/* allocate a stack for the container */
|
||||
@ -12,7 +12,7 @@ Index: src/lxc/lxc_container.c
|
||||
if (VIR_ALLOC_N(stack, stacksize) < 0) {
|
||||
virReportOOMError(NULL);
|
||||
return -1;
|
||||
@@ -827,7 +830,11 @@ int lxcContainerStart(virDomainDefPtr de
|
||||
@@ -828,7 +831,11 @@ int lxcContainerStart(virDomainDefPtr de
|
||||
if (def->nets != NULL)
|
||||
flags |= CLONE_NEWNET;
|
||||
|
||||
@ -24,7 +24,7 @@ Index: src/lxc/lxc_container.c
|
||||
VIR_FREE(stack);
|
||||
DEBUG("clone() returned, %d", pid);
|
||||
|
||||
@@ -853,6 +860,7 @@ int lxcContainerAvailable(int features)
|
||||
@@ -854,6 +861,7 @@ int lxcContainerAvailable(int features)
|
||||
char *childStack;
|
||||
char *stack;
|
||||
int childStatus;
|
||||
@ -32,7 +32,7 @@ Index: src/lxc/lxc_container.c
|
||||
|
||||
if (features & LXC_CONTAINER_FEATURE_USER)
|
||||
flags |= CLONE_NEWUSER;
|
||||
@@ -860,14 +868,21 @@ int lxcContainerAvailable(int features)
|
||||
@@ -861,14 +869,21 @@ int lxcContainerAvailable(int features)
|
||||
if (features & LXC_CONTAINER_FEATURE_NET)
|
||||
flags |= CLONE_NEWNET;
|
||||
|
||||
|
@ -11,11 +11,11 @@ Date: Wed Jan 13 18:24:51 2010 -0700
|
||||
V2: Only change doc, dropping the hunk that forced the restriction
|
||||
in libvirt frontend.
|
||||
|
||||
Index: libvirt-0.7.5/src/libvirt.c
|
||||
Index: libvirt-0.7.6/src/libvirt.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/src/libvirt.c
|
||||
+++ libvirt-0.7.5/src/libvirt.c
|
||||
@@ -5066,7 +5066,8 @@ error:
|
||||
--- libvirt-0.7.6.orig/src/libvirt.c
|
||||
+++ libvirt-0.7.6/src/libvirt.c
|
||||
@@ -5121,7 +5121,8 @@ error:
|
||||
* @domain: pointer to domain object
|
||||
* @xml: pointer to XML description of one device
|
||||
*
|
||||
@ -25,7 +25,7 @@ Index: libvirt-0.7.5/src/libvirt.c
|
||||
*
|
||||
* Returns 0 in case of success, -1 in case of failure.
|
||||
*/
|
||||
@@ -5109,7 +5110,8 @@ error:
|
||||
@@ -5164,7 +5165,8 @@ error:
|
||||
* @domain: pointer to domain object
|
||||
* @xml: pointer to XML description of one device
|
||||
*
|
||||
|
@ -8,11 +8,11 @@ Date: Wed Jan 13 18:34:23 2010 -0700
|
||||
|
||||
V2: Don't break remote compatibility with older libvirtd
|
||||
|
||||
Index: libvirt-0.7.5/src/libvirt.c
|
||||
Index: libvirt-0.7.6/src/libvirt.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/src/libvirt.c
|
||||
+++ libvirt-0.7.5/src/libvirt.c
|
||||
@@ -5090,14 +5090,69 @@ virDomainAttachDevice(virDomainPtr domai
|
||||
--- libvirt-0.7.6.orig/src/libvirt.c
|
||||
+++ libvirt-0.7.6/src/libvirt.c
|
||||
@@ -5146,14 +5146,69 @@ virDomainAttachDevice(virDomainPtr domai
|
||||
conn = domain->conn;
|
||||
|
||||
if (conn->driver->domainAttachDevice) {
|
||||
@ -26,8 +26,7 @@ Index: libvirt-0.7.5/src/libvirt.c
|
||||
+ virLibConnError (conn, VIR_ERR_NO_SUPPORT, __FUNCTION__);
|
||||
+
|
||||
+error:
|
||||
+ /* Copy to connection error object for back compatability */
|
||||
+ virSetConnError(conn);
|
||||
+ virDispatchError(domain->conn);
|
||||
+ return -1;
|
||||
+}
|
||||
+
|
||||
@ -62,6 +61,7 @@ Index: libvirt-0.7.5/src/libvirt.c
|
||||
+
|
||||
+ if (!VIR_IS_CONNECTED_DOMAIN(domain)) {
|
||||
+ virLibDomainError(NULL, VIR_ERR_INVALID_DOMAIN, __FUNCTION__);
|
||||
+ virDispatchError(NULL);
|
||||
+ return (-1);
|
||||
+ }
|
||||
+ if (domain->conn->flags & VIR_CONNECT_RO) {
|
||||
@ -83,8 +83,8 @@ Index: libvirt-0.7.5/src/libvirt.c
|
||||
+ virLibConnError(conn, VIR_ERR_NO_SUPPORT, __FUNCTION__);
|
||||
|
||||
error:
|
||||
/* Copy to connection error object for back compatability */
|
||||
@@ -5136,12 +5191,67 @@ virDomainDetachDevice(virDomainPtr domai
|
||||
virDispatchError(domain->conn);
|
||||
@@ -5192,12 +5247,67 @@ virDomainDetachDevice(virDomainPtr domai
|
||||
if (conn->driver->domainDetachDevice) {
|
||||
int ret;
|
||||
ret = conn->driver->domainDetachDevice (domain, xml);
|
||||
@ -96,8 +96,7 @@ Index: libvirt-0.7.5/src/libvirt.c
|
||||
+ virLibConnError (conn, VIR_ERR_NO_SUPPORT, __FUNCTION__);
|
||||
+
|
||||
+error:
|
||||
+ /* Copy to connection error object for back compatability */
|
||||
+ virSetConnError(conn);
|
||||
+ virDispatchError(domain->conn);
|
||||
+ return -1;
|
||||
+}
|
||||
+
|
||||
@ -132,6 +131,7 @@ Index: libvirt-0.7.5/src/libvirt.c
|
||||
+
|
||||
+ if (!VIR_IS_CONNECTED_DOMAIN(domain)) {
|
||||
+ virLibDomainError(NULL, VIR_ERR_INVALID_DOMAIN, __FUNCTION__);
|
||||
+ virDispatchError(NULL);
|
||||
+ return (-1);
|
||||
+ }
|
||||
+ if (domain->conn->flags & VIR_CONNECT_RO) {
|
||||
@ -152,4 +152,4 @@ Index: libvirt-0.7.5/src/libvirt.c
|
||||
+ virLibConnError(conn, VIR_ERR_NO_SUPPORT, __FUNCTION__);
|
||||
|
||||
error:
|
||||
/* Copy to connection error object for back compatability */
|
||||
virDispatchError(domain->conn);
|
||||
|
134
devflag-08.patch
134
devflag-08.patch
@ -7,11 +7,11 @@ Date: Wed Jan 13 18:44:26 2010 -0700
|
||||
Implementation of domain{Attach,Detach}DeviceFlags handlers
|
||||
in the drivers.
|
||||
|
||||
Index: libvirt-0.7.5/src/esx/esx_driver.c
|
||||
Index: libvirt-0.7.6/src/esx/esx_driver.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/src/esx/esx_driver.c
|
||||
+++ libvirt-0.7.5/src/esx/esx_driver.c
|
||||
@@ -3426,7 +3426,9 @@ static virDriver esxDriver = {
|
||||
--- libvirt-0.7.6.orig/src/esx/esx_driver.c
|
||||
+++ libvirt-0.7.6/src/esx/esx_driver.c
|
||||
@@ -3372,7 +3372,9 @@ static virDriver esxDriver = {
|
||||
esxDomainDefineXML, /* domainDefineXML */
|
||||
esxDomainUndefine, /* domainUndefine */
|
||||
NULL, /* domainAttachDevice */
|
||||
@ -21,10 +21,10 @@ Index: libvirt-0.7.5/src/esx/esx_driver.c
|
||||
NULL, /* domainGetAutostart */
|
||||
NULL, /* domainSetAutostart */
|
||||
esxDomainGetSchedulerType, /* domainGetSchedulerType */
|
||||
Index: libvirt-0.7.5/src/lxc/lxc_driver.c
|
||||
Index: libvirt-0.7.6/src/lxc/lxc_driver.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/src/lxc/lxc_driver.c
|
||||
+++ libvirt-0.7.5/src/lxc/lxc_driver.c
|
||||
--- libvirt-0.7.6.orig/src/lxc/lxc_driver.c
|
||||
+++ libvirt-0.7.6/src/lxc/lxc_driver.c
|
||||
@@ -2427,7 +2427,9 @@ static virDriver lxcDriver = {
|
||||
lxcDomainDefine, /* domainDefineXML */
|
||||
lxcDomainUndefine, /* domainUndefine */
|
||||
@ -35,10 +35,10 @@ Index: libvirt-0.7.5/src/lxc/lxc_driver.c
|
||||
lxcDomainGetAutostart, /* domainGetAutostart */
|
||||
lxcDomainSetAutostart, /* domainSetAutostart */
|
||||
lxcGetSchedulerType, /* domainGetSchedulerType */
|
||||
Index: libvirt-0.7.5/src/opennebula/one_driver.c
|
||||
Index: libvirt-0.7.6/src/opennebula/one_driver.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/src/opennebula/one_driver.c
|
||||
+++ libvirt-0.7.5/src/opennebula/one_driver.c
|
||||
--- libvirt-0.7.6.orig/src/opennebula/one_driver.c
|
||||
+++ libvirt-0.7.6/src/opennebula/one_driver.c
|
||||
@@ -754,7 +754,9 @@ static virDriver oneDriver = {
|
||||
oneDomainDefine, /* domainDefineXML */
|
||||
oneDomainUndefine, /* domainUndefine */
|
||||
@ -49,10 +49,10 @@ Index: libvirt-0.7.5/src/opennebula/one_driver.c
|
||||
oneGetAutostart, /* domainGetAutostart */
|
||||
NULL, /* domainSetAutostart */
|
||||
NULL, /* domainGetSchedulerType */
|
||||
Index: libvirt-0.7.5/src/openvz/openvz_driver.c
|
||||
Index: libvirt-0.7.6/src/openvz/openvz_driver.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/src/openvz/openvz_driver.c
|
||||
+++ libvirt-0.7.5/src/openvz/openvz_driver.c
|
||||
--- libvirt-0.7.6.orig/src/openvz/openvz_driver.c
|
||||
+++ libvirt-0.7.6/src/openvz/openvz_driver.c
|
||||
@@ -1506,7 +1506,9 @@ static virDriver openvzDriver = {
|
||||
openvzDomainDefineXML, /* domainDefineXML */
|
||||
openvzDomainUndefine, /* domainUndefine */
|
||||
@ -63,10 +63,10 @@ Index: libvirt-0.7.5/src/openvz/openvz_driver.c
|
||||
openvzDomainGetAutostart, /* domainGetAutostart */
|
||||
openvzDomainSetAutostart, /* domainSetAutostart */
|
||||
NULL, /* domainGetSchedulerType */
|
||||
Index: libvirt-0.7.5/src/phyp/phyp_driver.c
|
||||
Index: libvirt-0.7.6/src/phyp/phyp_driver.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/src/phyp/phyp_driver.c
|
||||
+++ libvirt-0.7.5/src/phyp/phyp_driver.c
|
||||
--- libvirt-0.7.6.orig/src/phyp/phyp_driver.c
|
||||
+++ libvirt-0.7.6/src/phyp/phyp_driver.c
|
||||
@@ -1622,7 +1622,9 @@ virDriver phypDriver = {
|
||||
NULL, /* domainDefineXML */
|
||||
NULL, /* domainUndefine */
|
||||
@ -77,11 +77,11 @@ Index: libvirt-0.7.5/src/phyp/phyp_driver.c
|
||||
NULL, /* domainGetAutostart */
|
||||
NULL, /* domainSetAutostart */
|
||||
NULL, /* domainGetSchedulerType */
|
||||
Index: libvirt-0.7.5/src/qemu/qemu_driver.c
|
||||
Index: libvirt-0.7.6/src/qemu/qemu_driver.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/src/qemu/qemu_driver.c
|
||||
+++ libvirt-0.7.5/src/qemu/qemu_driver.c
|
||||
@@ -5528,6 +5528,18 @@ cleanup:
|
||||
--- libvirt-0.7.6.orig/src/qemu/qemu_driver.c
|
||||
+++ libvirt-0.7.6/src/qemu/qemu_driver.c
|
||||
@@ -6057,6 +6057,18 @@ cleanup:
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -100,7 +100,7 @@ Index: libvirt-0.7.5/src/qemu/qemu_driver.c
|
||||
static int qemudDomainDetachPciDiskDevice(virConnectPtr conn,
|
||||
struct qemud_driver *driver,
|
||||
virDomainObjPtr vm,
|
||||
@@ -5856,6 +5868,18 @@ cleanup:
|
||||
@@ -6464,6 +6476,18 @@ cleanup:
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -119,7 +119,7 @@ Index: libvirt-0.7.5/src/qemu/qemu_driver.c
|
||||
static int qemudDomainGetAutostart(virDomainPtr dom,
|
||||
int *autostart) {
|
||||
struct qemud_driver *driver = dom->conn->privateData;
|
||||
@@ -7961,7 +7985,9 @@ static virDriver qemuDriver = {
|
||||
@@ -8577,7 +8601,9 @@ static virDriver qemuDriver = {
|
||||
qemudDomainDefine, /* domainDefineXML */
|
||||
qemudDomainUndefine, /* domainUndefine */
|
||||
qemudDomainAttachDevice, /* domainAttachDevice */
|
||||
@ -129,10 +129,10 @@ Index: libvirt-0.7.5/src/qemu/qemu_driver.c
|
||||
qemudDomainGetAutostart, /* domainGetAutostart */
|
||||
qemudDomainSetAutostart, /* domainSetAutostart */
|
||||
qemuGetSchedulerType, /* domainGetSchedulerType */
|
||||
Index: libvirt-0.7.5/src/test/test_driver.c
|
||||
Index: libvirt-0.7.6/src/test/test_driver.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/src/test/test_driver.c
|
||||
+++ libvirt-0.7.5/src/test/test_driver.c
|
||||
--- libvirt-0.7.6.orig/src/test/test_driver.c
|
||||
+++ libvirt-0.7.6/src/test/test_driver.c
|
||||
@@ -5209,7 +5209,9 @@ static virDriver testDriver = {
|
||||
testDomainDefineXML, /* domainDefineXML */
|
||||
testDomainUndefine, /* domainUndefine */
|
||||
@ -143,10 +143,10 @@ Index: libvirt-0.7.5/src/test/test_driver.c
|
||||
testDomainGetAutostart, /* domainGetAutostart */
|
||||
testDomainSetAutostart, /* domainSetAutostart */
|
||||
testDomainGetSchedulerType, /* domainGetSchedulerType */
|
||||
Index: libvirt-0.7.5/src/uml/uml_driver.c
|
||||
Index: libvirt-0.7.6/src/uml/uml_driver.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/src/uml/uml_driver.c
|
||||
+++ libvirt-0.7.5/src/uml/uml_driver.c
|
||||
--- libvirt-0.7.6.orig/src/uml/uml_driver.c
|
||||
+++ libvirt-0.7.6/src/uml/uml_driver.c
|
||||
@@ -1895,7 +1895,9 @@ static virDriver umlDriver = {
|
||||
umlDomainDefine, /* domainDefineXML */
|
||||
umlDomainUndefine, /* domainUndefine */
|
||||
@ -157,11 +157,11 @@ Index: libvirt-0.7.5/src/uml/uml_driver.c
|
||||
umlDomainGetAutostart, /* domainGetAutostart */
|
||||
umlDomainSetAutostart, /* domainSetAutostart */
|
||||
NULL, /* domainGetSchedulerType */
|
||||
Index: libvirt-0.7.5/src/vbox/vbox_tmpl.c
|
||||
Index: libvirt-0.7.6/src/vbox/vbox_tmpl.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/src/vbox/vbox_tmpl.c
|
||||
+++ libvirt-0.7.5/src/vbox/vbox_tmpl.c
|
||||
@@ -4841,6 +4841,17 @@ cleanup:
|
||||
--- libvirt-0.7.6.orig/src/vbox/vbox_tmpl.c
|
||||
+++ libvirt-0.7.6/src/vbox/vbox_tmpl.c
|
||||
@@ -4835,6 +4835,17 @@ cleanup:
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -179,7 +179,7 @@ Index: libvirt-0.7.5/src/vbox/vbox_tmpl.c
|
||||
static int vboxDomainDetachDevice(virDomainPtr dom, const char *xml) {
|
||||
VBOX_OBJECT_CHECK(dom->conn, int, -1);
|
||||
IMachine *machine = NULL;
|
||||
@@ -4971,6 +4982,17 @@ cleanup:
|
||||
@@ -4965,6 +4976,17 @@ cleanup:
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -197,7 +197,7 @@ Index: libvirt-0.7.5/src/vbox/vbox_tmpl.c
|
||||
#if VBOX_API_VERSION == 2002
|
||||
/* No Callback support for VirtualBox 2.2.* series */
|
||||
#else /* !(VBOX_API_VERSION == 2002) */
|
||||
@@ -7017,7 +7039,9 @@ virDriver NAME(Driver) = {
|
||||
@@ -7001,7 +7023,9 @@ virDriver NAME(Driver) = {
|
||||
vboxDomainDefineXML, /* domainDefineXML */
|
||||
vboxDomainUndefine, /* domainUndefine */
|
||||
vboxDomainAttachDevice, /* domainAttachDevice */
|
||||
@ -207,10 +207,10 @@ Index: libvirt-0.7.5/src/vbox/vbox_tmpl.c
|
||||
NULL, /* domainGetAutostart */
|
||||
NULL, /* domainSetAutostart */
|
||||
NULL, /* domainGetSchedulerType */
|
||||
Index: libvirt-0.7.5/src/xen/proxy_internal.c
|
||||
Index: libvirt-0.7.6/src/xen/proxy_internal.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/src/xen/proxy_internal.c
|
||||
+++ libvirt-0.7.5/src/xen/proxy_internal.c
|
||||
--- libvirt-0.7.6.orig/src/xen/proxy_internal.c
|
||||
+++ libvirt-0.7.6/src/xen/proxy_internal.c
|
||||
@@ -76,8 +76,8 @@ struct xenUnifiedDriver xenProxyDriver =
|
||||
NULL, /* domainCreate */
|
||||
NULL, /* domainDefineXML */
|
||||
@ -222,11 +222,11 @@ Index: libvirt-0.7.5/src/xen/proxy_internal.c
|
||||
NULL, /* domainGetAutostart */
|
||||
NULL, /* domainSetAutostart */
|
||||
NULL, /* domainGetSchedulerType */
|
||||
Index: libvirt-0.7.5/src/xen/xen_driver.c
|
||||
Index: libvirt-0.7.6/src/xen/xen_driver.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/src/xen/xen_driver.c
|
||||
+++ libvirt-0.7.5/src/xen/xen_driver.c
|
||||
@@ -1426,10 +1426,29 @@ xenUnifiedDomainAttachDevice (virDomainP
|
||||
--- libvirt-0.7.6.orig/src/xen/xen_driver.c
|
||||
+++ libvirt-0.7.6/src/xen/xen_driver.c
|
||||
@@ -1428,10 +1428,29 @@ xenUnifiedDomainAttachDevice (virDomainP
|
||||
{
|
||||
GET_PRIVATE(dom->conn);
|
||||
int i;
|
||||
@ -258,7 +258,7 @@ Index: libvirt-0.7.5/src/xen/xen_driver.c
|
||||
return 0;
|
||||
|
||||
return -1;
|
||||
@@ -1440,10 +1459,29 @@ xenUnifiedDomainDetachDevice (virDomainP
|
||||
@@ -1442,10 +1461,29 @@ xenUnifiedDomainDetachDevice (virDomainP
|
||||
{
|
||||
GET_PRIVATE(dom->conn);
|
||||
int i;
|
||||
@ -290,7 +290,7 @@ Index: libvirt-0.7.5/src/xen/xen_driver.c
|
||||
return 0;
|
||||
|
||||
return -1;
|
||||
@@ -1833,7 +1871,9 @@ static virDriver xenUnifiedDriver = {
|
||||
@@ -1835,7 +1873,9 @@ static virDriver xenUnifiedDriver = {
|
||||
xenUnifiedDomainDefineXML, /* domainDefineXML */
|
||||
xenUnifiedDomainUndefine, /* domainUndefine */
|
||||
xenUnifiedDomainAttachDevice, /* domainAttachDevice */
|
||||
@ -300,10 +300,10 @@ Index: libvirt-0.7.5/src/xen/xen_driver.c
|
||||
xenUnifiedDomainGetAutostart, /* domainGetAutostart */
|
||||
xenUnifiedDomainSetAutostart, /* domainSetAutostart */
|
||||
xenUnifiedDomainGetSchedulerType, /* domainGetSchedulerType */
|
||||
Index: libvirt-0.7.5/src/xen/xen_driver.h
|
||||
Index: libvirt-0.7.6/src/xen/xen_driver.h
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/src/xen/xen_driver.h
|
||||
+++ libvirt-0.7.5/src/xen/xen_driver.h
|
||||
--- libvirt-0.7.6.orig/src/xen/xen_driver.h
|
||||
+++ libvirt-0.7.6/src/xen/xen_driver.h
|
||||
@@ -93,8 +93,8 @@ struct xenUnifiedDriver {
|
||||
virDrvDomainCreate domainCreate;
|
||||
virDrvDomainDefineXML domainDefineXML;
|
||||
@ -315,10 +315,10 @@ Index: libvirt-0.7.5/src/xen/xen_driver.h
|
||||
virDrvDomainGetAutostart domainGetAutostart;
|
||||
virDrvDomainSetAutostart domainSetAutostart;
|
||||
virDrvDomainGetSchedulerType domainGetSchedulerType;
|
||||
Index: libvirt-0.7.5/src/xen/xen_hypervisor.c
|
||||
Index: libvirt-0.7.6/src/xen/xen_hypervisor.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/src/xen/xen_hypervisor.c
|
||||
+++ libvirt-0.7.5/src/xen/xen_hypervisor.c
|
||||
--- libvirt-0.7.6.orig/src/xen/xen_hypervisor.c
|
||||
+++ libvirt-0.7.6/src/xen/xen_hypervisor.c
|
||||
@@ -793,8 +793,8 @@ struct xenUnifiedDriver xenHypervisorDri
|
||||
NULL, /* domainCreate */
|
||||
NULL, /* domainDefineXML */
|
||||
@ -330,10 +330,10 @@ Index: libvirt-0.7.5/src/xen/xen_hypervisor.c
|
||||
NULL, /* domainGetAutostart */
|
||||
NULL, /* domainSetAutostart */
|
||||
xenHypervisorGetSchedulerType, /* domainGetSchedulerType */
|
||||
Index: libvirt-0.7.5/src/xen/xen_inotify.c
|
||||
Index: libvirt-0.7.6/src/xen/xen_inotify.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/src/xen/xen_inotify.c
|
||||
+++ libvirt-0.7.5/src/xen/xen_inotify.c
|
||||
--- libvirt-0.7.6.orig/src/xen/xen_inotify.c
|
||||
+++ libvirt-0.7.6/src/xen/xen_inotify.c
|
||||
@@ -79,8 +79,8 @@ struct xenUnifiedDriver xenInotifyDriver
|
||||
NULL, /* domainCreate */
|
||||
NULL, /* domainDefineXML */
|
||||
@ -345,11 +345,11 @@ Index: libvirt-0.7.5/src/xen/xen_inotify.c
|
||||
NULL, /* domainGetAutostart */
|
||||
NULL, /* domainSetAutostart */
|
||||
NULL, /* domainGetSchedulerType */
|
||||
Index: libvirt-0.7.5/src/xen/xend_internal.c
|
||||
Index: libvirt-0.7.6/src/xen/xend_internal.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/src/xen/xend_internal.c
|
||||
+++ libvirt-0.7.5/src/xen/xend_internal.c
|
||||
@@ -4095,9 +4095,10 @@ xenDaemonCreateXML(virConnectPtr conn, c
|
||||
--- libvirt-0.7.6.orig/src/xen/xend_internal.c
|
||||
+++ libvirt-0.7.6/src/xen/xend_internal.c
|
||||
@@ -4096,9 +4096,10 @@ xenDaemonCreateXML(virConnectPtr conn, c
|
||||
}
|
||||
|
||||
/**
|
||||
@ -361,7 +361,7 @@ Index: libvirt-0.7.5/src/xen/xend_internal.c
|
||||
*
|
||||
* Create a virtual device attachment to backend.
|
||||
* XML description is translated into S-expression.
|
||||
@@ -4105,7 +4106,8 @@ xenDaemonCreateXML(virConnectPtr conn, c
|
||||
@@ -4106,7 +4107,8 @@ xenDaemonCreateXML(virConnectPtr conn, c
|
||||
* Returns 0 in case of success, -1 in case of failure.
|
||||
*/
|
||||
static int
|
||||
@ -371,7 +371,7 @@ Index: libvirt-0.7.5/src/xen/xend_internal.c
|
||||
{
|
||||
xenUnifiedPrivatePtr priv;
|
||||
char *sexpr = NULL;
|
||||
@@ -4123,12 +4125,41 @@ xenDaemonAttachDevice(virDomainPtr domai
|
||||
@@ -4124,12 +4126,41 @@ xenDaemonAttachDevice(virDomainPtr domai
|
||||
|
||||
priv = (xenUnifiedPrivatePtr) domain->conn->privateData;
|
||||
|
||||
@ -419,7 +419,7 @@ Index: libvirt-0.7.5/src/xen/xend_internal.c
|
||||
|
||||
if (!(def = xenDaemonDomainFetch(domain->conn,
|
||||
domain->id,
|
||||
@@ -4202,16 +4233,18 @@ cleanup:
|
||||
@@ -4203,16 +4234,18 @@ cleanup:
|
||||
}
|
||||
|
||||
/**
|
||||
@ -440,7 +440,7 @@ Index: libvirt-0.7.5/src/xen/xend_internal.c
|
||||
{
|
||||
xenUnifiedPrivatePtr priv;
|
||||
char class[8], ref[80];
|
||||
@@ -4229,12 +4262,41 @@ xenDaemonDetachDevice(virDomainPtr domai
|
||||
@@ -4230,12 +4263,41 @@ xenDaemonDetachDevice(virDomainPtr domai
|
||||
|
||||
priv = (xenUnifiedPrivatePtr) domain->conn->privateData;
|
||||
|
||||
@ -488,7 +488,7 @@ Index: libvirt-0.7.5/src/xen/xend_internal.c
|
||||
|
||||
if (!(def = xenDaemonDomainFetch(domain->conn,
|
||||
domain->id,
|
||||
@@ -5164,8 +5226,8 @@ struct xenUnifiedDriver xenDaemonDriver
|
||||
@@ -5165,8 +5227,8 @@ struct xenUnifiedDriver xenDaemonDriver
|
||||
xenDaemonDomainCreate, /* domainCreate */
|
||||
xenDaemonDomainDefineXML, /* domainDefineXML */
|
||||
xenDaemonDomainUndefine, /* domainUndefine */
|
||||
@ -499,10 +499,10 @@ Index: libvirt-0.7.5/src/xen/xend_internal.c
|
||||
xenDaemonDomainGetAutostart, /* domainGetAutostart */
|
||||
xenDaemonDomainSetAutostart, /* domainSetAutostart */
|
||||
xenDaemonGetSchedulerType, /* domainGetSchedulerType */
|
||||
Index: libvirt-0.7.5/src/xen/xm_internal.c
|
||||
Index: libvirt-0.7.6/src/xen/xm_internal.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/src/xen/xm_internal.c
|
||||
+++ libvirt-0.7.5/src/xen/xm_internal.c
|
||||
--- libvirt-0.7.6.orig/src/xen/xm_internal.c
|
||||
+++ libvirt-0.7.6/src/xen/xm_internal.c
|
||||
@@ -65,8 +65,10 @@
|
||||
static int xenXMConfigSetString(virConfPtr conf, const char *setting,
|
||||
const char *str);
|
||||
@ -592,10 +592,10 @@ Index: libvirt-0.7.5/src/xen/xm_internal.c
|
||||
return -1;
|
||||
|
||||
priv = (xenUnifiedPrivatePtr) domain->conn->privateData;
|
||||
Index: libvirt-0.7.5/src/xen/xs_internal.c
|
||||
Index: libvirt-0.7.6/src/xen/xs_internal.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/src/xen/xs_internal.c
|
||||
+++ libvirt-0.7.5/src/xen/xs_internal.c
|
||||
--- libvirt-0.7.6.orig/src/xen/xs_internal.c
|
||||
+++ libvirt-0.7.6/src/xen/xs_internal.c
|
||||
@@ -76,8 +76,8 @@ struct xenUnifiedDriver xenStoreDriver =
|
||||
NULL, /* domainCreate */
|
||||
NULL, /* domainDefineXML */
|
||||
|
@ -14,11 +14,11 @@ Date: Wed Jan 13 18:54:58 2010 -0700
|
||||
"--persistent" flag is specified. Otherwise invoke
|
||||
virDomain{Attach,Detach}Device() to retain current behavior.
|
||||
|
||||
Index: libvirt-0.7.5/tools/virsh.c
|
||||
Index: libvirt-0.7.6/tools/virsh.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/tools/virsh.c
|
||||
+++ libvirt-0.7.5/tools/virsh.c
|
||||
@@ -6281,6 +6281,7 @@ static const vshCmdInfo info_attach_devi
|
||||
--- libvirt-0.7.6.orig/tools/virsh.c
|
||||
+++ libvirt-0.7.6/tools/virsh.c
|
||||
@@ -6285,6 +6285,7 @@ static const vshCmdInfo info_attach_devi
|
||||
static const vshCmdOptDef opts_attach_device[] = {
|
||||
{"domain", VSH_OT_DATA, VSH_OFLAG_REQ, gettext_noop("domain name, id or uuid")},
|
||||
{"file", VSH_OT_DATA, VSH_OFLAG_REQ, gettext_noop("XML file")},
|
||||
@ -26,7 +26,7 @@ Index: libvirt-0.7.5/tools/virsh.c
|
||||
{NULL, 0, 0, NULL}
|
||||
};
|
||||
|
||||
@@ -6292,6 +6293,7 @@ cmdAttachDevice(vshControl *ctl, const v
|
||||
@@ -6296,6 +6297,7 @@ cmdAttachDevice(vshControl *ctl, const v
|
||||
char *buffer;
|
||||
int ret = TRUE;
|
||||
int found;
|
||||
@ -34,7 +34,7 @@ Index: libvirt-0.7.5/tools/virsh.c
|
||||
|
||||
if (!vshConnectionUsability(ctl, ctl->conn, TRUE))
|
||||
return FALSE;
|
||||
@@ -6311,7 +6313,14 @@ cmdAttachDevice(vshControl *ctl, const v
|
||||
@@ -6315,7 +6317,14 @@ cmdAttachDevice(vshControl *ctl, const v
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -47,10 +47,10 @@ Index: libvirt-0.7.5/tools/virsh.c
|
||||
+ } else {
|
||||
+ ret = virDomainAttachDevice(dom, buffer);
|
||||
+ }
|
||||
free (buffer);
|
||||
VIR_FREE(buffer);
|
||||
|
||||
if (ret < 0) {
|
||||
@@ -6339,6 +6348,7 @@ static const vshCmdInfo info_detach_devi
|
||||
@@ -6343,6 +6352,7 @@ static const vshCmdInfo info_detach_devi
|
||||
static const vshCmdOptDef opts_detach_device[] = {
|
||||
{"domain", VSH_OT_DATA, VSH_OFLAG_REQ, gettext_noop("domain name, id or uuid")},
|
||||
{"file", VSH_OT_DATA, VSH_OFLAG_REQ, gettext_noop("XML file")},
|
||||
@ -58,7 +58,7 @@ Index: libvirt-0.7.5/tools/virsh.c
|
||||
{NULL, 0, 0, NULL}
|
||||
};
|
||||
|
||||
@@ -6350,6 +6360,7 @@ cmdDetachDevice(vshControl *ctl, const v
|
||||
@@ -6354,6 +6364,7 @@ cmdDetachDevice(vshControl *ctl, const v
|
||||
char *buffer;
|
||||
int ret = TRUE;
|
||||
int found;
|
||||
@ -66,7 +66,7 @@ Index: libvirt-0.7.5/tools/virsh.c
|
||||
|
||||
if (!vshConnectionUsability(ctl, ctl->conn, TRUE))
|
||||
return FALSE;
|
||||
@@ -6369,7 +6380,14 @@ cmdDetachDevice(vshControl *ctl, const v
|
||||
@@ -6373,7 +6384,14 @@ cmdDetachDevice(vshControl *ctl, const v
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -79,10 +79,10 @@ Index: libvirt-0.7.5/tools/virsh.c
|
||||
+ } else {
|
||||
+ ret = virDomainDetachDevice(dom, buffer);
|
||||
+ }
|
||||
free (buffer);
|
||||
VIR_FREE(buffer);
|
||||
|
||||
if (ret < 0) {
|
||||
@@ -6401,6 +6419,7 @@ static const vshCmdOptDef opts_attach_in
|
||||
@@ -6405,6 +6423,7 @@ static const vshCmdOptDef opts_attach_in
|
||||
{"target", VSH_OT_DATA, 0, gettext_noop("target network name")},
|
||||
{"mac", VSH_OT_DATA, 0, gettext_noop("MAC address")},
|
||||
{"script", VSH_OT_DATA, 0, gettext_noop("script used to bridge network interface")},
|
||||
@ -90,7 +90,7 @@ Index: libvirt-0.7.5/tools/virsh.c
|
||||
{NULL, 0, 0, NULL}
|
||||
};
|
||||
|
||||
@@ -6411,6 +6430,7 @@ cmdAttachInterface(vshControl *ctl, cons
|
||||
@@ -6415,6 +6434,7 @@ cmdAttachInterface(vshControl *ctl, cons
|
||||
char *mac, *target, *script, *type, *source;
|
||||
int typ, ret = FALSE;
|
||||
char *buf = NULL, *tmp = NULL;
|
||||
@ -98,7 +98,7 @@ Index: libvirt-0.7.5/tools/virsh.c
|
||||
|
||||
if (!vshConnectionUsability(ctl, ctl->conn, TRUE))
|
||||
goto cleanup;
|
||||
@@ -6485,13 +6505,22 @@ cmdAttachInterface(vshControl *ctl, cons
|
||||
@@ -6489,13 +6509,22 @@ cmdAttachInterface(vshControl *ctl, cons
|
||||
if (!buf) goto cleanup;
|
||||
strcat(buf, " </interface>\n");
|
||||
|
||||
@ -125,7 +125,7 @@ Index: libvirt-0.7.5/tools/virsh.c
|
||||
|
||||
cleanup:
|
||||
if (dom)
|
||||
@@ -6514,6 +6543,7 @@ static const vshCmdOptDef opts_detach_in
|
||||
@@ -6518,6 +6547,7 @@ static const vshCmdOptDef opts_detach_in
|
||||
{"domain", VSH_OT_DATA, VSH_OFLAG_REQ, gettext_noop("domain name, id or uuid")},
|
||||
{"type", VSH_OT_DATA, VSH_OFLAG_REQ, gettext_noop("network interface type")},
|
||||
{"mac", VSH_OT_STRING, 0, gettext_noop("MAC address")},
|
||||
@ -133,7 +133,7 @@ Index: libvirt-0.7.5/tools/virsh.c
|
||||
{NULL, 0, 0, NULL}
|
||||
};
|
||||
|
||||
@@ -6530,6 +6560,7 @@ cmdDetachInterface(vshControl *ctl, cons
|
||||
@@ -6534,6 +6564,7 @@ cmdDetachInterface(vshControl *ctl, cons
|
||||
char *doc, *mac =NULL, *type;
|
||||
char buf[64];
|
||||
int i = 0, diff_mac, ret = FALSE;
|
||||
@ -141,7 +141,7 @@ Index: libvirt-0.7.5/tools/virsh.c
|
||||
|
||||
if (!vshConnectionUsability(ctl, ctl->conn, TRUE))
|
||||
goto cleanup;
|
||||
@@ -6601,10 +6632,21 @@ cmdDetachInterface(vshControl *ctl, cons
|
||||
@@ -6605,10 +6636,21 @@ cmdDetachInterface(vshControl *ctl, cons
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
@ -166,7 +166,7 @@ Index: libvirt-0.7.5/tools/virsh.c
|
||||
vshPrint(ctl, "%s", _("Interface detached successfully\n"));
|
||||
ret = TRUE;
|
||||
}
|
||||
@@ -6638,6 +6680,7 @@ static const vshCmdOptDef opts_attach_di
|
||||
@@ -6642,6 +6684,7 @@ static const vshCmdOptDef opts_attach_di
|
||||
{"subdriver", VSH_OT_STRING, 0, gettext_noop("subdriver of disk device")},
|
||||
{"type", VSH_OT_STRING, 0, gettext_noop("target device type")},
|
||||
{"mode", VSH_OT_STRING, 0, gettext_noop("mode of device reading and writing")},
|
||||
@ -174,7 +174,7 @@ Index: libvirt-0.7.5/tools/virsh.c
|
||||
{NULL, 0, 0, NULL}
|
||||
};
|
||||
|
||||
@@ -6648,6 +6691,7 @@ cmdAttachDisk(vshControl *ctl, const vsh
|
||||
@@ -6652,6 +6695,7 @@ cmdAttachDisk(vshControl *ctl, const vsh
|
||||
char *source, *target, *driver, *subdriver, *type, *mode;
|
||||
int isFile = 0, ret = FALSE;
|
||||
char *buf = NULL, *tmp = NULL;
|
||||
@ -182,7 +182,7 @@ Index: libvirt-0.7.5/tools/virsh.c
|
||||
|
||||
if (!vshConnectionUsability(ctl, ctl->conn, TRUE))
|
||||
goto cleanup;
|
||||
@@ -6763,12 +6807,22 @@ cmdAttachDisk(vshControl *ctl, const vsh
|
||||
@@ -6767,12 +6811,22 @@ cmdAttachDisk(vshControl *ctl, const vsh
|
||||
if (!buf) goto cleanup;
|
||||
strcat(buf, " </disk>\n");
|
||||
|
||||
@ -210,7 +210,7 @@ Index: libvirt-0.7.5/tools/virsh.c
|
||||
|
||||
cleanup:
|
||||
if (dom)
|
||||
@@ -6790,6 +6844,7 @@ static const vshCmdInfo info_detach_disk
|
||||
@@ -6794,6 +6848,7 @@ static const vshCmdInfo info_detach_disk
|
||||
static const vshCmdOptDef opts_detach_disk[] = {
|
||||
{"domain", VSH_OT_DATA, VSH_OFLAG_REQ, gettext_noop("domain name, id or uuid")},
|
||||
{"target", VSH_OT_DATA, VSH_OFLAG_REQ, gettext_noop("target of disk device")},
|
||||
@ -218,7 +218,7 @@ Index: libvirt-0.7.5/tools/virsh.c
|
||||
{NULL, 0, 0, NULL}
|
||||
};
|
||||
|
||||
@@ -6805,6 +6860,7 @@ cmdDetachDisk(vshControl *ctl, const vsh
|
||||
@@ -6809,6 +6864,7 @@ cmdDetachDisk(vshControl *ctl, const vsh
|
||||
virDomainPtr dom = NULL;
|
||||
char *doc, *target;
|
||||
int i = 0, diff_tgt, ret = FALSE;
|
||||
@ -226,7 +226,7 @@ Index: libvirt-0.7.5/tools/virsh.c
|
||||
|
||||
if (!vshConnectionUsability(ctl, ctl->conn, TRUE))
|
||||
goto cleanup;
|
||||
@@ -6870,10 +6926,21 @@ cmdDetachDisk(vshControl *ctl, const vsh
|
||||
@@ -6874,10 +6930,21 @@ cmdDetachDisk(vshControl *ctl, const vsh
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:fe638808c19a9d3d1bb0c44e03326e7069b1daf11cd697c9a3fc9d2f47538279
|
||||
size 6046975
|
3
libvirt-0.7.6.tar.bz2
Normal file
3
libvirt-0.7.6.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:0977f5e00922b2b3c5eca9c7f7e01ff9aee117f24853c53286fea7a010c86495
|
||||
size 6280159
|
@ -1,3 +1,13 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Feb 4 12:36:48 MST 2010 - jfehlig@novell.com
|
||||
|
||||
- Updated to version 0.7.6
|
||||
- Implement support for multi IQN
|
||||
- Implement CPU topology support for QEMU driver
|
||||
- Use QEmu new device adressing when possible
|
||||
- Implement SCSI controller hotplug/unplug for QEMU
|
||||
- lots of improvements and bug fixes
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jan 27 17:48:18 MST 2010 - jfehlig@novell.com
|
||||
|
||||
|
33
libvirt.spec
33
libvirt.spec
@ -1,5 +1,5 @@
|
||||
#
|
||||
# spec file for package libvirt (Version 0.7.5)
|
||||
# spec file for package libvirt (Version 0.7.6)
|
||||
#
|
||||
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
#
|
||||
@ -111,7 +111,7 @@ Url: http://libvirt.org/
|
||||
License: LGPLv2.1+
|
||||
Group: Development/Libraries/C and C++
|
||||
AutoReqProv: yes
|
||||
Version: 0.7.5
|
||||
Version: 0.7.6
|
||||
Release: 1
|
||||
Summary: A C toolkit to interract with the virtualization capabilities of Linux
|
||||
# The client side, i.e. shared libs and virsh are in a subpackage
|
||||
@ -123,7 +123,6 @@ Requires: parted
|
||||
Requires: virt-utils
|
||||
Recommends: logrotate
|
||||
Requires: dnsmasq
|
||||
Requires: PolicyKit >= 0.6
|
||||
Requires: open-iscsi
|
||||
Requires: nfs-client
|
||||
%if %{with_hal}
|
||||
@ -137,20 +136,16 @@ Requires: PolicyKit >= 0.6
|
||||
Source0: %{name}-%{version}.tar.bz2
|
||||
Source1: libvirtd.init
|
||||
# Upstream patches
|
||||
Patch0: xen-shr-pages.patch
|
||||
Patch1: node-dev-free.patch
|
||||
Patch2: xen-migration-params.patch
|
||||
Patch3: xen-sysctl-v7.patch
|
||||
Patch4: devflag-01.patch
|
||||
Patch5: devflag-02.patch
|
||||
Patch6: devflag-03.patch
|
||||
Patch7: devflag-04.patch
|
||||
Patch8: devflag-05.patch
|
||||
Patch9: devflag-06.patch
|
||||
Patch10: devflag-07.patch
|
||||
Patch11: devflag-08.patch
|
||||
Patch12: devflag-09.patch
|
||||
Patch13: xen-name-for-devid.patch
|
||||
Patch0: devflag-01.patch
|
||||
Patch1: devflag-02.patch
|
||||
Patch2: devflag-03.patch
|
||||
Patch3: devflag-04.patch
|
||||
Patch4: devflag-05.patch
|
||||
Patch5: devflag-06.patch
|
||||
Patch6: devflag-07.patch
|
||||
Patch7: devflag-08.patch
|
||||
Patch8: devflag-09.patch
|
||||
Patch9: xen-name-for-devid.patch
|
||||
# Need to go upstream
|
||||
Patch100: socat.patch
|
||||
Patch101: clone.patch
|
||||
@ -272,10 +267,6 @@ Authors:
|
||||
%patch7 -p1
|
||||
%patch8 -p1
|
||||
%patch9 -p1
|
||||
%patch10 -p1
|
||||
%patch11 -p1
|
||||
%patch12 -p1
|
||||
%patch13 -p1
|
||||
%patch100 -p1
|
||||
%patch101
|
||||
%patch102 -p1
|
||||
|
@ -1,29 +0,0 @@
|
||||
This invalid free results in heap corruption. Some symptoms I saw
|
||||
because of this were libvirtd crashing and virt-manager hanging
|
||||
while trying to enumerate devices.
|
||||
---
|
||||
src/node_device/node_device_driver.c | 4 ++--
|
||||
1 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
Index: libvirt-0.7.5/src/node_device/node_device_driver.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/src/node_device/node_device_driver.c
|
||||
+++ libvirt-0.7.5/src/node_device/node_device_driver.c
|
||||
@@ -78,7 +78,7 @@ static int update_driver_name(virConnect
|
||||
virNodeDeviceObjPtr dev)
|
||||
{
|
||||
char *driver_link = NULL;
|
||||
- char *devpath;
|
||||
+ char *devpath = NULL;
|
||||
char *p;
|
||||
int ret = -1;
|
||||
|
||||
@@ -114,7 +114,7 @@ static int update_driver_name(virConnect
|
||||
|
||||
cleanup:
|
||||
VIR_FREE(driver_link);
|
||||
- free(devpath);
|
||||
+ VIR_FREE(devpath);
|
||||
return ret;
|
||||
}
|
||||
#else
|
188
snapshots.patch
188
snapshots.patch
@ -1,7 +1,7 @@
|
||||
Index: libvirt-0.7.5/include/libvirt/libvirt.h.in
|
||||
Index: libvirt-0.7.6/include/libvirt/libvirt.h.in
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/include/libvirt/libvirt.h.in
|
||||
+++ libvirt-0.7.5/include/libvirt/libvirt.h.in
|
||||
--- libvirt-0.7.6.orig/include/libvirt/libvirt.h.in
|
||||
+++ libvirt-0.7.6/include/libvirt/libvirt.h.in
|
||||
@@ -621,6 +621,21 @@ int virDomainRestore
|
||||
const char *from);
|
||||
|
||||
@ -24,11 +24,11 @@ Index: libvirt-0.7.5/include/libvirt/libvirt.h.in
|
||||
* Domain core dump
|
||||
*/
|
||||
int virDomainCoreDump (virDomainPtr domain,
|
||||
Index: libvirt-0.7.5/src/libvirt.c
|
||||
Index: libvirt-0.7.6/src/libvirt.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/src/libvirt.c
|
||||
+++ libvirt-0.7.5/src/libvirt.c
|
||||
@@ -2339,6 +2339,166 @@ error:
|
||||
--- libvirt-0.7.6.orig/src/libvirt.c
|
||||
+++ libvirt-0.7.6/src/libvirt.c
|
||||
@@ -2379,6 +2379,166 @@ error:
|
||||
}
|
||||
|
||||
/**
|
||||
@ -195,10 +195,10 @@ Index: libvirt-0.7.5/src/libvirt.c
|
||||
* virDomainCoreDump:
|
||||
* @domain: a domain object
|
||||
* @to: path for the core file
|
||||
Index: libvirt-0.7.5/src/driver.h
|
||||
Index: libvirt-0.7.6/src/driver.h
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/src/driver.h
|
||||
+++ libvirt-0.7.5/src/driver.h
|
||||
--- libvirt-0.7.6.orig/src/driver.h
|
||||
+++ libvirt-0.7.6/src/driver.h
|
||||
@@ -136,6 +136,21 @@ typedef int
|
||||
(*virDrvDomainRestore) (virConnectPtr conn,
|
||||
const char *from);
|
||||
@ -233,10 +233,10 @@ Index: libvirt-0.7.5/src/driver.h
|
||||
};
|
||||
|
||||
typedef int
|
||||
Index: libvirt-0.7.5/src/xen/xen_driver.c
|
||||
Index: libvirt-0.7.6/src/xen/xen_driver.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/src/xen/xen_driver.c
|
||||
+++ libvirt-0.7.5/src/xen/xen_driver.c
|
||||
--- libvirt-0.7.6.orig/src/xen/xen_driver.c
|
||||
+++ libvirt-0.7.6/src/xen/xen_driver.c
|
||||
@@ -1052,6 +1052,81 @@ xenUnifiedDomainRestore (virConnectPtr c
|
||||
}
|
||||
|
||||
@ -319,7 +319,7 @@ Index: libvirt-0.7.5/src/xen/xen_driver.c
|
||||
xenUnifiedDomainCoreDump (virDomainPtr dom, const char *to, int flags)
|
||||
{
|
||||
GET_PRIVATE(dom->conn);
|
||||
@@ -1902,6 +1977,11 @@ static virDriver xenUnifiedDriver = {
|
||||
@@ -1904,6 +1979,11 @@ static virDriver xenUnifiedDriver = {
|
||||
xenUnifiedDomainIsActive,
|
||||
xenUnifiedDomainisPersistent,
|
||||
NULL, /* cpuCompare */
|
||||
@ -331,10 +331,10 @@ Index: libvirt-0.7.5/src/xen/xen_driver.c
|
||||
};
|
||||
|
||||
/**
|
||||
Index: libvirt-0.7.5/src/xen/xen_driver.h
|
||||
Index: libvirt-0.7.6/src/xen/xen_driver.h
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/src/xen/xen_driver.h
|
||||
+++ libvirt-0.7.5/src/xen/xen_driver.h
|
||||
--- libvirt-0.7.6.orig/src/xen/xen_driver.h
|
||||
+++ libvirt-0.7.6/src/xen/xen_driver.h
|
||||
@@ -100,6 +100,11 @@ struct xenUnifiedDriver {
|
||||
virDrvDomainGetSchedulerType domainGetSchedulerType;
|
||||
virDrvDomainGetSchedulerParameters domainGetSchedulerParameters;
|
||||
@ -347,10 +347,10 @@ Index: libvirt-0.7.5/src/xen/xen_driver.h
|
||||
};
|
||||
|
||||
typedef struct xenXMConfCache *xenXMConfCachePtr;
|
||||
Index: libvirt-0.7.5/src/xen/xend_internal.c
|
||||
Index: libvirt-0.7.6/src/xen/xend_internal.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/src/xen/xend_internal.c
|
||||
+++ libvirt-0.7.5/src/xen/xend_internal.c
|
||||
--- libvirt-0.7.6.orig/src/xen/xend_internal.c
|
||||
+++ libvirt-0.7.6/src/xen/xend_internal.c
|
||||
@@ -53,6 +53,12 @@
|
||||
|
||||
#ifndef PROXY
|
||||
@ -364,7 +364,7 @@ Index: libvirt-0.7.5/src/xen/xend_internal.c
|
||||
/*
|
||||
* The number of Xen scheduler parameters
|
||||
*/
|
||||
@@ -3283,6 +3289,87 @@ xenDaemonDomainRestore(virConnectPtr con
|
||||
@@ -3284,6 +3290,87 @@ xenDaemonDomainRestore(virConnectPtr con
|
||||
}
|
||||
return xend_op(conn, "", "op", "restore", "file", filename, NULL);
|
||||
}
|
||||
@ -452,7 +452,7 @@ Index: libvirt-0.7.5/src/xen/xend_internal.c
|
||||
#endif /* !PROXY */
|
||||
|
||||
/**
|
||||
@@ -5234,6 +5321,11 @@ struct xenUnifiedDriver xenDaemonDriver
|
||||
@@ -5235,6 +5322,11 @@ struct xenUnifiedDriver xenDaemonDriver
|
||||
xenDaemonGetSchedulerType, /* domainGetSchedulerType */
|
||||
xenDaemonGetSchedulerParameters, /* domainGetSchedulerParameters */
|
||||
xenDaemonSetSchedulerParameters, /* domainSetSchedulerParameters */
|
||||
@ -464,10 +464,10 @@ Index: libvirt-0.7.5/src/xen/xend_internal.c
|
||||
};
|
||||
|
||||
/************************************************************************
|
||||
Index: libvirt-0.7.5/src/xen/proxy_internal.c
|
||||
Index: libvirt-0.7.6/src/xen/proxy_internal.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/src/xen/proxy_internal.c
|
||||
+++ libvirt-0.7.5/src/xen/proxy_internal.c
|
||||
--- libvirt-0.7.6.orig/src/xen/proxy_internal.c
|
||||
+++ libvirt-0.7.6/src/xen/proxy_internal.c
|
||||
@@ -83,6 +83,11 @@ struct xenUnifiedDriver xenProxyDriver =
|
||||
NULL, /* domainGetSchedulerType */
|
||||
NULL, /* domainGetSchedulerParameters */
|
||||
@ -480,10 +480,10 @@ Index: libvirt-0.7.5/src/xen/proxy_internal.c
|
||||
};
|
||||
|
||||
|
||||
Index: libvirt-0.7.5/src/xen/xen_hypervisor.c
|
||||
Index: libvirt-0.7.6/src/xen/xen_hypervisor.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/src/xen/xen_hypervisor.c
|
||||
+++ libvirt-0.7.5/src/xen/xen_hypervisor.c
|
||||
--- libvirt-0.7.6.orig/src/xen/xen_hypervisor.c
|
||||
+++ libvirt-0.7.6/src/xen/xen_hypervisor.c
|
||||
@@ -800,6 +800,11 @@ struct xenUnifiedDriver xenHypervisorDri
|
||||
xenHypervisorGetSchedulerType, /* domainGetSchedulerType */
|
||||
xenHypervisorGetSchedulerParameters, /* domainGetSchedulerParameters */
|
||||
@ -496,10 +496,10 @@ Index: libvirt-0.7.5/src/xen/xen_hypervisor.c
|
||||
};
|
||||
#endif /* !PROXY */
|
||||
|
||||
Index: libvirt-0.7.5/src/xen/xm_internal.c
|
||||
Index: libvirt-0.7.6/src/xen/xm_internal.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/src/xen/xm_internal.c
|
||||
+++ libvirt-0.7.5/src/xen/xm_internal.c
|
||||
--- libvirt-0.7.6.orig/src/xen/xm_internal.c
|
||||
+++ libvirt-0.7.6/src/xen/xm_internal.c
|
||||
@@ -118,6 +118,11 @@ struct xenUnifiedDriver xenXMDriver = {
|
||||
NULL, /* domainGetSchedulerType */
|
||||
NULL, /* domainGetSchedulerParameters */
|
||||
@ -512,10 +512,10 @@ Index: libvirt-0.7.5/src/xen/xm_internal.c
|
||||
};
|
||||
|
||||
#define xenXMError(conn, code, fmt...) \
|
||||
Index: libvirt-0.7.5/src/xen/xs_internal.c
|
||||
Index: libvirt-0.7.6/src/xen/xs_internal.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/src/xen/xs_internal.c
|
||||
+++ libvirt-0.7.5/src/xen/xs_internal.c
|
||||
--- libvirt-0.7.6.orig/src/xen/xs_internal.c
|
||||
+++ libvirt-0.7.6/src/xen/xs_internal.c
|
||||
@@ -83,6 +83,11 @@ struct xenUnifiedDriver xenStoreDriver =
|
||||
NULL, /* domainGetSchedulerType */
|
||||
NULL, /* domainGetSchedulerParameters */
|
||||
@ -528,11 +528,11 @@ Index: libvirt-0.7.5/src/xen/xs_internal.c
|
||||
};
|
||||
|
||||
#endif /* ! PROXY */
|
||||
Index: libvirt-0.7.5/tools/virsh.c
|
||||
Index: libvirt-0.7.6/tools/virsh.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/tools/virsh.c
|
||||
+++ libvirt-0.7.5/tools/virsh.c
|
||||
@@ -1233,6 +1233,188 @@ cmdSave(vshControl *ctl, const vshCmd *c
|
||||
--- libvirt-0.7.6.orig/tools/virsh.c
|
||||
+++ libvirt-0.7.6/tools/virsh.c
|
||||
@@ -1237,6 +1237,188 @@ cmdSave(vshControl *ctl, const vshCmd *c
|
||||
}
|
||||
|
||||
/*
|
||||
@ -721,7 +721,7 @@ Index: libvirt-0.7.5/tools/virsh.c
|
||||
* "schedinfo" command
|
||||
*/
|
||||
static const vshCmdInfo info_schedinfo[] = {
|
||||
@@ -7498,6 +7680,12 @@ static const vshCmdDef commands[] = {
|
||||
@@ -7502,6 +7684,12 @@ static const vshCmdDef commands[] = {
|
||||
{"undefine", cmdUndefine, opts_undefine, info_undefine},
|
||||
{"uri", cmdURI, NULL, info_uri},
|
||||
|
||||
@ -734,10 +734,10 @@ Index: libvirt-0.7.5/tools/virsh.c
|
||||
{"vol-create", cmdVolCreate, opts_vol_create, info_vol_create},
|
||||
{"vol-create-from", cmdVolCreateFrom, opts_vol_create_from, info_vol_create_from},
|
||||
{"vol-create-as", cmdVolCreateAs, opts_vol_create_as, info_vol_create_as},
|
||||
Index: libvirt-0.7.5/src/lxc/lxc_driver.c
|
||||
Index: libvirt-0.7.6/src/lxc/lxc_driver.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/src/lxc/lxc_driver.c
|
||||
+++ libvirt-0.7.5/src/lxc/lxc_driver.c
|
||||
--- libvirt-0.7.6.orig/src/lxc/lxc_driver.c
|
||||
+++ libvirt-0.7.6/src/lxc/lxc_driver.c
|
||||
@@ -2458,6 +2458,11 @@ static virDriver lxcDriver = {
|
||||
lxcDomainIsActive,
|
||||
lxcDomainIsPersistent,
|
||||
@ -750,10 +750,10 @@ Index: libvirt-0.7.5/src/lxc/lxc_driver.c
|
||||
};
|
||||
|
||||
static virStateDriver lxcStateDriver = {
|
||||
Index: libvirt-0.7.5/src/openvz/openvz_driver.c
|
||||
Index: libvirt-0.7.6/src/openvz/openvz_driver.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/src/openvz/openvz_driver.c
|
||||
+++ libvirt-0.7.5/src/openvz/openvz_driver.c
|
||||
--- libvirt-0.7.6.orig/src/openvz/openvz_driver.c
|
||||
+++ libvirt-0.7.6/src/openvz/openvz_driver.c
|
||||
@@ -1537,6 +1537,11 @@ static virDriver openvzDriver = {
|
||||
openvzDomainIsActive,
|
||||
openvzDomainIsPersistent,
|
||||
@ -766,11 +766,11 @@ Index: libvirt-0.7.5/src/openvz/openvz_driver.c
|
||||
};
|
||||
|
||||
int openvzRegister(void) {
|
||||
Index: libvirt-0.7.5/src/qemu/qemu_driver.c
|
||||
Index: libvirt-0.7.6/src/qemu/qemu_driver.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/src/qemu/qemu_driver.c
|
||||
+++ libvirt-0.7.5/src/qemu/qemu_driver.c
|
||||
@@ -8016,6 +8016,11 @@ static virDriver qemuDriver = {
|
||||
--- libvirt-0.7.6.orig/src/qemu/qemu_driver.c
|
||||
+++ libvirt-0.7.6/src/qemu/qemu_driver.c
|
||||
@@ -8632,6 +8632,11 @@ static virDriver qemuDriver = {
|
||||
qemuDomainIsActive,
|
||||
qemuDomainIsPersistent,
|
||||
qemuCPUCompare, /* cpuCompare */
|
||||
@ -782,11 +782,11 @@ Index: libvirt-0.7.5/src/qemu/qemu_driver.c
|
||||
};
|
||||
|
||||
|
||||
Index: libvirt-0.7.5/src/esx/esx_driver.c
|
||||
Index: libvirt-0.7.6/src/esx/esx_driver.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/src/esx/esx_driver.c
|
||||
+++ libvirt-0.7.5/src/esx/esx_driver.c
|
||||
@@ -3457,6 +3457,11 @@ static virDriver esxDriver = {
|
||||
--- libvirt-0.7.6.orig/src/esx/esx_driver.c
|
||||
+++ libvirt-0.7.6/src/esx/esx_driver.c
|
||||
@@ -3403,6 +3403,11 @@ static virDriver esxDriver = {
|
||||
esxDomainIsActive, /* domainIsActive */
|
||||
esxDomainIsPersistent, /* domainIsPersistent */
|
||||
NULL, /* cpuCompare */
|
||||
@ -798,10 +798,10 @@ Index: libvirt-0.7.5/src/esx/esx_driver.c
|
||||
};
|
||||
|
||||
|
||||
Index: libvirt-0.7.5/src/test/test_driver.c
|
||||
Index: libvirt-0.7.6/src/test/test_driver.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/src/test/test_driver.c
|
||||
+++ libvirt-0.7.5/src/test/test_driver.c
|
||||
--- libvirt-0.7.6.orig/src/test/test_driver.c
|
||||
+++ libvirt-0.7.6/src/test/test_driver.c
|
||||
@@ -5240,6 +5240,11 @@ static virDriver testDriver = {
|
||||
testDomainIsActive, /* domainIsActive */
|
||||
testDomainIsPersistent, /* domainIsPersistent */
|
||||
@ -814,10 +814,10 @@ Index: libvirt-0.7.5/src/test/test_driver.c
|
||||
};
|
||||
|
||||
static virNetworkDriver testNetworkDriver = {
|
||||
Index: libvirt-0.7.5/src/uml/uml_driver.c
|
||||
Index: libvirt-0.7.6/src/uml/uml_driver.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/src/uml/uml_driver.c
|
||||
+++ libvirt-0.7.5/src/uml/uml_driver.c
|
||||
--- libvirt-0.7.6.orig/src/uml/uml_driver.c
|
||||
+++ libvirt-0.7.6/src/uml/uml_driver.c
|
||||
@@ -1926,6 +1926,11 @@ static virDriver umlDriver = {
|
||||
umlDomainIsActive,
|
||||
umlDomainIsPersistent,
|
||||
@ -830,11 +830,11 @@ Index: libvirt-0.7.5/src/uml/uml_driver.c
|
||||
};
|
||||
|
||||
|
||||
Index: libvirt-0.7.5/src/vbox/vbox_tmpl.c
|
||||
Index: libvirt-0.7.6/src/vbox/vbox_tmpl.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/src/vbox/vbox_tmpl.c
|
||||
+++ libvirt-0.7.5/src/vbox/vbox_tmpl.c
|
||||
@@ -7075,6 +7075,11 @@ virDriver NAME(Driver) = {
|
||||
--- libvirt-0.7.6.orig/src/vbox/vbox_tmpl.c
|
||||
+++ libvirt-0.7.6/src/vbox/vbox_tmpl.c
|
||||
@@ -7059,6 +7059,11 @@ virDriver NAME(Driver) = {
|
||||
vboxDomainIsActive,
|
||||
vboxDomainIsPersistent,
|
||||
NULL, /* cpuCompare */
|
||||
@ -846,10 +846,10 @@ Index: libvirt-0.7.5/src/vbox/vbox_tmpl.c
|
||||
};
|
||||
|
||||
virNetworkDriver NAME(NetworkDriver) = {
|
||||
Index: libvirt-0.7.5/src/opennebula/one_driver.c
|
||||
Index: libvirt-0.7.6/src/opennebula/one_driver.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/src/opennebula/one_driver.c
|
||||
+++ libvirt-0.7.5/src/opennebula/one_driver.c
|
||||
--- libvirt-0.7.6.orig/src/opennebula/one_driver.c
|
||||
+++ libvirt-0.7.6/src/opennebula/one_driver.c
|
||||
@@ -785,6 +785,11 @@ static virDriver oneDriver = {
|
||||
NULL, /* domainIsActive */
|
||||
NULL, /* domainIsPersistent */
|
||||
@ -862,10 +862,10 @@ Index: libvirt-0.7.5/src/opennebula/one_driver.c
|
||||
};
|
||||
|
||||
static virStateDriver oneStateDriver = {
|
||||
Index: libvirt-0.7.5/src/phyp/phyp_driver.c
|
||||
Index: libvirt-0.7.6/src/phyp/phyp_driver.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/src/phyp/phyp_driver.c
|
||||
+++ libvirt-0.7.5/src/phyp/phyp_driver.c
|
||||
--- libvirt-0.7.6.orig/src/phyp/phyp_driver.c
|
||||
+++ libvirt-0.7.6/src/phyp/phyp_driver.c
|
||||
@@ -1653,6 +1653,11 @@ virDriver phypDriver = {
|
||||
NULL, /* domainIsActive */
|
||||
NULL, /* domainIsPersistent */
|
||||
@ -878,10 +878,10 @@ Index: libvirt-0.7.5/src/phyp/phyp_driver.c
|
||||
};
|
||||
|
||||
int
|
||||
Index: libvirt-0.7.5/src/remote/remote_driver.c
|
||||
Index: libvirt-0.7.6/src/remote/remote_driver.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/src/remote/remote_driver.c
|
||||
+++ libvirt-0.7.5/src/remote/remote_driver.c
|
||||
--- libvirt-0.7.6.orig/src/remote/remote_driver.c
|
||||
+++ libvirt-0.7.6/src/remote/remote_driver.c
|
||||
@@ -8994,6 +8994,11 @@ static virDriver remote_driver = {
|
||||
remoteDomainIsActive, /* domainIsActive */
|
||||
remoteDomainIsPersistent, /* domainIsPersistent */
|
||||
@ -894,10 +894,10 @@ Index: libvirt-0.7.5/src/remote/remote_driver.c
|
||||
};
|
||||
|
||||
static virNetworkDriver network_driver = {
|
||||
Index: libvirt-0.7.5/docs/libvirt-api.xml
|
||||
Index: libvirt-0.7.6/docs/libvirt-api.xml
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/docs/libvirt-api.xml
|
||||
+++ libvirt-0.7.5/docs/libvirt-api.xml
|
||||
--- libvirt-0.7.6.orig/docs/libvirt-api.xml
|
||||
+++ libvirt-0.7.6/docs/libvirt-api.xml
|
||||
@@ -293,6 +293,11 @@
|
||||
<exports symbol='virDomainSetVcpus' type='function'/>
|
||||
<exports symbol='virDomainShutdown' type='function'/>
|
||||
@ -947,10 +947,10 @@ Index: libvirt-0.7.5/docs/libvirt-api.xml
|
||||
<function name='virDomainUndefine' file='libvirt' module='libvirt'>
|
||||
<info><![CDATA[Undefine a domain but does not stop it if it is running]]></info>
|
||||
<return type='int' info='0 in case of success, -1 in case of error'/>
|
||||
Index: libvirt-0.7.5/src/libvirt_public.syms
|
||||
Index: libvirt-0.7.6/src/libvirt_public.syms
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/src/libvirt_public.syms
|
||||
+++ libvirt-0.7.5/src/libvirt_public.syms
|
||||
--- libvirt-0.7.6.orig/src/libvirt_public.syms
|
||||
+++ libvirt-0.7.6/src/libvirt_public.syms
|
||||
@@ -215,6 +215,11 @@ LIBVIRT_0.4.2 {
|
||||
LIBVIRT_0.4.5 {
|
||||
global:
|
||||
@ -963,11 +963,11 @@ Index: libvirt-0.7.5/src/libvirt_public.syms
|
||||
} LIBVIRT_0.4.2;
|
||||
|
||||
LIBVIRT_0.5.0 {
|
||||
Index: libvirt-0.7.5/python/generator.py
|
||||
Index: libvirt-0.7.6/python/generator.py
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/python/generator.py
|
||||
+++ libvirt-0.7.5/python/generator.py
|
||||
@@ -288,6 +288,7 @@ skip_impl = (
|
||||
--- libvirt-0.7.6.orig/python/generator.py
|
||||
+++ libvirt-0.7.6/python/generator.py
|
||||
@@ -289,6 +289,7 @@ skip_impl = (
|
||||
'virDomainSetSchedulerParameters',
|
||||
'virDomainGetVcpus',
|
||||
'virDomainPinVcpu',
|
||||
@ -975,11 +975,11 @@ Index: libvirt-0.7.5/python/generator.py
|
||||
'virSecretGetValue',
|
||||
'virSecretSetValue',
|
||||
'virSecretGetUUID',
|
||||
Index: libvirt-0.7.5/python/libvirt-override.c
|
||||
Index: libvirt-0.7.6/python/libvirt-override.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/python/libvirt-override.c
|
||||
+++ libvirt-0.7.5/python/libvirt-override.c
|
||||
@@ -1516,6 +1516,34 @@ libvirt_virStoragePoolGetInfo(PyObject *
|
||||
--- libvirt-0.7.6.orig/python/libvirt-override.c
|
||||
+++ libvirt-0.7.6/python/libvirt-override.c
|
||||
@@ -1542,6 +1542,34 @@ libvirt_virStoragePoolGetInfo(PyObject *
|
||||
return(py_retval);
|
||||
}
|
||||
|
||||
@ -1014,7 +1014,7 @@ Index: libvirt-0.7.5/python/libvirt-override.c
|
||||
|
||||
static PyObject *
|
||||
libvirt_virStorageVolGetInfo(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
|
||||
@@ -2690,6 +2718,7 @@ static PyMethodDef libvirtMethods[] = {
|
||||
@@ -2717,6 +2745,7 @@ static PyMethodDef libvirtMethods[] = {
|
||||
{(char *) "virStoragePoolGetAutostart", libvirt_virStoragePoolGetAutostart, METH_VARARGS, NULL},
|
||||
{(char *) "virStoragePoolListVolumes", libvirt_virStoragePoolListVolumes, METH_VARARGS, NULL},
|
||||
{(char *) "virStoragePoolGetInfo", libvirt_virStoragePoolGetInfo, METH_VARARGS, NULL},
|
||||
@ -1022,11 +1022,11 @@ Index: libvirt-0.7.5/python/libvirt-override.c
|
||||
{(char *) "virStorageVolGetInfo", libvirt_virStorageVolGetInfo, METH_VARARGS, NULL},
|
||||
{(char *) "virStoragePoolGetUUID", libvirt_virStoragePoolGetUUID, METH_VARARGS, NULL},
|
||||
{(char *) "virStoragePoolGetUUIDString", libvirt_virStoragePoolGetUUIDString, METH_VARARGS, NULL},
|
||||
Index: libvirt-0.7.5/python/libvirt-override-api.xml
|
||||
Index: libvirt-0.7.6/python/libvirt-override-api.xml
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/python/libvirt-override-api.xml
|
||||
+++ libvirt-0.7.5/python/libvirt-override-api.xml
|
||||
@@ -145,6 +145,11 @@
|
||||
--- libvirt-0.7.6.orig/python/libvirt-override-api.xml
|
||||
+++ libvirt-0.7.6/python/libvirt-override-api.xml
|
||||
@@ -150,6 +150,11 @@
|
||||
<arg name='domain' type='virDomainPtr' info='pointer to domain object'/>
|
||||
<arg name='params' type='virSchedParameterPtr' info='pointer to scheduler parameter objects'/>
|
||||
</function>
|
||||
@ -1038,10 +1038,10 @@ Index: libvirt-0.7.5/python/libvirt-override-api.xml
|
||||
<function name='virConnectListStoragePools' file='python'>
|
||||
<info>list the storage pools, stores the pointers to the names in @names</info>
|
||||
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
|
||||
Index: libvirt-0.7.5/src/xen/xen_inotify.c
|
||||
Index: libvirt-0.7.6/src/xen/xen_inotify.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/src/xen/xen_inotify.c
|
||||
+++ libvirt-0.7.5/src/xen/xen_inotify.c
|
||||
--- libvirt-0.7.6.orig/src/xen/xen_inotify.c
|
||||
+++ libvirt-0.7.6/src/xen/xen_inotify.c
|
||||
@@ -86,6 +86,11 @@ struct xenUnifiedDriver xenInotifyDriver
|
||||
NULL, /* domainGetSchedulerType */
|
||||
NULL, /* domainGetSchedulerParameters */
|
||||
|
@ -1,49 +0,0 @@
|
||||
From 8e53215d5a73d88cceab0040b27529e4f547e74d Mon Sep 17 00:00:00 2001
|
||||
From: Jim Fehlig <jfehlig@novell.com>
|
||||
Date: Tue, 12 Jan 2010 11:18:34 -0700
|
||||
Subject: [PATCH] Fix migration in xend driver
|
||||
|
||||
Upstream xen has changed parameters to the migration operation
|
||||
several times over the past 18 months. Changeset 17553 removed
|
||||
the resouce parameter, Changesets 17709, 17753, and 20326 added
|
||||
ssl, node, and change_home_server parameters respectively.
|
||||
|
||||
Fortunately, testing has revealed that xend will fail the
|
||||
operation if a parameter is missing but happily honor it if
|
||||
unknown parameters are provided. Thus all currently supported
|
||||
parameters can be provided, satisfying current xend but not
|
||||
regressing older versions.
|
||||
---
|
||||
src/xen/xend_internal.c | 14 ++++++++++----
|
||||
1 files changed, 10 insertions(+), 4 deletions(-)
|
||||
|
||||
Index: libvirt-0.7.5/src/xen/xend_internal.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/src/xen/xend_internal.c
|
||||
+++ libvirt-0.7.5/src/xen/xend_internal.c
|
||||
@@ -4552,15 +4552,21 @@ xenDaemonDomainMigratePerform (virDomain
|
||||
|
||||
DEBUG("hostname = %s, port = %s", hostname, port);
|
||||
|
||||
- /* Make the call. */
|
||||
+ /* Make the call.
|
||||
+ * NB: xend will fail the operation if any parameters are
|
||||
+ * missing but happily accept unknown parameters. This works
|
||||
+ * to our advantage since all parameters supported and required
|
||||
+ * by current xend can be included without breaking older xend.
|
||||
+ */
|
||||
ret = xend_op (domain->conn, domain->name,
|
||||
"op", "migrate",
|
||||
"destination", hostname,
|
||||
"live", live,
|
||||
"port", port,
|
||||
- "node", "-1",
|
||||
- "ssl", "0",
|
||||
- "resource", "0", /* required, xend ignores it */
|
||||
+ "node", "-1", /* xen-unstable c/s 17753 */
|
||||
+ "ssl", "0", /* xen-unstable c/s 17709 */
|
||||
+ "change_home_server", "0", /* xen-unstable c/s 20326 */
|
||||
+ "resource", "0", /* removed by xen-unstable c/s 17553 */
|
||||
NULL);
|
||||
VIR_FREE (hostname);
|
||||
|
@ -13,10 +13,10 @@ Date: Wed Jan 27 16:11:41 2010 -0700
|
||||
This approach allows removing a disk when domain is inactive. We
|
||||
obviously can't search xenstore when the domain is inactive.
|
||||
|
||||
Index: libvirt-0.7.5/src/xen/xend_internal.c
|
||||
Index: libvirt-0.7.6/src/xen/xend_internal.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/src/xen/xend_internal.c
|
||||
+++ libvirt-0.7.5/src/xen/xend_internal.c
|
||||
--- libvirt-0.7.6.orig/src/xen/xend_internal.c
|
||||
+++ libvirt-0.7.6/src/xen/xend_internal.c
|
||||
@@ -93,6 +93,7 @@ xenDaemonFormatSxprOnePCI(virConnectPtr
|
||||
|
||||
static int
|
||||
@ -25,7 +25,7 @@ Index: libvirt-0.7.5/src/xen/xend_internal.c
|
||||
virDomainDeviceDefPtr dev,
|
||||
char *class,
|
||||
char *ref,
|
||||
@@ -4214,7 +4215,7 @@ xenDaemonAttachDeviceFlags(virDomainPtr
|
||||
@@ -4215,7 +4216,7 @@ xenDaemonAttachDeviceFlags(virDomainPtr
|
||||
|
||||
sexpr = virBufferContentAndReset(&buf);
|
||||
|
||||
@ -34,7 +34,7 @@ Index: libvirt-0.7.5/src/xen/xend_internal.c
|
||||
/* device doesn't exist, define it */
|
||||
ret = xend_op(domain->conn, domain->name, "op", "device_create",
|
||||
"config", sexpr, NULL);
|
||||
@@ -4309,7 +4310,7 @@ xenDaemonDetachDeviceFlags(virDomainPtr
|
||||
@@ -4310,7 +4311,7 @@ xenDaemonDetachDeviceFlags(virDomainPtr
|
||||
def, xml, VIR_DOMAIN_XML_INACTIVE)))
|
||||
goto cleanup;
|
||||
|
||||
@ -43,7 +43,7 @@ Index: libvirt-0.7.5/src/xen/xend_internal.c
|
||||
goto cleanup;
|
||||
|
||||
if (dev->type == VIR_DOMAIN_DEVICE_HOSTDEV) {
|
||||
@@ -6051,6 +6052,7 @@ error:
|
||||
@@ -6052,6 +6053,7 @@ error:
|
||||
*/
|
||||
static int
|
||||
virDomainXMLDevID(virDomainPtr domain,
|
||||
@ -51,7 +51,7 @@ Index: libvirt-0.7.5/src/xen/xend_internal.c
|
||||
virDomainDeviceDefPtr dev,
|
||||
char *class,
|
||||
char *ref,
|
||||
@@ -6059,27 +6061,33 @@ virDomainXMLDevID(virDomainPtr domain,
|
||||
@@ -6060,27 +6062,33 @@ virDomainXMLDevID(virDomainPtr domain,
|
||||
xenUnifiedPrivatePtr priv = domain->conn->privateData;
|
||||
char *xref;
|
||||
char *tmp;
|
||||
|
@ -1,8 +1,8 @@
|
||||
Index: libvirt-0.7.5/src/xen/xend_internal.c
|
||||
Index: libvirt-0.7.6/src/xen/xend_internal.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/src/xen/xend_internal.c
|
||||
+++ libvirt-0.7.5/src/xen/xend_internal.c
|
||||
@@ -5478,7 +5478,10 @@ xenDaemonFormatSxprDisk(virConnectPtr co
|
||||
--- libvirt-0.7.6.orig/src/xen/xend_internal.c
|
||||
+++ libvirt-0.7.6/src/xen/xend_internal.c
|
||||
@@ -5479,7 +5479,10 @@ xenDaemonFormatSxprDisk(virConnectPtr co
|
||||
} else if (def->device == VIR_DOMAIN_DISK_DEVICE_CDROM) {
|
||||
virBufferVSprintf(buf, "(dev '%s:cdrom')", def->dst);
|
||||
} else {
|
||||
|
@ -1,248 +0,0 @@
|
||||
Index: libvirt-0.7.5/src/xen/xen_hypervisor.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/src/xen/xen_hypervisor.c
|
||||
+++ libvirt-0.7.5/src/xen/xen_hypervisor.c
|
||||
@@ -215,10 +215,26 @@ struct xen_v2d5_getdomaininfo {
|
||||
};
|
||||
typedef struct xen_v2d5_getdomaininfo xen_v2d5_getdomaininfo;
|
||||
|
||||
+struct xen_v2d6_getdomaininfo {
|
||||
+ domid_t domain; /* the domain number */
|
||||
+ uint32_t flags; /* flags, see before */
|
||||
+ uint64_t tot_pages ALIGN_64; /* total number of pages used */
|
||||
+ uint64_t max_pages ALIGN_64; /* maximum number of pages allowed */
|
||||
+ uint64_t shr_pages ALIGN_64; /* number of shared pages */
|
||||
+ uint64_t shared_info_frame ALIGN_64; /* MFN of shared_info struct */
|
||||
+ uint64_t cpu_time ALIGN_64; /* CPU time used */
|
||||
+ uint32_t nr_online_vcpus; /* Number of VCPUs currently online. */
|
||||
+ uint32_t max_vcpu_id; /* Maximum VCPUID in use by this domain. */
|
||||
+ uint32_t ssidref;
|
||||
+ xen_domain_handle_t handle;
|
||||
+};
|
||||
+typedef struct xen_v2d6_getdomaininfo xen_v2d6_getdomaininfo;
|
||||
+
|
||||
union xen_getdomaininfo {
|
||||
struct xen_v0_getdomaininfo v0;
|
||||
struct xen_v2_getdomaininfo v2;
|
||||
struct xen_v2d5_getdomaininfo v2d5;
|
||||
+ struct xen_v2d6_getdomaininfo v2d6;
|
||||
};
|
||||
typedef union xen_getdomaininfo xen_getdomaininfo;
|
||||
|
||||
@@ -226,6 +242,7 @@ union xen_getdomaininfolist {
|
||||
struct xen_v0_getdomaininfo *v0;
|
||||
struct xen_v2_getdomaininfo *v2;
|
||||
struct xen_v2d5_getdomaininfo *v2d5;
|
||||
+ struct xen_v2d6_getdomaininfo *v2d6;
|
||||
};
|
||||
typedef union xen_getdomaininfolist xen_getdomaininfolist;
|
||||
|
||||
@@ -263,114 +280,147 @@ typedef struct xen_v2s5_availheap xen_v
|
||||
#define XEN_GETDOMAININFOLIST_ALLOC(domlist, size) \
|
||||
(hypervisor_version < 2 ? \
|
||||
(VIR_ALLOC_N(domlist.v0, (size)) == 0) : \
|
||||
- (dom_interface_version < 5 ? \
|
||||
- (VIR_ALLOC_N(domlist.v2, (size)) == 0) : \
|
||||
- (VIR_ALLOC_N(domlist.v2d5, (size)) == 0)))
|
||||
+ (dom_interface_version >= 6 ? \
|
||||
+ (VIR_ALLOC_N(domlist.v2d6, (size)) == 0) : \
|
||||
+ (dom_interface_version == 5 ? \
|
||||
+ (VIR_ALLOC_N(domlist.v2d5, (size)) == 0) : \
|
||||
+ (VIR_ALLOC_N(domlist.v2, (size)) == 0))))
|
||||
|
||||
#define XEN_GETDOMAININFOLIST_FREE(domlist) \
|
||||
(hypervisor_version < 2 ? \
|
||||
VIR_FREE(domlist.v0) : \
|
||||
- (dom_interface_version < 5 ? \
|
||||
- VIR_FREE(domlist.v2) : \
|
||||
- VIR_FREE(domlist.v2d5)))
|
||||
+ (dom_interface_version >= 6 ? \
|
||||
+ VIR_FREE(domlist.v2d6) : \
|
||||
+ (dom_interface_version == 5 ? \
|
||||
+ VIR_FREE(domlist.v2d5) : \
|
||||
+ VIR_FREE(domlist.v2))))
|
||||
|
||||
#define XEN_GETDOMAININFOLIST_CLEAR(domlist, size) \
|
||||
(hypervisor_version < 2 ? \
|
||||
memset(domlist.v0, 0, sizeof(*domlist.v0) * size) : \
|
||||
- (dom_interface_version < 5 ? \
|
||||
- memset(domlist.v2, 0, sizeof(*domlist.v2) * size) : \
|
||||
- memset(domlist.v2d5, 0, sizeof(*domlist.v2d5) * size)))
|
||||
+ (dom_interface_version >= 6 ? \
|
||||
+ memset(domlist.v2d6, 0, sizeof(*domlist.v2d6) * size) : \
|
||||
+ (dom_interface_version == 5 ? \
|
||||
+ memset(domlist.v2d5, 0, sizeof(*domlist.v2d5) * size) : \
|
||||
+ memset(domlist.v2, 0, sizeof(*domlist.v2) * size))))
|
||||
|
||||
#define XEN_GETDOMAININFOLIST_DOMAIN(domlist, n) \
|
||||
(hypervisor_version < 2 ? \
|
||||
domlist.v0[n].domain : \
|
||||
- (dom_interface_version < 5 ? \
|
||||
- domlist.v2[n].domain : \
|
||||
- domlist.v2d5[n].domain))
|
||||
+ (dom_interface_version >= 6 ? \
|
||||
+ domlist.v2d6[n].domain : \
|
||||
+ (dom_interface_version == 5 ? \
|
||||
+ domlist.v2d5[n].domain : \
|
||||
+ domlist.v2[n].domain)))
|
||||
|
||||
#define XEN_GETDOMAININFOLIST_UUID(domlist, n) \
|
||||
(hypervisor_version < 2 ? \
|
||||
domlist.v0[n].handle : \
|
||||
- (dom_interface_version < 5 ? \
|
||||
- domlist.v2[n].handle : \
|
||||
- domlist.v2d5[n].handle))
|
||||
+ (dom_interface_version >= 6 ? \
|
||||
+ domlist.v2d6[n].handle : \
|
||||
+ (dom_interface_version == 5 ? \
|
||||
+ domlist.v2d5[n].handle : \
|
||||
+ domlist.v2[n].handle)))
|
||||
|
||||
#define XEN_GETDOMAININFOLIST_DATA(domlist) \
|
||||
(hypervisor_version < 2 ? \
|
||||
(void*)(domlist->v0) : \
|
||||
- (dom_interface_version < 5 ? \
|
||||
- (void*)(domlist->v2) : \
|
||||
- (void*)(domlist->v2d5)))
|
||||
+ (dom_interface_version >= 6 ? \
|
||||
+ (void*)(domlist->v2d6) : \
|
||||
+ (dom_interface_version == 5 ? \
|
||||
+ (void*)(domlist->v2d5) : \
|
||||
+ (void*)(domlist->v2))))
|
||||
|
||||
#define XEN_GETDOMAININFO_SIZE \
|
||||
(hypervisor_version < 2 ? \
|
||||
sizeof(xen_v0_getdomaininfo) : \
|
||||
- (dom_interface_version < 5 ? \
|
||||
- sizeof(xen_v2_getdomaininfo) : \
|
||||
- sizeof(xen_v2d5_getdomaininfo)))
|
||||
+ (dom_interface_version >= 6 ? \
|
||||
+ sizeof(xen_v2d6_getdomaininfo) : \
|
||||
+ (dom_interface_version == 5 ? \
|
||||
+ sizeof(xen_v2d5_getdomaininfo) : \
|
||||
+ sizeof(xen_v2_getdomaininfo))))
|
||||
|
||||
#define XEN_GETDOMAININFO_CLEAR(dominfo) \
|
||||
(hypervisor_version < 2 ? \
|
||||
memset(&(dominfo.v0), 0, sizeof(xen_v0_getdomaininfo)) : \
|
||||
- (dom_interface_version < 5 ? \
|
||||
- memset(&(dominfo.v2), 0, sizeof(xen_v2_getdomaininfo)) : \
|
||||
- memset(&(dominfo.v2d5), 0, sizeof(xen_v2d5_getdomaininfo))))
|
||||
+ (dom_interface_version >= 6 ? \
|
||||
+ memset(&(dominfo.v2d6), 0, sizeof(xen_v2d6_getdomaininfo)) : \
|
||||
+ (dom_interface_version == 5 ? \
|
||||
+ memset(&(dominfo.v2d5), 0, sizeof(xen_v2d5_getdomaininfo)) : \
|
||||
+ memset(&(dominfo.v2), 0, sizeof(xen_v2_getdomaininfo)))))
|
||||
|
||||
#define XEN_GETDOMAININFO_DOMAIN(dominfo) \
|
||||
(hypervisor_version < 2 ? \
|
||||
dominfo.v0.domain : \
|
||||
- (dom_interface_version < 5 ? \
|
||||
- dominfo.v2.domain : \
|
||||
- dominfo.v2d5.domain))
|
||||
+ (dom_interface_version >= 6 ? \
|
||||
+ dominfo.v2d6.domain : \
|
||||
+ (dom_interface_version == 5 ? \
|
||||
+ dominfo.v2d5.domain : \
|
||||
+ dominfo.v2.domain)))
|
||||
|
||||
#define XEN_GETDOMAININFO_CPUTIME(dominfo) \
|
||||
(hypervisor_version < 2 ? \
|
||||
dominfo.v0.cpu_time : \
|
||||
- (dom_interface_version < 5 ? \
|
||||
- dominfo.v2.cpu_time : \
|
||||
- dominfo.v2d5.cpu_time))
|
||||
+ (dom_interface_version >= 6 ? \
|
||||
+ dominfo.v2d6.cpu_time : \
|
||||
+ (dom_interface_version == 5 ? \
|
||||
+ dominfo.v2d5.cpu_time : \
|
||||
+ dominfo.v2.cpu_time)))
|
||||
+
|
||||
|
||||
#define XEN_GETDOMAININFO_CPUCOUNT(dominfo) \
|
||||
(hypervisor_version < 2 ? \
|
||||
dominfo.v0.nr_online_vcpus : \
|
||||
- (dom_interface_version < 5 ? \
|
||||
- dominfo.v2.nr_online_vcpus : \
|
||||
- dominfo.v2d5.nr_online_vcpus))
|
||||
+ (dom_interface_version >= 6 ? \
|
||||
+ dominfo.v2d6.nr_online_vcpus : \
|
||||
+ (dom_interface_version == 5 ? \
|
||||
+ dominfo.v2d5.nr_online_vcpus : \
|
||||
+ dominfo.v2.nr_online_vcpus)))
|
||||
|
||||
#define XEN_GETDOMAININFO_MAXCPUID(dominfo) \
|
||||
(hypervisor_version < 2 ? \
|
||||
dominfo.v0.max_vcpu_id : \
|
||||
- (dom_interface_version < 5 ? \
|
||||
- dominfo.v2.max_vcpu_id : \
|
||||
- dominfo.v2d5.max_vcpu_id))
|
||||
+ (dom_interface_version >= 6 ? \
|
||||
+ dominfo.v2d6.max_vcpu_id : \
|
||||
+ (dom_interface_version == 5 ? \
|
||||
+ dominfo.v2d5.max_vcpu_id : \
|
||||
+ dominfo.v2.max_vcpu_id)))
|
||||
|
||||
#define XEN_GETDOMAININFO_FLAGS(dominfo) \
|
||||
(hypervisor_version < 2 ? \
|
||||
dominfo.v0.flags : \
|
||||
- (dom_interface_version < 5 ? \
|
||||
- dominfo.v2.flags : \
|
||||
- dominfo.v2d5.flags))
|
||||
+ (dom_interface_version >= 6 ? \
|
||||
+ dominfo.v2d6.flags : \
|
||||
+ (dom_interface_version == 5 ? \
|
||||
+ dominfo.v2d5.flags : \
|
||||
+ dominfo.v2.flags)))
|
||||
|
||||
#define XEN_GETDOMAININFO_TOT_PAGES(dominfo) \
|
||||
(hypervisor_version < 2 ? \
|
||||
dominfo.v0.tot_pages : \
|
||||
- (dom_interface_version < 5 ? \
|
||||
- dominfo.v2.tot_pages : \
|
||||
- dominfo.v2d5.tot_pages))
|
||||
+ (dom_interface_version >= 6 ? \
|
||||
+ dominfo.v2d6.tot_pages : \
|
||||
+ (dom_interface_version == 5 ? \
|
||||
+ dominfo.v2d5.tot_pages : \
|
||||
+ dominfo.v2.tot_pages)))
|
||||
|
||||
#define XEN_GETDOMAININFO_MAX_PAGES(dominfo) \
|
||||
(hypervisor_version < 2 ? \
|
||||
dominfo.v0.max_pages : \
|
||||
- (dom_interface_version < 5 ? \
|
||||
- dominfo.v2.max_pages : \
|
||||
- dominfo.v2d5.max_pages))
|
||||
+ (dom_interface_version >= 6 ? \
|
||||
+ dominfo.v2d6.max_pages : \
|
||||
+ (dom_interface_version == 5 ? \
|
||||
+ dominfo.v2d5.max_pages : \
|
||||
+ dominfo.v2.max_pages)))
|
||||
|
||||
#define XEN_GETDOMAININFO_UUID(dominfo) \
|
||||
(hypervisor_version < 2 ? \
|
||||
dominfo.v0.handle : \
|
||||
- (dom_interface_version < 5 ? \
|
||||
- dominfo.v2.handle : \
|
||||
- dominfo.v2d5.handle))
|
||||
+ (dom_interface_version >= 6 ? \
|
||||
+ dominfo.v2d6.handle : \
|
||||
+ (dom_interface_version == 5 ? \
|
||||
+ dominfo.v2d5.handle : \
|
||||
+ dominfo.v2.handle)))
|
||||
|
||||
|
||||
static int
|
||||
@@ -2050,6 +2100,12 @@ xenHypervisorInit(void)
|
||||
DEBUG0("Using hypervisor call v2, sys ver6 dom ver5\n");
|
||||
goto done;
|
||||
}
|
||||
+ /* Xen 4.0 */
|
||||
+ dom_interface_version = 6; /* XEN_DOMCTL_INTERFACE_VERSION */
|
||||
+ if (virXen_getvcpusinfo(fd, 0, 0, ipt, NULL, 0) == 0){
|
||||
+ DEBUG0("Using hypervisor call v2, sys ver6 dom ver6\n");
|
||||
+ goto done;
|
||||
+ }
|
||||
}
|
||||
|
||||
hypervisor_version = 1;
|
@ -1,38 +0,0 @@
|
||||
commit 3bd3d6b0bf9b8f054a8b31c716f03e2d0dd8751f
|
||||
Author: Jim Fehlig <jfehlig@novell.com>
|
||||
Date: Wed Jan 27 10:56:18 2010 -0700
|
||||
|
||||
Support Xen 4.0 sysctl version 7
|
||||
|
||||
xen-unstable c/s 20762 bumped XEN_SYSCTL_INTERFACE_VERSION to 7. The
|
||||
interface change does not affect libvirt, other than xenHypervisorInit()
|
||||
failing since version 7 is not tried.
|
||||
|
||||
The attached patch accommodates the upcoming Xen 4.0 release by checking
|
||||
for XEN_SYSCTL_INTERFACE_VERSION 7. If found, it sets
|
||||
XEN_DOMCTL_INTERFACE_VERSION to 6, which is also new to Xen 4.0.
|
||||
|
||||
diff --git a/src/xen/xen_hypervisor.c b/src/xen/xen_hypervisor.c
|
||||
index 6d8accc..7f39095 100644
|
||||
--- a/src/xen/xen_hypervisor.c
|
||||
+++ b/src/xen/xen_hypervisor.c
|
||||
@@ -2100,12 +2100,14 @@ xenHypervisorInit(void)
|
||||
DEBUG0("Using hypervisor call v2, sys ver6 dom ver5\n");
|
||||
goto done;
|
||||
}
|
||||
- /* Xen 4.0 */
|
||||
+ }
|
||||
+
|
||||
+ /* Xen 4.0 */
|
||||
+ sys_interface_version = 7; /* XEN_SYSCTL_INTERFACE_VERSION */
|
||||
+ if (virXen_getdomaininfo(fd, 0, &info) == 1) {
|
||||
dom_interface_version = 6; /* XEN_DOMCTL_INTERFACE_VERSION */
|
||||
- if (virXen_getvcpusinfo(fd, 0, 0, ipt, NULL, 0) == 0){
|
||||
- DEBUG0("Using hypervisor call v2, sys ver6 dom ver6\n");
|
||||
- goto done;
|
||||
- }
|
||||
+ DEBUG0("Using hypervisor call v2, sys ver7 dom ver6\n");
|
||||
+ goto done;
|
||||
}
|
||||
|
||||
hypervisor_version = 1;
|
Loading…
Reference in New Issue
Block a user