diff --git a/clone.patch b/clone.patch index 7c92647..f2d33cf 100644 --- a/clone.patch +++ b/clone.patch @@ -2,7 +2,7 @@ Index: src/lxc/lxc_container.c =================================================================== --- src/lxc/lxc_container.c.orig +++ src/lxc/lxc_container.c -@@ -796,6 +796,9 @@ int lxcContainerStart(virDomainDefPtr de +@@ -813,6 +813,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; -@@ -810,7 +813,11 @@ int lxcContainerStart(virDomainDefPtr de +@@ -827,7 +830,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); -@@ -836,6 +843,7 @@ int lxcContainerAvailable(int features) +@@ -853,6 +860,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; -@@ -843,14 +851,21 @@ int lxcContainerAvailable(int features) +@@ -860,14 +868,21 @@ int lxcContainerAvailable(int features) if (features & LXC_CONTAINER_FEATURE_NET) flags |= CLONE_NEWNET; diff --git a/detach-disk.patch b/detach-disk.patch index 834deec..c70c688 100644 --- a/detach-disk.patch +++ b/detach-disk.patch @@ -1,50 +1,64 @@ -Index: libvirt-0.7.2/src/xen/xend_internal.c +Index: libvirt-0.7.4/src/xen/xend_internal.c =================================================================== ---- libvirt-0.7.2.orig/src/xen/xend_internal.c -+++ libvirt-0.7.2/src/xen/xend_internal.c -@@ -5896,7 +5896,7 @@ virDomainXMLDevID(virDomainPtr domain, - 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); +--- libvirt-0.7.4.orig/src/xen/xend_internal.c ++++ libvirt-0.7.4/src/xen/xend_internal.c +@@ -4109,13 +4109,12 @@ xenDaemonAttachDevice(virDomainPtr domai -- snprintf(dir, sizeof(dir), "/local/domain/0/backend/vbd/%d", id); -+ snprintf(dir, sizeof(dir), "/local/domain/0/backend/%s/%d", class, id); - list = xs_directory(priv->xshandle, 0, dir, &num); - if (list != NULL) { - for (i = 0; i < num; i++) { -Index: libvirt-0.7.2/src/xen/xs_internal.h + 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 attach device on inactive domain")); + return -1; +- ++ } ++ + if (!(def = xenDaemonDomainFetch(domain->conn, + domain->id, + domain->name, +@@ -4213,12 +4212,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.4/src/libvirt.c =================================================================== ---- libvirt-0.7.2.orig/src/xen/xs_internal.h -+++ libvirt-0.7.2/src/xen/xs_internal.h -@@ -49,7 +49,8 @@ char * xenStoreDomainGetNetworkID(virCo - const char *mac); - char * xenStoreDomainGetDiskID(virConnectPtr conn, - int id, -- const char *dev); -+ const char *dev, -+ const char *class); - char * xenStoreDomainGetName(virConnectPtr conn, - int id); - int xenStoreDomainGetUUID(virConnectPtr conn, +--- libvirt-0.7.4.orig/src/libvirt.c ++++ libvirt-0.7.4/src/libvirt.c +@@ -4919,7 +4919,8 @@ error: + * @domain: pointer to domain object + * @xml: pointer to XML description of one device + * +- * Create a virtual device attachment to backend. ++ * Create a virtual device attachment to backend. This function, having ++ * hotplug semantics, is only allowed on an active domain. + * + * Returns 0 in case of success, -1 in case of failure. + */ +@@ -4962,7 +4963,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. + */ diff --git a/devmap-no-pkgconfig.patch b/devmap-no-pkgconfig.patch deleted file mode 100644 index 78d9b22..0000000 --- a/devmap-no-pkgconfig.patch +++ /dev/null @@ -1,32 +0,0 @@ -Index: libvirt-0.7.2/configure.in -=================================================================== ---- libvirt-0.7.2.orig/configure.in -+++ libvirt-0.7.2/configure.in -@@ -1304,11 +1304,22 @@ if test "$with_storage_mpath" = "yes"; t - DEVMAPPER_REQUIRED=0.0 - DEVMAPPER_CFLAGS= - DEVMAPPER_LIBS= -- PKG_CHECK_MODULES(DEVMAPPER, devmapper >= $DEVMAPPER_REQUIRED, -- [], [ -- AC_MSG_ERROR( -- [You must install device-mapper-devel >= $DEVMAPPER_REQUIRED to compile libvirt]) -- ]) -+ PKG_CHECK_MODULES([DEVMAPPER], [devmapper >= $DEVMAPPER_REQUIRED], [], [DEVMAPPER_FOUND=no]) -+ if test "$DEVMAPPER_FOUND" = "no"; then -+ # devmapper is missing pkg-config files in ubuntu, suse, etc -+ save_LIBS="$LIBS" -+ save_CFLAGS="$CFLAGS" -+ DEVMAPPER_FOUND=yes -+ AC_CHECK_HEADER([libdevmapper.h],,[DEVMAPPER_FOUND=no]) -+ AC_CHECK_LIB([devmapper], [dm_task_run],,[DEVMAPPER_FOUND=no]) -+ DEVMAPPER_LIBS="-ldevmapper" -+ LIBS="$save_LIBS" -+ CFLAGS="$save_CFLAGS" -+ fi -+ if test "$DEVMAPPER_FOUND" = "no" ; then -+ AC_MSG_ERROR([You must install device-mapper-devel/libdevmapper >= $DEVMAPPER_REQUIRED to compile libvirt]) -+ fi -+ - fi - AC_SUBST([DEVMAPPER_CFLAGS]) - AC_SUBST([DEVMAPPER_LIBS]) diff --git a/fs-ocfs2.patch b/fs-ocfs2.patch deleted file mode 100644 index 95e84c7..0000000 --- a/fs-ocfs2.patch +++ /dev/null @@ -1,25 +0,0 @@ -Index: libvirt-0.7.2/src/conf/storage_conf.c -=================================================================== ---- libvirt-0.7.2.orig/src/conf/storage_conf.c -+++ libvirt-0.7.2/src/conf/storage_conf.c -@@ -60,7 +60,7 @@ VIR_ENUM_IMPL(virStoragePoolFormatFileSy - VIR_STORAGE_POOL_FS_LAST, - "auto", "ext2", "ext3", - "ext4", "ufs", "iso9660", "udf", -- "gfs", "gfs2", "vfat", "hfs+", "xfs") -+ "gfs", "gfs2", "vfat", "hfs+", "xfs", "ocfs2") - - VIR_ENUM_IMPL(virStoragePoolFormatFileSystemNet, - VIR_STORAGE_POOL_NETFS_LAST, -Index: libvirt-0.7.2/src/conf/storage_conf.h -=================================================================== ---- libvirt-0.7.2.orig/src/conf/storage_conf.h -+++ libvirt-0.7.2/src/conf/storage_conf.h -@@ -395,6 +395,7 @@ enum virStoragePoolFormatFileSystem { - VIR_STORAGE_POOL_FS_VFAT, - VIR_STORAGE_POOL_FS_HFSPLUS, - VIR_STORAGE_POOL_FS_XFS, -+ VIR_STORAGE_POOL_FS_OCFS2, - VIR_STORAGE_POOL_FS_LAST, - }; - VIR_ENUM_DECL(virStoragePoolFormatFileSystem) diff --git a/libvirt-0.7.2.tar.bz2 b/libvirt-0.7.2.tar.bz2 deleted file mode 100644 index 9e7e304..0000000 --- a/libvirt-0.7.2.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:311817f34ace89ee44b09a4d4854bbc3a5c0567bf9a8e8a6772c494432f94b33 -size 5563880 diff --git a/libvirt-0.7.4.tar.bz2 b/libvirt-0.7.4.tar.bz2 new file mode 100644 index 0000000..c5fa49f --- /dev/null +++ b/libvirt-0.7.4.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6316a53b4cfaf184e795c7be69a371c5dc90a8a6dd6cd05c4208a1314aac10d4 +size 5692288 diff --git a/libvirt.changes b/libvirt.changes index 7186c90..3eb631f 100644 --- a/libvirt.changes +++ b/libvirt.changes @@ -1,3 +1,38 @@ +------------------------------------------------------------------- +Mon Dec 7 14:51:36 MST 2009 - jfehlig@novell.com + +- Plumb domain description in xend backend + xend-description-tag.patch + +------------------------------------------------------------------- +Tue Nov 24 17:46:08 MST 2009 - jfehlig@novell.com + +- Fix listing of defined but inactive Xen domains + xen-list-defined.patch + +------------------------------------------------------------------- +Tue Nov 24 10:29:03 MST 2009 - jfehlig@novell.com + +- Updated to version 0.7.4 + - Implement a node device backend using libudev + - New APIs for checking some object properties + - Fully asynchronous monitor I/O processing + - add MAC address based port filtering to qemu + - support for IPv6 / multiple addresses per interfaces + - lots of improvements and bug fixes + +------------------------------------------------------------------- +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 + +- spec file: Fix polkit vs PolicyKit Requires + ------------------------------------------------------------------- Mon Oct 19 14:13:47 MDT 2009 - jfehlig@novell.com diff --git a/libvirt.spec b/libvirt.spec index 761f9b5..bf9c90e 100644 --- a/libvirt.spec +++ b/libvirt.spec @@ -1,5 +1,5 @@ # -# spec file for package libvirt (Version 0.7.2) +# spec file for package libvirt (Version 0.7.4) # # Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -61,10 +61,10 @@ BuildRequires: libssh2-devel # Only for directory ownership: BuildRequires: gtk-doc Url: http://libvirt.org/ -License: LGPL v2.1 or later +License: LGPLv2.1+ Group: Development/Libraries/C and C++ AutoReqProv: yes -Version: 0.7.2 +Version: 0.7.4 Release: 1 Summary: A C toolkit to interract with the virtualization capabilities of Linux Requires: readline @@ -83,7 +83,7 @@ Requires: socat Requires: open-iscsi Requires: nfs-client Requires: hal -%if 0%{?suse_version} > 1100 +%if 0%{?suse_version} > 1110 Requires: polkit >= 0.9 %else Requires: PolicyKit >= 0.6 @@ -91,16 +91,14 @@ Requires: PolicyKit >= 0.6 Source0: %{name}-%{version}.tar.bz2 Source1: libvirtd.init # Upstream patches -Patch0: devmap-no-pkgconfig.patch -Patch1: fs-ocfs2.patch -Patch2: selinux-ldflags.patch -Patch3: virsh-warning.patch +Patch0: xen-list-defined.patch +Patch1: detach-disk.patch +Patch2: xend-description-tag.patch # Need to go upstream Patch100: socat.patch Patch101: clone.patch Patch102: migrate-params.patch Patch103: xen-pv-cdrom.patch -Patch104: detach-disk.patch # Our patches Patch200: libvirtd-defaults.patch Patch201: suse-network.patch @@ -124,7 +122,7 @@ Authors: Karel Zak %package devel -License: LGPL v2.1 or later +License: LGPLv2.1+ Summary: A C toolkit to interract with the virtualization capabilities of Linux Group: Development/Libraries/C and C++ Requires: %{name} = %{version} libxml2-devel @@ -150,7 +148,7 @@ Authors: Karel Zak %package doc -License: LGPL v2.1 or later +License: LGPLv2.1+ Summary: A C toolkit to interract with the virtualization capabilities of Linux Group: Development/Libraries/C and C++ Requires: %{name} = %{version} @@ -172,7 +170,7 @@ Authors: Karel Zak %package python -License: LGPL v2.1 or later +License: LGPLv2.1+ Summary: A C toolkit to interract with the virtualization capabilities of Linux Group: Development/Libraries/C and C++ Requires: %{name} = %{version} @@ -199,12 +197,10 @@ Authors: %patch0 -p1 %patch1 -p1 %patch2 -p1 -%patch3 -p1 %patch100 -p1 %patch101 %patch102 -p1 %patch103 -p1 -%patch104 -p1 %patch200 -p1 %patch201 -p1 %patch202 -p1 @@ -345,5 +341,6 @@ rm -rf $RPM_BUILD_ROOT %doc %{_docdir}/%{name}-python %{py_sitedir}/libvirt.py* %{py_sitedir}/libvirtmod* +#%attr(0755, root, root) %{_libdir}/%{name}/virt-aa-helper %changelog diff --git a/migrate-params.patch b/migrate-params.patch index fbcf3d9..2720c04 100644 --- a/migrate-params.patch +++ b/migrate-params.patch @@ -1,8 +1,8 @@ -Index: libvirt-0.7.2/src/xen/xend_internal.c +Index: libvirt-0.7.4/src/xen/xend_internal.c =================================================================== ---- libvirt-0.7.2.orig/src/xen/xend_internal.c -+++ libvirt-0.7.2/src/xen/xend_internal.c -@@ -4491,6 +4491,8 @@ xenDaemonDomainMigratePerform (virDomain +--- libvirt-0.7.4.orig/src/xen/xend_internal.c ++++ libvirt-0.7.4/src/xen/xend_internal.c +@@ -4517,6 +4517,8 @@ xenDaemonDomainMigratePerform (virDomain "node", "-1", "ssl", "0", "resource", "0", /* required, xend ignores it */ diff --git a/selinux-ldflags.patch b/selinux-ldflags.patch deleted file mode 100644 index 7b92fce..0000000 --- a/selinux-ldflags.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: libvirt-0.7.2/src/Makefile.am -=================================================================== ---- libvirt-0.7.2.orig/src/Makefile.am -+++ libvirt-0.7.2/src/Makefile.am -@@ -657,6 +657,8 @@ libvirt_driver_security_la_CFLAGS = \ - libvirt_driver_security_la_LDFLAGS = - if WITH_SECDRIVER_SELINUX - libvirt_driver_security_la_SOURCES += $(SECURITY_DRIVER_SELINUX_SOURCES) -+libvirt_driver_security_la_CFLAGS += $(SELINUX_CFLAGS) -+libvirt_driver_security_la_LDFLAGS += $(SELINUX_LIBS) - endif - if WITH_SECDRIVER_APPARMOR - libvirt_driver_security_la_SOURCES += $(SECURITY_DRIVER_APPARMOR_SOURCES) diff --git a/snapshots.patch b/snapshots.patch index a00c62e..72fd6de 100644 --- a/snapshots.patch +++ b/snapshots.patch @@ -1,8 +1,8 @@ -Index: libvirt-0.7.2/include/libvirt/libvirt.h.in +Index: libvirt-0.7.4/include/libvirt/libvirt.h.in =================================================================== ---- libvirt-0.7.2.orig/include/libvirt/libvirt.h.in -+++ libvirt-0.7.2/include/libvirt/libvirt.h.in -@@ -561,6 +561,21 @@ int virDomainRestore +--- libvirt-0.7.4.orig/include/libvirt/libvirt.h.in ++++ libvirt-0.7.4/include/libvirt/libvirt.h.in +@@ -565,6 +565,21 @@ int virDomainRestore const char *from); /* @@ -24,11 +24,11 @@ Index: libvirt-0.7.2/include/libvirt/libvirt.h.in * Domain core dump */ int virDomainCoreDump (virDomainPtr domain, -Index: libvirt-0.7.2/src/libvirt.c +Index: libvirt-0.7.4/src/libvirt.c =================================================================== ---- libvirt-0.7.2.orig/src/libvirt.c -+++ libvirt-0.7.2/src/libvirt.c -@@ -2234,6 +2234,166 @@ error: +--- libvirt-0.7.4.orig/src/libvirt.c ++++ libvirt-0.7.4/src/libvirt.c +@@ -2281,6 +2281,166 @@ error: } /** @@ -195,11 +195,11 @@ Index: libvirt-0.7.2/src/libvirt.c * virDomainCoreDump: * @domain: a domain object * @to: path for the core file -Index: libvirt-0.7.2/src/driver.h +Index: libvirt-0.7.4/src/driver.h =================================================================== ---- libvirt-0.7.2.orig/src/driver.h -+++ libvirt-0.7.2/src/driver.h -@@ -133,6 +133,21 @@ typedef int +--- libvirt-0.7.4.orig/src/driver.h ++++ libvirt-0.7.4/src/driver.h +@@ -136,6 +136,21 @@ typedef int (*virDrvDomainRestore) (virConnectPtr conn, const char *from); typedef int @@ -221,10 +221,10 @@ Index: libvirt-0.7.2/src/driver.h (*virDrvDomainCoreDump) (virDomainPtr domain, const char *to, int flags); -@@ -418,6 +433,11 @@ struct _virDriver { - virDrvNodeDeviceReAttach nodeDeviceReAttach; - virDrvNodeDeviceReset nodeDeviceReset; - virDrvDomainMigratePrepareTunnel domainMigratePrepareTunnel; +@@ -435,6 +450,11 @@ struct _virDriver { + virDrvConnectIsSecure isSecure; + virDrvDomainIsActive domainIsActive; + virDrvDomainIsPersistent domainIsPersistent; + virDrvDomainSnapshotCreate domainSnapshotCreate; + virDrvDomainSnapshotApply domainSnapshotApply; + virDrvDomainSnapshotDelete domainSnapshotDelete; @@ -233,11 +233,11 @@ Index: libvirt-0.7.2/src/driver.h }; typedef int -Index: libvirt-0.7.2/src/xen/xen_driver.c +Index: libvirt-0.7.4/src/xen/xen_driver.c =================================================================== ---- libvirt-0.7.2.orig/src/xen/xen_driver.c -+++ libvirt-0.7.2/src/xen/xen_driver.c -@@ -955,6 +955,81 @@ xenUnifiedDomainRestore (virConnectPtr c +--- libvirt-0.7.4.orig/src/xen/xen_driver.c ++++ libvirt-0.7.4/src/xen/xen_driver.c +@@ -1052,6 +1052,81 @@ xenUnifiedDomainRestore (virConnectPtr c } static int @@ -319,10 +319,10 @@ Index: libvirt-0.7.2/src/xen/xen_driver.c xenUnifiedDomainCoreDump (virDomainPtr dom, const char *to, int flags) { GET_PRIVATE(dom->conn); -@@ -1726,6 +1801,11 @@ static virDriver xenUnifiedDriver = { - xenUnifiedNodeDeviceReAttach, /* nodeDeviceReAttach */ - xenUnifiedNodeDeviceReset, /* nodeDeviceReset */ - NULL, /* domainMigratePrepareTunnel */ +@@ -1860,6 +1935,11 @@ static virDriver xenUnifiedDriver = { + xenUnifiedIsSecure, + xenUnifiedDomainIsActive, + xenUnifiedDomainisPersistent, + xenUnifiedDomainSnapshotCreate, + xenUnifiedDomainSnapshotApply, + xenUnifiedDomainSnapshotDelete, @@ -331,11 +331,11 @@ Index: libvirt-0.7.2/src/xen/xen_driver.c }; /** -Index: libvirt-0.7.2/src/xen/xen_driver.h +Index: libvirt-0.7.4/src/xen/xen_driver.h =================================================================== ---- libvirt-0.7.2.orig/src/xen/xen_driver.h -+++ libvirt-0.7.2/src/xen/xen_driver.h -@@ -98,6 +98,11 @@ struct xenUnifiedDriver { +--- libvirt-0.7.4.orig/src/xen/xen_driver.h ++++ libvirt-0.7.4/src/xen/xen_driver.h +@@ -100,6 +100,11 @@ struct xenUnifiedDriver { virDrvDomainGetSchedulerType domainGetSchedulerType; virDrvDomainGetSchedulerParameters domainGetSchedulerParameters; virDrvDomainSetSchedulerParameters domainSetSchedulerParameters; @@ -347,10 +347,10 @@ Index: libvirt-0.7.2/src/xen/xen_driver.h }; typedef struct xenXMConfCache *xenXMConfCachePtr; -Index: libvirt-0.7.2/src/xen/xend_internal.c +Index: libvirt-0.7.4/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.4.orig/src/xen/xend_internal.c ++++ libvirt-0.7.4/src/xen/xend_internal.c @@ -53,6 +53,12 @@ #ifndef PROXY @@ -364,7 +364,7 @@ Index: libvirt-0.7.2/src/xen/xend_internal.c /* * The number of Xen scheduler parameters */ -@@ -3257,6 +3263,87 @@ xenDaemonDomainRestore(virConnectPtr con +@@ -3271,6 +3277,87 @@ xenDaemonDomainRestore(virConnectPtr con } return xend_op(conn, "", "op", "restore", "file", filename, NULL); } @@ -452,7 +452,7 @@ Index: libvirt-0.7.2/src/xen/xend_internal.c #endif /* !PROXY */ /** -@@ -5082,6 +5169,11 @@ struct xenUnifiedDriver xenDaemonDriver +@@ -5123,6 +5210,11 @@ struct xenUnifiedDriver xenDaemonDriver xenDaemonGetSchedulerType, /* domainGetSchedulerType */ xenDaemonGetSchedulerParameters, /* domainGetSchedulerParameters */ xenDaemonSetSchedulerParameters, /* domainSetSchedulerParameters */ @@ -464,11 +464,11 @@ Index: libvirt-0.7.2/src/xen/xend_internal.c }; /************************************************************************ -Index: libvirt-0.7.2/src/xen/proxy_internal.c +Index: libvirt-0.7.4/src/xen/proxy_internal.c =================================================================== ---- libvirt-0.7.2.orig/src/xen/proxy_internal.c -+++ libvirt-0.7.2/src/xen/proxy_internal.c -@@ -84,6 +84,11 @@ struct xenUnifiedDriver xenProxyDriver = +--- libvirt-0.7.4.orig/src/xen/proxy_internal.c ++++ libvirt-0.7.4/src/xen/proxy_internal.c +@@ -83,6 +83,11 @@ struct xenUnifiedDriver xenProxyDriver = NULL, /* domainGetSchedulerType */ NULL, /* domainGetSchedulerParameters */ NULL, /* domainSetSchedulerParameters */ @@ -480,11 +480,11 @@ Index: libvirt-0.7.2/src/xen/proxy_internal.c }; -Index: libvirt-0.7.2/src/xen/xen_hypervisor.c +Index: libvirt-0.7.4/src/xen/xen_hypervisor.c =================================================================== ---- libvirt-0.7.2.orig/src/xen/xen_hypervisor.c -+++ libvirt-0.7.2/src/xen/xen_hypervisor.c -@@ -742,6 +742,11 @@ struct xenUnifiedDriver xenHypervisorDri +--- libvirt-0.7.4.orig/src/xen/xen_hypervisor.c ++++ libvirt-0.7.4/src/xen/xen_hypervisor.c +@@ -750,6 +750,11 @@ struct xenUnifiedDriver xenHypervisorDri xenHypervisorGetSchedulerType, /* domainGetSchedulerType */ xenHypervisorGetSchedulerParameters, /* domainGetSchedulerParameters */ xenHypervisorSetSchedulerParameters, /* domainSetSchedulerParameters */ @@ -496,10 +496,10 @@ Index: libvirt-0.7.2/src/xen/xen_hypervisor.c }; #endif /* !PROXY */ -Index: libvirt-0.7.2/src/xen/xm_internal.c +Index: libvirt-0.7.4/src/xen/xm_internal.c =================================================================== ---- libvirt-0.7.2.orig/src/xen/xm_internal.c -+++ libvirt-0.7.2/src/xen/xm_internal.c +--- libvirt-0.7.4.orig/src/xen/xm_internal.c ++++ libvirt-0.7.4/src/xen/xm_internal.c @@ -116,6 +116,11 @@ struct xenUnifiedDriver xenXMDriver = { NULL, /* domainGetSchedulerType */ NULL, /* domainGetSchedulerParameters */ @@ -512,10 +512,10 @@ Index: libvirt-0.7.2/src/xen/xm_internal.c }; #define xenXMError(conn, code, fmt...) \ -Index: libvirt-0.7.2/src/xen/xs_internal.c +Index: libvirt-0.7.4/src/xen/xs_internal.c =================================================================== ---- libvirt-0.7.2.orig/src/xen/xs_internal.c -+++ libvirt-0.7.2/src/xen/xs_internal.c +--- libvirt-0.7.4.orig/src/xen/xs_internal.c ++++ libvirt-0.7.4/src/xen/xs_internal.c @@ -83,6 +83,11 @@ struct xenUnifiedDriver xenStoreDriver = NULL, /* domainGetSchedulerType */ NULL, /* domainGetSchedulerParameters */ @@ -528,11 +528,11 @@ Index: libvirt-0.7.2/src/xen/xs_internal.c }; #endif /* ! PROXY */ -Index: libvirt-0.7.2/tools/virsh.c +Index: libvirt-0.7.4/tools/virsh.c =================================================================== ---- libvirt-0.7.2.orig/tools/virsh.c -+++ libvirt-0.7.2/tools/virsh.c -@@ -1168,6 +1168,188 @@ cmdSave(vshControl *ctl, const vshCmd *c +--- libvirt-0.7.4.orig/tools/virsh.c ++++ libvirt-0.7.4/tools/virsh.c +@@ -1179,6 +1179,188 @@ cmdSave(vshControl *ctl, const vshCmd *c } /* @@ -721,7 +721,7 @@ Index: libvirt-0.7.2/tools/virsh.c * "schedinfo" command */ static const vshCmdInfo info_schedinfo[] = { -@@ -7273,6 +7455,12 @@ static const vshCmdDef commands[] = { +@@ -7298,6 +7480,12 @@ static const vshCmdDef commands[] = { {"undefine", cmdUndefine, opts_undefine, info_undefine}, {"uri", cmdURI, NULL, info_uri}, @@ -734,14 +734,14 @@ Index: libvirt-0.7.2/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.2/src/lxc/lxc_driver.c +Index: libvirt-0.7.4/src/lxc/lxc_driver.c =================================================================== ---- libvirt-0.7.2.orig/src/lxc/lxc_driver.c -+++ libvirt-0.7.2/src/lxc/lxc_driver.c -@@ -2324,6 +2324,11 @@ static virDriver lxcDriver = { - NULL, /* nodeDeviceReAttach */ - NULL, /* nodeDeviceReset */ - NULL, /* domainMigratePrepareTunnel */ +--- libvirt-0.7.4.orig/src/lxc/lxc_driver.c ++++ libvirt-0.7.4/src/lxc/lxc_driver.c +@@ -2404,6 +2404,11 @@ static virDriver lxcDriver = { + lxcIsSecure, + lxcDomainIsActive, + lxcDomainIsPersistent, + NULL, /* domainSnapshotCreate */ + NULL, /* domainSnapshotApply */ + NULL, /* domainSnapshotDelete */ @@ -750,14 +750,14 @@ Index: libvirt-0.7.2/src/lxc/lxc_driver.c }; static virStateDriver lxcStateDriver = { -Index: libvirt-0.7.2/src/openvz/openvz_driver.c +Index: libvirt-0.7.4/src/openvz/openvz_driver.c =================================================================== ---- libvirt-0.7.2.orig/src/openvz/openvz_driver.c -+++ libvirt-0.7.2/src/openvz/openvz_driver.c -@@ -1433,6 +1433,11 @@ static virDriver openvzDriver = { - NULL, /* nodeDeviceReAttach */ - NULL, /* nodeDeviceReset */ - NULL, /* domainMigratePrepareTunnel */ +--- libvirt-0.7.4.orig/src/openvz/openvz_driver.c ++++ libvirt-0.7.4/src/openvz/openvz_driver.c +@@ -1534,6 +1534,11 @@ static virDriver openvzDriver = { + openvzIsSecure, + openvzDomainIsActive, + openvzDomainIsPersistent, + NULL, /* domainSnapshotCreate */ + NULL, /* domainSnapshotApply */ + NULL, /* domainSnapshotDelete */ @@ -766,14 +766,14 @@ Index: libvirt-0.7.2/src/openvz/openvz_driver.c }; int openvzRegister(void) { -Index: libvirt-0.7.2/src/qemu/qemu_driver.c +Index: libvirt-0.7.4/src/qemu/qemu_driver.c =================================================================== ---- libvirt-0.7.2.orig/src/qemu/qemu_driver.c -+++ libvirt-0.7.2/src/qemu/qemu_driver.c -@@ -7136,6 +7136,11 @@ static virDriver qemuDriver = { - qemudNodeDeviceReAttach, /* nodeDeviceReAttach */ - qemudNodeDeviceReset, /* nodeDeviceReset */ - qemudDomainMigratePrepareTunnel, /* domainMigratePrepareTunnel */ +--- libvirt-0.7.4.orig/src/qemu/qemu_driver.c ++++ libvirt-0.7.4/src/qemu/qemu_driver.c +@@ -7559,6 +7559,11 @@ static virDriver qemuDriver = { + qemuIsSecure, + qemuDomainIsActive, + qemuDomainIsPersistent, + NULL, /* domainSnapshotCreate */ + NULL, /* domainSnapshotApply */ + NULL, /* domainSnapshotDelete */ @@ -782,14 +782,14 @@ Index: libvirt-0.7.2/src/qemu/qemu_driver.c }; -Index: libvirt-0.7.2/src/esx/esx_driver.c +Index: libvirt-0.7.4/src/esx/esx_driver.c =================================================================== ---- libvirt-0.7.2.orig/src/esx/esx_driver.c -+++ libvirt-0.7.2/src/esx/esx_driver.c -@@ -3275,6 +3275,11 @@ static virDriver esxDriver = { - NULL, /* nodeDeviceReAttach */ - NULL, /* nodeDeviceReset */ - NULL, /* domainMigratePrepareTunnel */ +--- libvirt-0.7.4.orig/src/esx/esx_driver.c ++++ libvirt-0.7.4/src/esx/esx_driver.c +@@ -3425,6 +3425,11 @@ static virDriver esxDriver = { + esxIsSecure, /* isSecure */ + esxDomainIsActive, /* domainIsActive */ + esxDomainIsPersistent, /* domainIsPersistent */ + NULL, /* domainSnapshotCreate */ + NULL, /* domainSnapshotApply */ + NULL, /* domainSnapshotDelete */ @@ -798,14 +798,14 @@ Index: libvirt-0.7.2/src/esx/esx_driver.c }; -Index: libvirt-0.7.2/src/test/test_driver.c +Index: libvirt-0.7.4/src/test/test_driver.c =================================================================== ---- libvirt-0.7.2.orig/src/test/test_driver.c -+++ libvirt-0.7.2/src/test/test_driver.c -@@ -4558,6 +4558,11 @@ static virDriver testDriver = { - NULL, /* nodeDeviceReAttach */ - NULL, /* nodeDeviceReset */ - NULL, /* domainMigratePrepareTunnel */ +--- libvirt-0.7.4.orig/src/test/test_driver.c ++++ libvirt-0.7.4/src/test/test_driver.c +@@ -5233,6 +5233,11 @@ static virDriver testDriver = { + testIsSecure, /* isEncrypted */ + testDomainIsActive, /* domainIsActive */ + testDomainIsPersistent, /* domainIsPersistent */ + NULL, /* domainSnapshotCreate */ + NULL, /* domainSnapshotApply */ + NULL, /* domainSnapshotDelete */ @@ -814,14 +814,14 @@ Index: libvirt-0.7.2/src/test/test_driver.c }; static virNetworkDriver testNetworkDriver = { -Index: libvirt-0.7.2/src/uml/uml_driver.c +Index: libvirt-0.7.4/src/uml/uml_driver.c =================================================================== ---- libvirt-0.7.2.orig/src/uml/uml_driver.c -+++ libvirt-0.7.2/src/uml/uml_driver.c -@@ -1862,6 +1862,11 @@ static virDriver umlDriver = { - NULL, /* nodeDeviceReAttach */ - NULL, /* nodeDeviceReset */ - NULL, /* domainMigratePrepareTunnel */ +--- libvirt-0.7.4.orig/src/uml/uml_driver.c ++++ libvirt-0.7.4/src/uml/uml_driver.c +@@ -1888,6 +1888,11 @@ static virDriver umlDriver = { + umlIsSecure, + umlDomainIsActive, + umlDomainIsPersistent, + NULL, /* domainSnapshotCreate */ + NULL, /* domainSnapshotApply */ + NULL, /* domainSnapshotDelete */ @@ -830,14 +830,14 @@ Index: libvirt-0.7.2/src/uml/uml_driver.c }; -Index: libvirt-0.7.2/src/vbox/vbox_tmpl.c +Index: libvirt-0.7.4/src/vbox/vbox_tmpl.c =================================================================== ---- libvirt-0.7.2.orig/src/vbox/vbox_tmpl.c -+++ libvirt-0.7.2/src/vbox/vbox_tmpl.c -@@ -6468,6 +6468,11 @@ virDriver NAME(Driver) = { - NULL, /* nodeDeviceReAttach */ - NULL, /* nodeDeviceReset */ - NULL, /* domainMigratePrepareTunnel */ +--- libvirt-0.7.4.orig/src/vbox/vbox_tmpl.c ++++ libvirt-0.7.4/src/vbox/vbox_tmpl.c +@@ -6571,6 +6571,11 @@ virDriver NAME(Driver) = { + vboxIsSecure, + vboxDomainIsActive, + vboxDomainIsPersistent, + NULL, /* domainSnapshotCreate */ + NULL, /* domainSnapshotApply */ + NULL, /* domainSnapshotDelete */ @@ -846,14 +846,14 @@ Index: libvirt-0.7.2/src/vbox/vbox_tmpl.c }; virNetworkDriver NAME(NetworkDriver) = { -Index: libvirt-0.7.2/src/opennebula/one_driver.c +Index: libvirt-0.7.4/src/opennebula/one_driver.c =================================================================== ---- libvirt-0.7.2.orig/src/opennebula/one_driver.c -+++ libvirt-0.7.2/src/opennebula/one_driver.c -@@ -788,6 +788,11 @@ static virDriver oneDriver = { - NULL, /* nodeDeviceReAttach; */ - NULL, /* nodeDeviceReset; */ - NULL, /* domainMigratePrepareTunnel */ +--- libvirt-0.7.4.orig/src/opennebula/one_driver.c ++++ libvirt-0.7.4/src/opennebula/one_driver.c +@@ -781,6 +781,11 @@ static virDriver oneDriver = { + oneIsSecure, + NULL, /* domainIsActive */ + NULL, /* domainIsPersistent */ + NULL, /* domainSnapshotCreate */ + NULL, /* domainSnapshotApply */ + NULL, /* domainSnapshotDelete */ @@ -862,14 +862,14 @@ Index: libvirt-0.7.2/src/opennebula/one_driver.c }; static virStateDriver oneStateDriver = { -Index: libvirt-0.7.2/src/phyp/phyp_driver.c +Index: libvirt-0.7.4/src/phyp/phyp_driver.c =================================================================== ---- libvirt-0.7.2.orig/src/phyp/phyp_driver.c -+++ libvirt-0.7.2/src/phyp/phyp_driver.c -@@ -1378,6 +1378,11 @@ virDriver phypDriver = { - NULL, /* nodeDeviceReAttach */ - NULL, /* nodeDeviceReset */ - NULL, /* domainMigratePrepareTunnel */ +--- libvirt-0.7.4.orig/src/phyp/phyp_driver.c ++++ libvirt-0.7.4/src/phyp/phyp_driver.c +@@ -1650,6 +1650,11 @@ virDriver phypDriver = { + phypIsSecure, + NULL, /* domainIsActive */ + NULL, /* domainIsPersistent */ + NULL, /* domainSnapshotCreate */ + NULL, /* domainSnapshotApply */ + NULL, /* domainSnapshotDelete */ @@ -878,14 +878,14 @@ Index: libvirt-0.7.2/src/phyp/phyp_driver.c }; int -Index: libvirt-0.7.2/src/remote/remote_driver.c +Index: libvirt-0.7.4/src/remote/remote_driver.c =================================================================== ---- libvirt-0.7.2.orig/src/remote/remote_driver.c -+++ libvirt-0.7.2/src/remote/remote_driver.c -@@ -8466,6 +8466,11 @@ static virDriver remote_driver = { - remoteNodeDeviceReAttach, /* nodeDeviceReAttach */ - remoteNodeDeviceReset, /* nodeDeviceReset */ - remoteDomainMigratePrepareTunnel, /* domainMigratePrepareTunnel */ +--- libvirt-0.7.4.orig/src/remote/remote_driver.c ++++ libvirt-0.7.4/src/remote/remote_driver.c +@@ -8847,6 +8847,11 @@ static virDriver remote_driver = { + remoteIsSecure, /* isSecure */ + remoteDomainIsActive, /* domainIsActive */ + remoteDomainIsPersistent, /* domainIsPersistent */ + NULL, /* domainSnapshotCreate */ + NULL, /* domainSnapshotApply */ + NULL, /* domainSnapshotDelete */ @@ -894,11 +894,11 @@ Index: libvirt-0.7.2/src/remote/remote_driver.c }; static virNetworkDriver network_driver = { -Index: libvirt-0.7.2/docs/libvirt-api.xml +Index: libvirt-0.7.4/docs/libvirt-api.xml =================================================================== ---- libvirt-0.7.2.orig/docs/libvirt-api.xml -+++ libvirt-0.7.2/docs/libvirt-api.xml -@@ -262,6 +262,11 @@ +--- libvirt-0.7.4.orig/docs/libvirt-api.xml ++++ libvirt-0.7.4/docs/libvirt-api.xml +@@ -271,6 +271,11 @@ @@ -910,7 +910,7 @@ Index: libvirt-0.7.2/docs/libvirt-api.xml -@@ -1817,6 +1822,36 @@ This function may requires privileged ac +@@ -1878,6 +1883,36 @@ This function may requires privileged ac @@ -947,10 +947,10 @@ Index: libvirt-0.7.2/docs/libvirt-api.xml -Index: libvirt-0.7.2/src/libvirt_public.syms +Index: libvirt-0.7.4/src/libvirt_public.syms =================================================================== ---- libvirt-0.7.2.orig/src/libvirt_public.syms -+++ libvirt-0.7.2/src/libvirt_public.syms +--- libvirt-0.7.4.orig/src/libvirt_public.syms ++++ libvirt-0.7.4/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.2/src/libvirt_public.syms } LIBVIRT_0.4.2; LIBVIRT_0.5.0 { -Index: libvirt-0.7.2/python/generator.py +Index: libvirt-0.7.4/python/generator.py =================================================================== ---- libvirt-0.7.2.orig/python/generator.py -+++ libvirt-0.7.2/python/generator.py -@@ -286,6 +286,7 @@ skip_impl = ( +--- libvirt-0.7.4.orig/python/generator.py ++++ libvirt-0.7.4/python/generator.py +@@ -287,6 +287,7 @@ skip_impl = ( 'virDomainSetSchedulerParameters', 'virDomainGetVcpus', 'virDomainPinVcpu', @@ -975,11 +975,11 @@ Index: libvirt-0.7.2/python/generator.py 'virSecretGetValue', 'virSecretSetValue', 'virSecretGetUUID', -Index: libvirt-0.7.2/python/libvirt-override.c +Index: libvirt-0.7.4/python/libvirt-override.c =================================================================== ---- libvirt-0.7.2.orig/python/libvirt-override.c -+++ libvirt-0.7.2/python/libvirt-override.c -@@ -1375,6 +1375,34 @@ libvirt_virStoragePoolGetInfo(PyObject * +--- libvirt-0.7.4.orig/python/libvirt-override.c ++++ libvirt-0.7.4/python/libvirt-override.c +@@ -1400,6 +1400,34 @@ libvirt_virStoragePoolGetInfo(PyObject * return(py_retval); } @@ -1014,7 +1014,7 @@ Index: libvirt-0.7.2/python/libvirt-override.c static PyObject * libvirt_virStorageVolGetInfo(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) { -@@ -2425,6 +2453,7 @@ static PyMethodDef libvirtMethods[] = { +@@ -2557,6 +2585,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.2/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.2/python/libvirt-override-api.xml +Index: libvirt-0.7.4/python/libvirt-override-api.xml =================================================================== ---- libvirt-0.7.2.orig/python/libvirt-override-api.xml -+++ libvirt-0.7.2/python/libvirt-override-api.xml -@@ -135,6 +135,11 @@ +--- libvirt-0.7.4.orig/python/libvirt-override-api.xml ++++ libvirt-0.7.4/python/libvirt-override-api.xml +@@ -140,6 +140,11 @@ @@ -1038,11 +1038,11 @@ Index: libvirt-0.7.2/python/libvirt-override-api.xml list the storage pools, stores the pointers to the names in @names -Index: libvirt-0.7.2/src/xen/xen_inotify.c +Index: libvirt-0.7.4/src/xen/xen_inotify.c =================================================================== ---- libvirt-0.7.2.orig/src/xen/xen_inotify.c -+++ libvirt-0.7.2/src/xen/xen_inotify.c -@@ -88,6 +88,11 @@ struct xenUnifiedDriver xenInotifyDriver +--- libvirt-0.7.4.orig/src/xen/xen_inotify.c ++++ libvirt-0.7.4/src/xen/xen_inotify.c +@@ -86,6 +86,11 @@ struct xenUnifiedDriver xenInotifyDriver NULL, /* domainGetSchedulerType */ NULL, /* domainGetSchedulerParameters */ NULL, /* domainSetSchedulerParameters */ diff --git a/socat.patch b/socat.patch index de709b7..f1d9c14 100644 --- a/socat.patch +++ b/socat.patch @@ -1,8 +1,8 @@ -Index: libvirt-0.7.2/src/remote/remote_driver.c +Index: libvirt-0.7.4/src/remote/remote_driver.c =================================================================== ---- libvirt-0.7.2.orig/src/remote/remote_driver.c -+++ libvirt-0.7.2/src/remote/remote_driver.c -@@ -760,12 +760,29 @@ doRemoteOpen (virConnectPtr conn, +--- libvirt-0.7.4.orig/src/remote/remote_driver.c ++++ libvirt-0.7.4/src/remote/remote_driver.c +@@ -763,12 +763,29 @@ doRemoteOpen (virConnectPtr conn, cmd_argv[j++] = strdup ("none"); } cmd_argv[j++] = strdup (priv->hostname); diff --git a/suse-network.patch b/suse-network.patch index 9e9767f..5a1146c 100644 --- a/suse-network.patch +++ b/suse-network.patch @@ -1,8 +1,8 @@ -Index: libvirt-0.7.2/src/conf/network_conf.c +Index: libvirt-0.7.4/src/conf/network_conf.c =================================================================== ---- libvirt-0.7.2.orig/src/conf/network_conf.c -+++ libvirt-0.7.2/src/conf/network_conf.c -@@ -824,6 +824,137 @@ error: +--- libvirt-0.7.4.orig/src/conf/network_conf.c ++++ libvirt-0.7.4/src/conf/network_conf.c +@@ -865,6 +865,137 @@ error: return NULL; } @@ -140,7 +140,7 @@ Index: libvirt-0.7.2/src/conf/network_conf.c int virNetworkLoadAllConfigs(virConnectPtr conn, virNetworkObjListPtr nets, const char *configDir, -@@ -863,6 +994,7 @@ int virNetworkLoadAllConfigs(virConnectP +@@ -904,6 +1035,7 @@ int virNetworkLoadAllConfigs(virConnectP closedir(dir); @@ -148,11 +148,11 @@ Index: libvirt-0.7.2/src/conf/network_conf.c return 0; } -Index: libvirt-0.7.2/src/conf/network_conf.h +Index: libvirt-0.7.4/src/conf/network_conf.h =================================================================== ---- libvirt-0.7.2.orig/src/conf/network_conf.h -+++ libvirt-0.7.2/src/conf/network_conf.h -@@ -92,6 +92,7 @@ struct _virNetworkObj { +--- libvirt-0.7.4.orig/src/conf/network_conf.h ++++ libvirt-0.7.4/src/conf/network_conf.h +@@ -94,6 +94,7 @@ struct _virNetworkObj { unsigned int active : 1; unsigned int autostart : 1; unsigned int persistent : 1; @@ -160,11 +160,11 @@ Index: libvirt-0.7.2/src/conf/network_conf.h virNetworkDefPtr def; /* The current definition */ virNetworkDefPtr newDef; /* New definition to activate at shutdown */ -Index: libvirt-0.7.2/src/network/bridge_driver.c +Index: libvirt-0.7.4/src/network/bridge_driver.c =================================================================== ---- libvirt-0.7.2.orig/src/network/bridge_driver.c -+++ libvirt-0.7.2/src/network/bridge_driver.c -@@ -977,6 +977,11 @@ static int networkShutdownNetworkDaemon( +--- libvirt-0.7.4.orig/src/network/bridge_driver.c ++++ libvirt-0.7.4/src/network/bridge_driver.c +@@ -994,6 +994,11 @@ static int networkShutdownNetworkDaemon( unlink(stateFile); VIR_FREE(stateFile); @@ -176,7 +176,7 @@ Index: libvirt-0.7.2/src/network/bridge_driver.c if (network->dnsmasqPid > 0) kill(network->dnsmasqPid, SIGTERM); -@@ -1433,6 +1438,12 @@ static int networkSetAutostart(virNetwor +@@ -1494,6 +1499,12 @@ static int networkSetAutostart(virNetwor goto cleanup; } diff --git a/virsh-warning.patch b/virsh-warning.patch deleted file mode 100644 index 69da082..0000000 --- a/virsh-warning.patch +++ /dev/null @@ -1,19 +0,0 @@ -commit edea3dfdd861d5eee4712da43781908f0fa2a6d5 -Author: Jim Fehlig -Date: Mon Oct 19 13:53:40 2009 -0600 - - Remove extra arg in call to vshError() - -Index: libvirt-0.7.2/tools/virsh.c -=================================================================== ---- libvirt-0.7.2.orig/tools/virsh.c -+++ libvirt-0.7.2/tools/virsh.c -@@ -2510,7 +2510,7 @@ cmdMigrate (vshControl *ctl, const vshCm - * a libvirt URI, or a hypervisor specific URI. */ - - if (migrateuri != NULL) { -- vshError(ctl, FALSE, "%s", _("migrate: Unexpected migrateuri for peer2peer/direct migration")); -+ vshError(ctl, "%s", _("migrate: Unexpected migrateuri for peer2peer/direct migration")); - goto done; - } - diff --git a/xen-list-defined.patch b/xen-list-defined.patch new file mode 100644 index 0000000..8b5cc01 --- /dev/null +++ b/xen-list-defined.patch @@ -0,0 +1,36 @@ +commit 7cfbb17978c467625afab866b7a22119789abee0 +Author: Matthias Bolte +Date: Thu Nov 26 00:09:40 2009 +0100 + + xen: Fix unconditional freeing in xenDaemonListDefinedDomains() + + Commit 790f0b3057787bb64da8c46c111ff8d3eff7b2af causes the contents of + the names array to be freed even on success, resulting in no listing of + defined but inactive Xen domains. + + Spotted by Jim Fehlig + +diff --git a/src/xen/xend_internal.c b/src/xen/xend_internal.c +index e370eb8..4d9dcd1 100644 +--- a/src/xen/xend_internal.c ++++ b/src/xen/xend_internal.c +@@ -4696,12 +4696,17 @@ xenDaemonListDefinedDomains(virConnectPtr conn, char **const names, int maxnames + break; + } + ++cleanup: ++ sexpr_free(root); ++ return(ret); ++ + error: + for (i = 0; i < ret; ++i) + VIR_FREE(names[i]); + +- sexpr_free(root); +- return(ret); ++ ret = -1; ++ ++ goto cleanup; + } + + /** diff --git a/xen-pv-cdrom.patch b/xen-pv-cdrom.patch index 3188ac7..87e6ca6 100644 --- a/xen-pv-cdrom.patch +++ b/xen-pv-cdrom.patch @@ -1,8 +1,8 @@ -Index: libvirt-0.7.2/src/xen/xend_internal.c +Index: libvirt-0.7.4/src/xen/xend_internal.c =================================================================== ---- libvirt-0.7.2.orig/src/xen/xend_internal.c -+++ libvirt-0.7.2/src/xen/xend_internal.c -@@ -5324,7 +5324,10 @@ xenDaemonFormatSxprDisk(virConnectPtr co +--- libvirt-0.7.4.orig/src/xen/xend_internal.c ++++ libvirt-0.7.4/src/xen/xend_internal.c +@@ -5365,7 +5365,10 @@ xenDaemonFormatSxprDisk(virConnectPtr co } else if (def->device == VIR_DOMAIN_DISK_DEVICE_CDROM) { virBufferVSprintf(buf, "(dev '%s:cdrom')", def->dst); } else { diff --git a/xend-description-tag.patch b/xend-description-tag.patch new file mode 100644 index 0000000..cd0ef24 --- /dev/null +++ b/xend-description-tag.patch @@ -0,0 +1,36 @@ +From acba9b620128c4dcdbb95a1ea06604f3013a0518 Mon Sep 17 00:00:00 2001 +From: Jim Fehlig +Date: Mon, 7 Dec 2009 14:24:21 -0700 +Subject: [PATCH] Plumb domain description tag in xend backend + +xen-unstable changesets 20321 and 20521 added support for +description in xend domain config. This patch extends that +support in xend backend. +--- + src/xen/xend_internal.c | 6 ++++++ + 1 files changed, 6 insertions(+), 0 deletions(-) + +Index: libvirt-0.7.4/src/xen/xend_internal.c +=================================================================== +--- libvirt-0.7.4.orig/src/xen/xend_internal.c ++++ libvirt-0.7.4/src/xen/xend_internal.c +@@ -2360,6 +2360,9 @@ xenDaemonParseSxpr(virConnectPtr conn, + } + virUUIDParse(tmp, def->uuid); + ++ if (sexpr_node_copy(root, "domain/description", &def->description) < 0) ++ goto no_memory; ++ + hvm = sexpr_lookup(root, "domain/image/hvm") ? 1 : 0; + if (!hvm) { + if (sexpr_node_copy(root, "domain/bootloader", +@@ -5676,6 +5679,9 @@ xenDaemonFormatSxpr(virConnectPtr conn, + virUUIDFormat(def->uuid, uuidstr); + virBufferVSprintf(&buf, "(uuid '%s')", uuidstr); + ++ if (def->description) ++ virBufferVSprintf(&buf, "(description '%s')", def->description); ++ + if (def->os.bootloader) { + if (def->os.bootloader[0]) + virBufferVSprintf(&buf, "(bootloader '%s')", def->os.bootloader);