fix libvirt compilation against xen-unstable
OBS-URL: https://build.opensuse.org/package/show/Virtualization/libvirt?expand=0&rev=22
This commit is contained in:
parent
c9dd98a09f
commit
8564dd97e4
@ -2,49 +2,63 @@ Index: libvirt-0.7.2/src/xen/xend_internal.c
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-0.7.2.orig/src/xen/xend_internal.c
|
--- libvirt-0.7.2.orig/src/xen/xend_internal.c
|
||||||
+++ libvirt-0.7.2/src/xen/xend_internal.c
|
+++ libvirt-0.7.2/src/xen/xend_internal.c
|
||||||
@@ -5896,7 +5896,7 @@ virDomainXMLDevID(virDomainPtr domain,
|
@@ -4087,13 +4087,12 @@ xenDaemonAttachDevice(virDomainPtr domai
|
||||||
return -1;
|
|
||||||
xenUnifiedLock(priv);
|
|
||||||
xref = xenStoreDomainGetDiskID(domain->conn, domain->id,
|
|
||||||
- dev->data.disk->dst);
|
|
||||||
+ dev->data.disk->dst, class);
|
|
||||||
xenUnifiedUnlock(priv);
|
|
||||||
if (xref == NULL)
|
|
||||||
return -1;
|
|
||||||
Index: libvirt-0.7.2/src/xen/xs_internal.c
|
|
||||||
===================================================================
|
|
||||||
--- libvirt-0.7.2.orig/src/xen/xs_internal.c
|
|
||||||
+++ libvirt-0.7.2/src/xen/xs_internal.c
|
|
||||||
@@ -968,7 +968,8 @@ xenStoreDomainGetNetworkID(virConnectPtr
|
|
||||||
* freed by the caller.
|
|
||||||
*/
|
|
||||||
char *
|
|
||||||
-xenStoreDomainGetDiskID(virConnectPtr conn, int id, const char *dev) {
|
|
||||||
+xenStoreDomainGetDiskID(virConnectPtr conn, int id,
|
|
||||||
+ const char *dev, const char *class) {
|
|
||||||
char dir[80], path[128], **list = NULL, *val = NULL;
|
|
||||||
unsigned int devlen, len, i, num;
|
|
||||||
char *ret = NULL;
|
|
||||||
@@ -986,7 +987,7 @@ xenStoreDomainGetDiskID(virConnectPtr co
|
|
||||||
if (devlen <= 0)
|
|
||||||
return (NULL);
|
|
||||||
|
|
||||||
- snprintf(dir, sizeof(dir), "/local/domain/0/backend/vbd/%d", id);
|
priv = (xenUnifiedPrivatePtr) domain->conn->privateData;
|
||||||
+ snprintf(dir, sizeof(dir), "/local/domain/0/backend/%s/%d", class, id);
|
|
||||||
list = xs_directory(priv->xshandle, 0, dir, &num);
|
- /*
|
||||||
if (list != NULL) {
|
- * on older Xen without the inactive guests management
|
||||||
for (i = 0; i < num; i++) {
|
- * avoid doing this on inactive guests
|
||||||
Index: libvirt-0.7.2/src/xen/xs_internal.h
|
- */
|
||||||
|
- if ((domain->id < 0) && (priv->xendConfigVersion < 3))
|
||||||
|
+ if (domain->id < 0) {
|
||||||
|
+ virXendError(domain->conn, VIR_ERR_OPERATION_INVALID,
|
||||||
|
+ "%s", _("cannot attach device on inactive domain"));
|
||||||
|
return -1;
|
||||||
|
-
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
if (!(def = xenDaemonDomainFetch(domain->conn,
|
||||||
|
domain->id,
|
||||||
|
domain->name,
|
||||||
|
@@ -4191,12 +4190,11 @@ xenDaemonDetachDevice(virDomainPtr domai
|
||||||
|
|
||||||
|
priv = (xenUnifiedPrivatePtr) domain->conn->privateData;
|
||||||
|
|
||||||
|
- /*
|
||||||
|
- * on older Xen without the inactive guests management
|
||||||
|
- * avoid doing this on inactive guests
|
||||||
|
- */
|
||||||
|
- if ((domain->id < 0) && (priv->xendConfigVersion < 3))
|
||||||
|
+ if (domain->id < 0) {
|
||||||
|
+ virXendError(domain->conn, VIR_ERR_OPERATION_INVALID,
|
||||||
|
+ "%s", _("cannot detach device on inactive domain"));
|
||||||
|
return -1;
|
||||||
|
+ }
|
||||||
|
|
||||||
|
if (!(def = xenDaemonDomainFetch(domain->conn,
|
||||||
|
domain->id,
|
||||||
|
Index: libvirt-0.7.2/src/libvirt.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-0.7.2.orig/src/xen/xs_internal.h
|
--- libvirt-0.7.2.orig/src/libvirt.c
|
||||||
+++ libvirt-0.7.2/src/xen/xs_internal.h
|
+++ libvirt-0.7.2/src/libvirt.c
|
||||||
@@ -49,7 +49,8 @@ char * xenStoreDomainGetNetworkID(virCo
|
@@ -4868,7 +4868,8 @@ error:
|
||||||
const char *mac);
|
* @domain: pointer to domain object
|
||||||
char * xenStoreDomainGetDiskID(virConnectPtr conn,
|
* @xml: pointer to XML description of one device
|
||||||
int id,
|
*
|
||||||
- const char *dev);
|
- * Create a virtual device attachment to backend.
|
||||||
+ const char *dev,
|
+ * Create a virtual device attachment to backend. This function, having
|
||||||
+ const char *class);
|
+ * hotplug semantics, is only allowed on an active domain.
|
||||||
char * xenStoreDomainGetName(virConnectPtr conn,
|
*
|
||||||
int id);
|
* Returns 0 in case of success, -1 in case of failure.
|
||||||
int xenStoreDomainGetUUID(virConnectPtr conn,
|
*/
|
||||||
|
@@ -4911,7 +4912,8 @@ error:
|
||||||
|
* @domain: pointer to domain object
|
||||||
|
* @xml: pointer to XML description of one device
|
||||||
|
*
|
||||||
|
- * Destroy a virtual device attachment to backend.
|
||||||
|
+ * Destroy a virtual device attachment to backend. This function, having
|
||||||
|
+ * hot-unplug semantics, is only allowed on an active domain.
|
||||||
|
*
|
||||||
|
* Returns 0 in case of success, -1 in case of failure.
|
||||||
|
*/
|
||||||
|
@ -1,3 +1,10 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Nov 19 16:48:36 MST 2009 - jfehlig@novell.com
|
||||||
|
|
||||||
|
- Fix compilation against xen-unstable
|
||||||
|
xen-max-vcpus.patch
|
||||||
|
- Modify detach-disk.patch as per upstream suggestions
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Wed Nov 4 20:53:11 MDT 2009 - jfehlig@novell.com
|
Wed Nov 4 20:53:11 MDT 2009 - jfehlig@novell.com
|
||||||
|
|
||||||
|
@ -95,12 +95,13 @@ Patch0: devmap-no-pkgconfig.patch
|
|||||||
Patch1: fs-ocfs2.patch
|
Patch1: fs-ocfs2.patch
|
||||||
Patch2: selinux-ldflags.patch
|
Patch2: selinux-ldflags.patch
|
||||||
Patch3: virsh-warning.patch
|
Patch3: virsh-warning.patch
|
||||||
|
Patch4: xen-max-vcpus.patch
|
||||||
|
Patch5: detach-disk.patch
|
||||||
# Need to go upstream
|
# Need to go upstream
|
||||||
Patch100: socat.patch
|
Patch100: socat.patch
|
||||||
Patch101: clone.patch
|
Patch101: clone.patch
|
||||||
Patch102: migrate-params.patch
|
Patch102: migrate-params.patch
|
||||||
Patch103: xen-pv-cdrom.patch
|
Patch103: xen-pv-cdrom.patch
|
||||||
Patch104: detach-disk.patch
|
|
||||||
# Our patches
|
# Our patches
|
||||||
Patch200: libvirtd-defaults.patch
|
Patch200: libvirtd-defaults.patch
|
||||||
Patch201: suse-network.patch
|
Patch201: suse-network.patch
|
||||||
@ -200,11 +201,12 @@ Authors:
|
|||||||
%patch1 -p1
|
%patch1 -p1
|
||||||
%patch2 -p1
|
%patch2 -p1
|
||||||
%patch3 -p1
|
%patch3 -p1
|
||||||
|
%patch4 -p1
|
||||||
|
%patch5 -p1
|
||||||
%patch100 -p1
|
%patch100 -p1
|
||||||
%patch101
|
%patch101
|
||||||
%patch102 -p1
|
%patch102 -p1
|
||||||
%patch103 -p1
|
%patch103 -p1
|
||||||
%patch104 -p1
|
|
||||||
%patch200 -p1
|
%patch200 -p1
|
||||||
%patch201 -p1
|
%patch201 -p1
|
||||||
%patch202 -p1
|
%patch202 -p1
|
||||||
@ -345,5 +347,6 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
%doc %{_docdir}/%{name}-python
|
%doc %{_docdir}/%{name}-python
|
||||||
%{py_sitedir}/libvirt.py*
|
%{py_sitedir}/libvirt.py*
|
||||||
%{py_sitedir}/libvirtmod*
|
%{py_sitedir}/libvirtmod*
|
||||||
|
#%attr(0755, root, root) %{_libdir}/%{name}/virt-aa-helper
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
@ -2,7 +2,7 @@ Index: libvirt-0.7.2/src/xen/xend_internal.c
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-0.7.2.orig/src/xen/xend_internal.c
|
--- libvirt-0.7.2.orig/src/xen/xend_internal.c
|
||||||
+++ libvirt-0.7.2/src/xen/xend_internal.c
|
+++ libvirt-0.7.2/src/xen/xend_internal.c
|
||||||
@@ -4491,6 +4491,8 @@ xenDaemonDomainMigratePerform (virDomain
|
@@ -4489,6 +4489,8 @@ xenDaemonDomainMigratePerform (virDomain
|
||||||
"node", "-1",
|
"node", "-1",
|
||||||
"ssl", "0",
|
"ssl", "0",
|
||||||
"resource", "0", /* required, xend ignores it */
|
"resource", "0", /* required, xend ignores it */
|
||||||
|
@ -452,7 +452,7 @@ Index: libvirt-0.7.2/src/xen/xend_internal.c
|
|||||||
#endif /* !PROXY */
|
#endif /* !PROXY */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -5082,6 +5169,11 @@ struct xenUnifiedDriver xenDaemonDriver
|
@@ -5080,6 +5167,11 @@ struct xenUnifiedDriver xenDaemonDriver
|
||||||
xenDaemonGetSchedulerType, /* domainGetSchedulerType */
|
xenDaemonGetSchedulerType, /* domainGetSchedulerType */
|
||||||
xenDaemonGetSchedulerParameters, /* domainGetSchedulerParameters */
|
xenDaemonGetSchedulerParameters, /* domainGetSchedulerParameters */
|
||||||
xenDaemonSetSchedulerParameters, /* domainSetSchedulerParameters */
|
xenDaemonSetSchedulerParameters, /* domainSetSchedulerParameters */
|
||||||
@ -484,7 +484,7 @@ Index: libvirt-0.7.2/src/xen/xen_hypervisor.c
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-0.7.2.orig/src/xen/xen_hypervisor.c
|
--- libvirt-0.7.2.orig/src/xen/xen_hypervisor.c
|
||||||
+++ libvirt-0.7.2/src/xen/xen_hypervisor.c
|
+++ libvirt-0.7.2/src/xen/xen_hypervisor.c
|
||||||
@@ -742,6 +742,11 @@ struct xenUnifiedDriver xenHypervisorDri
|
@@ -750,6 +750,11 @@ struct xenUnifiedDriver xenHypervisorDri
|
||||||
xenHypervisorGetSchedulerType, /* domainGetSchedulerType */
|
xenHypervisorGetSchedulerType, /* domainGetSchedulerType */
|
||||||
xenHypervisorGetSchedulerParameters, /* domainGetSchedulerParameters */
|
xenHypervisorGetSchedulerParameters, /* domainGetSchedulerParameters */
|
||||||
xenHypervisorSetSchedulerParameters, /* domainSetSchedulerParameters */
|
xenHypervisorSetSchedulerParameters, /* domainSetSchedulerParameters */
|
||||||
|
28
xen-max-vcpus.patch
Normal file
28
xen-max-vcpus.patch
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
commit d08067f04248c7f1bd797f4401308ea9a8971f1b
|
||||||
|
Author: Jim Fehlig <jfehlig@novell.com>
|
||||||
|
Date: Fri Nov 13 14:44:56 2009 -0700
|
||||||
|
|
||||||
|
xen-unstable changeset 19788 removed MAX_VIRT_CPUS from public
|
||||||
|
headers, breaking compilation of libvirt on -unstable. Its
|
||||||
|
semanitc was retained with XEN_LEGACY_MAX_VCPUS. Ensure
|
||||||
|
MAX_VIRT_CPUS is defined accordingly.
|
||||||
|
|
||||||
|
diff --git a/src/xen/xen_hypervisor.c b/src/xen/xen_hypervisor.c
|
||||||
|
index 6d8bfdd..843102a 100644
|
||||||
|
--- a/src/xen/xen_hypervisor.c
|
||||||
|
+++ b/src/xen/xen_hypervisor.c
|
||||||
|
@@ -109,6 +109,14 @@ typedef privcmd_hypercall_t hypercall_t;
|
||||||
|
#define SYS_IFACE_MIN_VERS_NUMA 4
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+/* xen-unstable changeset 19788 removed MAX_VIRT_CPUS from public
|
||||||
|
+ * headers. Its semanitc was retained with XEN_LEGACY_MAX_VCPUS.
|
||||||
|
+ * Ensure MAX_VIRT_CPUS is defined accordingly.
|
||||||
|
+ */
|
||||||
|
+#if !defined(MAX_VIRT_CPUS) && defined(XEN_LEGACY_MAX_VCPUS)
|
||||||
|
+#define MAX_VIRT_CPUS XEN_LEGACY_MAX_VCPUS
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
static int xen_ioctl_hypercall_cmd = 0;
|
||||||
|
static int initialized = 0;
|
||||||
|
static int in_init = 0;
|
@ -2,7 +2,7 @@ Index: libvirt-0.7.2/src/xen/xend_internal.c
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-0.7.2.orig/src/xen/xend_internal.c
|
--- libvirt-0.7.2.orig/src/xen/xend_internal.c
|
||||||
+++ libvirt-0.7.2/src/xen/xend_internal.c
|
+++ libvirt-0.7.2/src/xen/xend_internal.c
|
||||||
@@ -5324,7 +5324,10 @@ xenDaemonFormatSxprDisk(virConnectPtr co
|
@@ -5322,7 +5322,10 @@ xenDaemonFormatSxprDisk(virConnectPtr co
|
||||||
} else if (def->device == VIR_DOMAIN_DISK_DEVICE_CDROM) {
|
} else if (def->device == VIR_DOMAIN_DISK_DEVICE_CDROM) {
|
||||||
virBufferVSprintf(buf, "(dev '%s:cdrom')", def->dst);
|
virBufferVSprintf(buf, "(dev '%s:cdrom')", def->dst);
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
Reference in New Issue
Block a user