forked from pool/libvirt
This commit is contained in:
parent
6ba690802b
commit
4a6373529e
10
clone.patch
10
clone.patch
@ -2,7 +2,7 @@ Index: src/lxc_container.c
|
||||
===================================================================
|
||||
--- src/lxc_container.c.orig
|
||||
+++ src/lxc_container.c
|
||||
@@ -603,6 +603,9 @@ int lxcContainerStart(virDomainDefPtr de
|
||||
@@ -617,6 +617,9 @@ int lxcContainerStart(virDomainDefPtr de
|
||||
lxc_child_argv_t args = { def, nveths, veths, control, ttyPath };
|
||||
|
||||
/* allocate a stack for the container */
|
||||
@ -10,9 +10,9 @@ Index: src/lxc_container.c
|
||||
+ stacksize *= 2;
|
||||
+#endif
|
||||
if (VIR_ALLOC_N(stack, stacksize) < 0) {
|
||||
lxcError(NULL, NULL, VIR_ERR_NO_MEMORY, NULL);
|
||||
virReportOOMError(NULL);
|
||||
return -1;
|
||||
@@ -614,7 +617,11 @@ int lxcContainerStart(virDomainDefPtr de
|
||||
@@ -628,7 +631,11 @@ int lxcContainerStart(virDomainDefPtr de
|
||||
if (def->nets != NULL)
|
||||
flags |= CLONE_NEWNET;
|
||||
|
||||
@ -24,7 +24,7 @@ Index: src/lxc_container.c
|
||||
VIR_FREE(stack);
|
||||
DEBUG("clone() returned, %d", pid);
|
||||
|
||||
@@ -640,18 +647,26 @@ int lxcContainerAvailable(int features)
|
||||
@@ -654,18 +661,26 @@ int lxcContainerAvailable(int features)
|
||||
char *childStack;
|
||||
char *stack;
|
||||
int childStatus;
|
||||
@ -52,4 +52,4 @@ Index: src/lxc_container.c
|
||||
+#endif
|
||||
VIR_FREE(stack);
|
||||
if (cpid < 0) {
|
||||
DEBUG("clone call returned %s, container support is not enabled",
|
||||
char ebuf[1024];
|
||||
|
@ -1,152 +0,0 @@
|
||||
diff --git a/src/libvirt.c b/src/libvirt.c
|
||||
--- a/src/libvirt.c
|
||||
+++ b/src/libvirt.c
|
||||
@@ -2296,6 +2296,16 @@ virDomainMigrate (virDomainPtr domain,
|
||||
conn = domain->conn; /* Source connection. */
|
||||
if (!VIR_IS_CONNECT (dconn)) {
|
||||
virLibConnError (conn, VIR_ERR_INVALID_CONN, __FUNCTION__);
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
+ if (domain->conn->flags & VIR_CONNECT_RO) {
|
||||
+ virLibDomainError(domain, VIR_ERR_OPERATION_DENIED, __FUNCTION__);
|
||||
+ return NULL;
|
||||
+ }
|
||||
+ if (dconn->flags & VIR_CONNECT_RO) {
|
||||
+ /* NB, delibrately report error against source object, not dest here */
|
||||
+ virLibDomainError(domain, VIR_ERR_OPERATION_DENIED, __FUNCTION__);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -2426,6 +2436,11 @@ virDomainMigratePrepare (virConnectPtr d
|
||||
return -1;
|
||||
}
|
||||
|
||||
+ if (dconn->flags & VIR_CONNECT_RO) {
|
||||
+ virLibConnError(dconn, VIR_ERR_OPERATION_DENIED, __FUNCTION__);
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
if (dconn->driver->domainMigratePrepare)
|
||||
return dconn->driver->domainMigratePrepare (dconn, cookie, cookielen,
|
||||
uri_in, uri_out,
|
||||
@@ -2457,6 +2472,11 @@ virDomainMigratePerform (virDomainPtr do
|
||||
}
|
||||
conn = domain->conn;
|
||||
|
||||
+ if (domain->conn->flags & VIR_CONNECT_RO) {
|
||||
+ virLibDomainError(domain, VIR_ERR_OPERATION_DENIED, __FUNCTION__);
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
if (conn->driver->domainMigratePerform)
|
||||
return conn->driver->domainMigratePerform (domain, cookie, cookielen,
|
||||
uri,
|
||||
@@ -2482,6 +2502,11 @@ virDomainMigrateFinish (virConnectPtr dc
|
||||
|
||||
if (!VIR_IS_CONNECT (dconn)) {
|
||||
virLibConnError (NULL, VIR_ERR_INVALID_CONN, __FUNCTION__);
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
+ if (dconn->flags & VIR_CONNECT_RO) {
|
||||
+ virLibConnError(dconn, VIR_ERR_OPERATION_DENIED, __FUNCTION__);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -2517,6 +2542,11 @@ virDomainMigratePrepare2 (virConnectPtr
|
||||
return -1;
|
||||
}
|
||||
|
||||
+ if (dconn->flags & VIR_CONNECT_RO) {
|
||||
+ virLibConnError(dconn, VIR_ERR_OPERATION_DENIED, __FUNCTION__);
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
if (dconn->driver->domainMigratePrepare2)
|
||||
return dconn->driver->domainMigratePrepare2 (dconn, cookie, cookielen,
|
||||
uri_in, uri_out,
|
||||
@@ -2547,6 +2577,11 @@ virDomainMigrateFinish2 (virConnectPtr d
|
||||
return NULL;
|
||||
}
|
||||
|
||||
+ if (dconn->flags & VIR_CONNECT_RO) {
|
||||
+ virLibConnError(dconn, VIR_ERR_OPERATION_DENIED, __FUNCTION__);
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
if (dconn->driver->domainMigrateFinish2)
|
||||
return dconn->driver->domainMigrateFinish2 (dconn, dname,
|
||||
cookie, cookielen,
|
||||
@@ -2905,6 +2940,11 @@ virDomainBlockPeek (virDomainPtr dom,
|
||||
}
|
||||
conn = dom->conn;
|
||||
|
||||
+ if (dom->conn->flags & VIR_CONNECT_RO) {
|
||||
+ virLibDomainError(dom, VIR_ERR_OPERATION_DENIED, __FUNCTION__);
|
||||
+ return (-1);
|
||||
+ }
|
||||
+
|
||||
if (!path) {
|
||||
virLibDomainError (dom, VIR_ERR_INVALID_ARG,
|
||||
_("path is NULL"));
|
||||
@@ -2980,6 +3020,11 @@ virDomainMemoryPeek (virDomainPtr dom,
|
||||
}
|
||||
conn = dom->conn;
|
||||
|
||||
+ if (dom->conn->flags & VIR_CONNECT_RO) {
|
||||
+ virLibDomainError(dom, VIR_ERR_OPERATION_DENIED, __FUNCTION__);
|
||||
+ return (-1);
|
||||
+ }
|
||||
+
|
||||
/* Flags must be VIR_MEMORY_VIRTUAL at the moment.
|
||||
*
|
||||
* Note on access to physical memory: A VIR_MEMORY_PHYSICAL flag is
|
||||
@@ -3246,6 +3291,11 @@ virDomainSetAutostart(virDomainPtr domai
|
||||
}
|
||||
|
||||
conn = domain->conn;
|
||||
+
|
||||
+ if (domain->conn->flags & VIR_CONNECT_RO) {
|
||||
+ virLibDomainError(domain, VIR_ERR_OPERATION_DENIED, __FUNCTION__);
|
||||
+ return (-1);
|
||||
+ }
|
||||
|
||||
if (conn->driver->domainSetAutostart)
|
||||
return conn->driver->domainSetAutostart (domain, autostart);
|
||||
@@ -4197,6 +4247,11 @@ virNetworkSetAutostart(virNetworkPtr net
|
||||
return (-1);
|
||||
}
|
||||
|
||||
+ if (network->conn->flags & VIR_CONNECT_RO) {
|
||||
+ virLibNetworkError(network, VIR_ERR_OPERATION_DENIED, __FUNCTION__);
|
||||
+ return (-1);
|
||||
+ }
|
||||
+
|
||||
conn = network->conn;
|
||||
|
||||
if (conn->networkDriver && conn->networkDriver->networkSetAutostart)
|
||||
@@ -4395,6 +4450,11 @@ virConnectFindStoragePoolSources(virConn
|
||||
return NULL;
|
||||
}
|
||||
|
||||
+ if (conn->flags & VIR_CONNECT_RO) {
|
||||
+ virLibConnError(conn, VIR_ERR_OPERATION_DENIED, __FUNCTION__);
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
if (conn->storageDriver && conn->storageDriver->findPoolSources)
|
||||
return conn->storageDriver->findPoolSources(conn, type, srcSpec, flags);
|
||||
|
||||
@@ -5068,6 +5128,11 @@ virStoragePoolSetAutostart(virStoragePoo
|
||||
return (-1);
|
||||
}
|
||||
|
||||
+ if (pool->conn->flags & VIR_CONNECT_RO) {
|
||||
+ virLibStoragePoolError(pool, VIR_ERR_OPERATION_DENIED, __FUNCTION__);
|
||||
+ return (-1);
|
||||
+ }
|
||||
+
|
||||
conn = pool->conn;
|
||||
|
||||
if (conn->storageDriver && conn->storageDriver->poolSetAutostart)
|
@ -1,31 +1,21 @@
|
||||
Index: libvirt-0.5.1/src/xend_internal.c
|
||||
Index: libvirt-0.6.2/src/xend_internal.c
|
||||
===================================================================
|
||||
--- libvirt-0.5.1.orig/src/xend_internal.c
|
||||
+++ libvirt-0.5.1/src/xend_internal.c
|
||||
@@ -5465,11 +5465,16 @@ virDomainXMLDevID(virDomainPtr domain,
|
||||
char *xref;
|
||||
|
||||
if (dev->type == VIR_DOMAIN_DEVICE_DISK) {
|
||||
- strcpy(class, "vbd");
|
||||
if (dev->data.disk->dst == NULL)
|
||||
--- libvirt-0.6.2.orig/src/xend_internal.c
|
||||
+++ libvirt-0.6.2/src/xend_internal.c
|
||||
@@ -5829,7 +5829,7 @@ virDomainXMLDevID(virDomainPtr domain,
|
||||
return -1;
|
||||
+
|
||||
+ if (dev->data.disk->driverName &&
|
||||
+ (strcasecmp(dev->data.disk->driverName, "tap") == 0))
|
||||
+ strcpy(class, "tap");
|
||||
+ else
|
||||
+ strcpy(class, "vbd");
|
||||
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.5.1/src/xs_internal.c
|
||||
Index: libvirt-0.6.2/src/xs_internal.c
|
||||
===================================================================
|
||||
--- libvirt-0.5.1.orig/src/xs_internal.c
|
||||
+++ libvirt-0.5.1/src/xs_internal.c
|
||||
@@ -917,7 +917,8 @@ xenStoreDomainGetNetworkID(virConnectPtr
|
||||
--- libvirt-0.6.2.orig/src/xs_internal.c
|
||||
+++ libvirt-0.6.2/src/xs_internal.c
|
||||
@@ -966,7 +966,8 @@ xenStoreDomainGetNetworkID(virConnectPtr
|
||||
* freed by the caller.
|
||||
*/
|
||||
char *
|
||||
@ -35,7 +25,7 @@ Index: libvirt-0.5.1/src/xs_internal.c
|
||||
char dir[80], path[128], **list = NULL, *val = NULL;
|
||||
unsigned int devlen, len, i, num;
|
||||
char *ret = NULL;
|
||||
@@ -935,7 +936,7 @@ xenStoreDomainGetDiskID(virConnectPtr co
|
||||
@@ -984,7 +985,7 @@ xenStoreDomainGetDiskID(virConnectPtr co
|
||||
if (devlen <= 0)
|
||||
return (NULL);
|
||||
|
||||
@ -44,11 +34,11 @@ Index: libvirt-0.5.1/src/xs_internal.c
|
||||
list = xs_directory(priv->xshandle, 0, dir, &num);
|
||||
if (list != NULL) {
|
||||
for (i = 0; i < num; i++) {
|
||||
Index: libvirt-0.5.1/src/xs_internal.h
|
||||
Index: libvirt-0.6.2/src/xs_internal.h
|
||||
===================================================================
|
||||
--- libvirt-0.5.1.orig/src/xs_internal.h
|
||||
+++ libvirt-0.5.1/src/xs_internal.h
|
||||
@@ -48,7 +48,8 @@ char * xenStoreDomainGetNetworkID(virCo
|
||||
--- libvirt-0.6.2.orig/src/xs_internal.h
|
||||
+++ libvirt-0.6.2/src/xs_internal.h
|
||||
@@ -49,7 +49,8 @@ char * xenStoreDomainGetNetworkID(virCo
|
||||
const char *mac);
|
||||
char * xenStoreDomainGetDiskID(virConnectPtr conn,
|
||||
int id,
|
||||
|
@ -1,14 +0,0 @@
|
||||
Index: libvirt-0.4.6/docs/devhelp/Makefile.am
|
||||
===================================================================
|
||||
--- libvirt-0.4.6.orig/docs/devhelp/Makefile.am
|
||||
+++ libvirt-0.4.6/docs/devhelp/Makefile.am
|
||||
@@ -1,7 +1,8 @@
|
||||
DEVHELP_DIR=$(datadir)/gtk-doc/html/libvirt
|
||||
HTML_FILES=index.html general.html $(HTML_MODULES)
|
||||
HTML_MODULES= \
|
||||
- libvirt-libvirt.html
|
||||
+ libvirt-libvirt.html \
|
||||
+ libvirt-virterror.html
|
||||
|
||||
EXTRA_FORMAT= \
|
||||
home.png \
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:cc6fc1909f40667bd32574a11f4052160ed94620b79f3d5db5541f25a12429ee
|
||||
size 3778088
|
3
libvirt-0.6.2.tar.bz2
Normal file
3
libvirt-0.6.2.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:15297915384d7f9cab9b21ca7fe9c301e1574a686c4927c69ffc7e65f148e7a5
|
||||
size 4144248
|
@ -1,3 +1,29 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Apr 24 14:26:39 MDT 2009 - jfehlig@novell.com
|
||||
|
||||
- Removed unnecessary call to fillup_and_insserv macro in
|
||||
%post scriptlet
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Apr 22 17:33:01 MDT 2009 - jfehlig@novell.com
|
||||
|
||||
- Updated to version 0.6.2
|
||||
- support SASL auth for VNC server
|
||||
- memory ballooning in QEMU
|
||||
- SCSI HBA storage pool support
|
||||
- PCI passthrough in Xen driver
|
||||
- new APIs for Node device detach reattach and reset
|
||||
- sVirt mandatory access control support
|
||||
- thread safety of the API and event handling
|
||||
- allow QEmu domains to survive daemon restart
|
||||
- extended logging capabilities
|
||||
- support copy-on-write storage volumes
|
||||
- support of storage cache control options for QEMU/KVM
|
||||
- Improvements from lnussel@suse.de
|
||||
- add %jobs macro again
|
||||
- package default qemu network and augeas config files again
|
||||
- don't start libvirtd by default (bnc#496838)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Apr 20 17:01:38 CEST 2009 - crrodriguez@suse.de
|
||||
|
||||
|
98
libvirt.spec
98
libvirt.spec
@ -1,5 +1,5 @@
|
||||
#
|
||||
# spec file for package libvirt (Version 0.5.1)
|
||||
# spec file for package libvirt (Version 0.6.2)
|
||||
#
|
||||
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
#
|
||||
@ -51,8 +51,8 @@ Url: http://libvirt.org/
|
||||
License: LGPL v2.1 or later
|
||||
Group: Development/Libraries/C and C++
|
||||
AutoReqProv: yes
|
||||
Version: 0.5.1
|
||||
Release: 3
|
||||
Version: 0.6.2
|
||||
Release: 1
|
||||
Summary: A C toolkit to interract with the virtualization capabilities of Linux
|
||||
Requires: readline
|
||||
Requires: ncurses
|
||||
@ -63,6 +63,7 @@ Requires: lvm2
|
||||
Requires: parted
|
||||
#Requires: /usr/bin/qemu-img
|
||||
Recommends: cyrus-sasl-digestmd5
|
||||
Recommends: logrotate
|
||||
Requires: dnsmasq
|
||||
Requires: PolicyKit >= 0.6
|
||||
Requires: socat
|
||||
@ -79,10 +80,8 @@ Patch4: vnc-port.patch
|
||||
Patch5: xen-pv-cdrom.patch
|
||||
Patch6: detach-disk.patch
|
||||
Patch7: migrate-params.patch
|
||||
Patch8: cve-2008-5086.patch
|
||||
Patch9: devhelp.patch
|
||||
Patch10: suse-network.patch
|
||||
Patch11: snapshots.patch
|
||||
Patch8: suse-network.patch
|
||||
Patch9: snapshots.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
|
||||
%description
|
||||
@ -176,16 +175,14 @@ Authors:
|
||||
%setup -q
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
#%patch2 -p1
|
||||
%patch3
|
||||
%patch4 -p1
|
||||
#%patch4 -p1
|
||||
%patch5 -p1
|
||||
%patch6 -p1
|
||||
%patch7 -p1
|
||||
%patch8 -p1
|
||||
%patch9 -p1
|
||||
%patch10 -p1
|
||||
%patch11 -p1
|
||||
|
||||
%build
|
||||
%if ! %{with_xen}
|
||||
@ -199,7 +196,8 @@ Authors:
|
||||
%endif
|
||||
autoreconf -f -i
|
||||
export CFLAGS="$RPM_OPT_FLAGS"
|
||||
%configure --disable-static --with-pic %{?_without_xen} \
|
||||
%configure --disable-static --with-pic \
|
||||
%{?_without_xen} \
|
||||
%{?_without_lxc} \
|
||||
%{?_with_selinux} \
|
||||
--libexecdir=%{_libdir}/%{name} \
|
||||
@ -209,8 +207,10 @@ export CFLAGS="$RPM_OPT_FLAGS"
|
||||
ac_cv_path_DNSMASQ=/usr/sbin/dnsmasq \
|
||||
ac_cv_path_QEMU_IMG=/usr/bin/qemu-img-xen \
|
||||
ac_cv_path_ISCSIADM=/sbin/iscsiadm \
|
||||
ac_cv_path_MODPROBE=/sbin/modprobe \
|
||||
ac_cv_path_UDEVADM=/sbin/udevadm \
|
||||
ac_cv_path_SHOWMOUNT=/usr/sbin/showmount
|
||||
make DOCS_DIR=%{_docdir}/%{name}-python EXAMPLE_DIR=%{_docdir}/%{name}-python/examples HTML_DIR=%{_docdir}/%{name}
|
||||
make %{?jobs:-j%jobs} DOCS_DIR=%{_docdir}/%{name}-python EXAMPLE_DIR=%{_docdir}/%{name}-python/examples HTML_DIR=%{_docdir}/%{name}
|
||||
|
||||
%install
|
||||
%makeinstall DOCS_DIR=%{_docdir}/%{name}-python EXAMPLE_DIR=%{_docdir}/%{name}-python/examples HTML_DIR=%{_docdir}/%{name}
|
||||
@ -218,14 +218,8 @@ cp -a AUTHORS ChangeLog COPYING NEWS README TODO $RPM_BUILD_ROOT%{_docdir}/%{nam
|
||||
cd docs ; cp -a *.html $RPM_BUILD_ROOT%{_docdir}/%{name} ; cp -a *.png $RPM_BUILD_ROOT%{_docdir}/%{name} ; cd ..
|
||||
# remove currently unsupported locale(s)
|
||||
rm -rf $RPM_BUILD_ROOT/usr/share/locale/sr@latin
|
||||
# for now, do not install the default network definition
|
||||
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/default.xml
|
||||
# don't autostart the default network
|
||||
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml
|
||||
# do not package augeas config files for now
|
||||
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirtd.aug
|
||||
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirtd_qemu.aug
|
||||
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirtd.aug
|
||||
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirtd_qemu.aug
|
||||
mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/run/libvirt
|
||||
mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/lib/libvirt
|
||||
rm $RPM_BUILD_ROOT%{_docdir}/%{name}/{*.c,examples.x*}
|
||||
@ -255,9 +249,7 @@ ln -s /etc/init.d/libvirtd $RPM_BUILD_ROOT/usr/sbin/rclibvirtd
|
||||
%clean
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
%post
|
||||
/sbin/ldconfig
|
||||
%{fillup_and_insserv -f -y libvirtd}
|
||||
%post -p /sbin/ldconfig
|
||||
|
||||
%preun
|
||||
%stop_on_removal libvirtd
|
||||
@ -287,6 +279,8 @@ rm -rf $RPM_BUILD_ROOT
|
||||
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/
|
||||
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/
|
||||
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/autostart
|
||||
%config %{_sysconfdir}/libvirt/qemu/networks/default.xml
|
||||
%config %{_sysconfdir}/logrotate.d/libvirtd
|
||||
%dir /%{_localstatedir}/run/libvirt/
|
||||
%dir /%{_localstatedir}/lib/libvirt/
|
||||
%config /etc/init.d/libvirtd
|
||||
@ -297,6 +291,8 @@ rm -rf $RPM_BUILD_ROOT
|
||||
%if 0%{?suse_version} > 1030
|
||||
%{_datadir}/PolicyKit/policy/org.libvirt.unix.policy
|
||||
%endif
|
||||
%{_datadir}/libvirt
|
||||
%{_datadir}/augeas
|
||||
|
||||
%files devel
|
||||
%defattr(-, root, root)
|
||||
@ -319,12 +315,32 @@ rm -rf $RPM_BUILD_ROOT
|
||||
%{py_sitedir}/libvirtmod*
|
||||
|
||||
%changelog
|
||||
* Fri Apr 24 2009 jfehlig@novell.com
|
||||
- Removed unnecessary call to fillup_and_insserv macro in
|
||||
%%post scriptlet
|
||||
* Wed Apr 22 2009 jfehlig@novell.com
|
||||
- Updated to version 0.6.2
|
||||
- support SASL auth for VNC server
|
||||
- memory ballooning in QEMU
|
||||
- SCSI HBA storage pool support
|
||||
- PCI passthrough in Xen driver
|
||||
- new APIs for Node device detach reattach and reset
|
||||
- sVirt mandatory access control support
|
||||
- thread safety of the API and event handling
|
||||
- allow QEmu domains to survive daemon restart
|
||||
- extended logging capabilities
|
||||
- support copy-on-write storage volumes
|
||||
- support of storage cache control options for QEMU/KVM
|
||||
- Improvements from lnussel@suse.de
|
||||
- add %%jobs macro again
|
||||
- package default qemu network and augeas config files again
|
||||
- don't start libvirtd by default (bnc#496838)
|
||||
* Mon Apr 20 2009 crrodriguez@suse.de
|
||||
- use --disable-static instead of just removing static libraries
|
||||
* Sat Jan 31 2009 jfehlig@novell.com
|
||||
* Fri Jan 30 2009 jfehlig@novell.com
|
||||
- Fix build for architectures not supporting numa
|
||||
- Forward port suse-network.patch and snapshots.patch
|
||||
* Thu Jan 29 2009 jfehlig@novell.com
|
||||
* Wed Jan 28 2009 jfehlig@novell.com
|
||||
- Updated to version 0.5.1
|
||||
- CPU and scheduler support for LXC
|
||||
- SDL display configuration
|
||||
@ -354,19 +370,19 @@ rm -rf $RPM_BUILD_ROOT
|
||||
* Mon Nov 24 2008 jfehlig@novell.com
|
||||
- Fix connecting/disconnecting ISO via virt-manager
|
||||
bnc#446773
|
||||
* Fri Nov 21 2008 jfehlig@novell.com
|
||||
* Thu Nov 20 2008 jfehlig@novell.com
|
||||
- Fix detach of Xen tap devices
|
||||
bnc#410644 and bnc#411633
|
||||
* Fri Nov 07 2008 jfehlig@novell.com
|
||||
* Thu Nov 06 2008 jfehlig@novell.com
|
||||
- Fix handling of iso/cdrom for xen pv domains.
|
||||
bnc#437388
|
||||
* Thu Nov 06 2008 jfehlig@novell.com
|
||||
* Wed Nov 05 2008 jfehlig@novell.com
|
||||
- Expose networks managed outside of libvirt as read-only.
|
||||
bnc#441633
|
||||
* Wed Nov 05 2008 jfehlig@novell.com
|
||||
- Fix vnc port assignement in domain XML
|
||||
bnc#441625
|
||||
* Fri Oct 24 2008 jfehlig@novell.com
|
||||
* Thu Oct 23 2008 jfehlig@novell.com
|
||||
- Add upstream patches to fix ordering problem with setting up
|
||||
cgroup containment on LXC domains.
|
||||
bnc#437816
|
||||
@ -378,9 +394,9 @@ rm -rf $RPM_BUILD_ROOT
|
||||
* Mon Oct 06 2008 jfehlig@novell.com
|
||||
- Use xend vs hypercall interface to change max mem setting
|
||||
bnc#431766
|
||||
* Thu Oct 02 2008 jfehlig@novell.com
|
||||
- Enabled libvirtd listen mode in libvirtd init script.
|
||||
* Wed Oct 01 2008 jfehlig@novell.com
|
||||
- Enabled libvirtd listen mode in libvirtd init script.
|
||||
* Tue Sep 30 2008 jfehlig@novell.com
|
||||
- Updated to version 0.4.6
|
||||
- avoid a segfault if missing qemu emulator
|
||||
- reading vncdisplay from xend domain
|
||||
@ -406,9 +422,9 @@ rm -rf $RPM_BUILD_ROOT
|
||||
* Tue Sep 02 2008 kwolf@suse.de
|
||||
- Added snapshot support. Implemented snapshot_create/apply/delete
|
||||
for Xen.
|
||||
* Sat Aug 30 2008 jfehlig@novell.com
|
||||
- Fixed bugs in nfs storage pool creation/deletion
|
||||
* Fri Aug 29 2008 jfehlig@novell.com
|
||||
- Fixed bugs in nfs storage pool creation/deletion
|
||||
* Thu Aug 28 2008 jfehlig@novell.com
|
||||
- Fixed bugs in LVM storage pool creation.
|
||||
logical-storage-driver.patch submitted upstream
|
||||
* Wed Aug 27 2008 jfehlig@novell.com
|
||||
@ -423,7 +439,7 @@ rm -rf $RPM_BUILD_ROOT
|
||||
- Fixed spec file breakage due to SELinux enablement
|
||||
* Fri Aug 22 2008 prusnak@suse.cz
|
||||
- enabled SELinux support [Fate#303662]
|
||||
* Tue Aug 12 2008 jfehlig@novell.com
|
||||
* Mon Aug 11 2008 jfehlig@novell.com
|
||||
- Cleanup of libvirtd init script
|
||||
- Removed dnsmasq from BuildRequires
|
||||
* Sat Aug 09 2008 jfehlig@novell.com
|
||||
@ -452,7 +468,7 @@ rm -rf $RPM_BUILD_ROOT
|
||||
* Thu Apr 10 2008 jfehlig@novell.com
|
||||
- Fix NULL pointer dereference in auth callback. bnc#373180,
|
||||
bnc#354995
|
||||
* Thu Jan 10 2008 jfehlig@novell.com
|
||||
* Wed Jan 09 2008 jfehlig@novell.com
|
||||
- Remove Requires of nc package. netcat is the equivalent but it
|
||||
does not support unix domain sockets so no need to require it
|
||||
either.
|
||||
@ -477,11 +493,11 @@ rm -rf $RPM_BUILD_ROOT
|
||||
to be a subtle dependency issue in one of the makefiles which is
|
||||
causing problems with generation of python bindings when jobs > 1.
|
||||
Bug #329032.
|
||||
* Tue Aug 21 2007 jfehlig@novell.com
|
||||
* Mon Aug 20 2007 jfehlig@novell.com
|
||||
- Added init script for libvirtd. libvirtd is needed to support
|
||||
management of qemu/kvm guests. Some Xen networking is handled
|
||||
through libvirt as well - bug #298021.
|
||||
* Tue Jul 24 2007 jfehlig@novell.com
|
||||
* Mon Jul 23 2007 jfehlig@novell.com
|
||||
- Update to libvirt-0.3.0
|
||||
- Secure Remote support
|
||||
- Documentation: remote support, description of the URI connection
|
||||
@ -522,14 +538,14 @@ rm -rf $RPM_BUILD_ROOT
|
||||
- Fixed docdir destination.
|
||||
- Build with CFLAGS.
|
||||
- Spec file cleanup.
|
||||
* Wed Feb 21 2007 jfehlig@novell.com
|
||||
* Tue Feb 20 2007 jfehlig@novell.com
|
||||
- Removed usr/lib/libvirt_proxy setuid binary from package. Fixes
|
||||
bug #246610.
|
||||
* Sat Feb 17 2007 jfehlig@novell.com
|
||||
* Fri Feb 16 2007 jfehlig@novell.com
|
||||
- Updated to latest release. Many of the issues seen in virt-manager
|
||||
have been caused by bugs / missing functionality in libvirt. This
|
||||
upate provides a better basis for virt-manager.
|
||||
* Thu Jan 11 2007 jfehlig@novell.com
|
||||
* Wed Jan 10 2007 jfehlig@novell.com
|
||||
- Updated to latest release, version 0.1.10. Submitting to SLES10 SP1
|
||||
to provide base functionality for FATE feature 301181.
|
||||
- more localizations
|
||||
@ -541,7 +557,7 @@ rm -rf $RPM_BUILD_ROOT
|
||||
- support graphic framebuffer for Xen paravirt (Daniel Berrange)
|
||||
- VNC listen IP range support (Daniel Berrange)
|
||||
- support for default Xen config files and inactive domains of 3.0.4 (Daniel Berrange)
|
||||
* Sat Dec 09 2006 jfehlig@novell.com
|
||||
* Fri Dec 08 2006 jfehlig@novell.com
|
||||
- Updated to latest release, version 0.1.9.
|
||||
- python bindings: release interpeter lock when calling C (Daniel Berrange)
|
||||
- don't raise HTTP error when looking informations for a domain
|
||||
|
@ -1,7 +1,7 @@
|
||||
Index: libvirt-0.5.1/qemud/libvirtd.conf
|
||||
Index: libvirt-0.6.2/qemud/libvirtd.conf
|
||||
===================================================================
|
||||
--- libvirt-0.5.1.orig/qemud/libvirtd.conf
|
||||
+++ libvirt-0.5.1/qemud/libvirtd.conf
|
||||
--- libvirt-0.6.2.orig/qemud/libvirtd.conf
|
||||
+++ libvirt-0.6.2/qemud/libvirtd.conf
|
||||
@@ -18,8 +18,8 @@
|
||||
# It is necessary to setup a CA and issue server certificates before
|
||||
# using this capability.
|
||||
@ -28,12 +28,12 @@ Index: libvirt-0.5.1/qemud/libvirtd.conf
|
||||
|
||||
# Override the default mDNS advertizement name. This must be
|
||||
# unique on the immediate broadcast network.
|
||||
Index: libvirt-0.5.1/qemud/qemud.c
|
||||
Index: libvirt-0.6.2/qemud/qemud.c
|
||||
===================================================================
|
||||
--- libvirt-0.5.1.orig/qemud/qemud.c
|
||||
+++ libvirt-0.5.1/qemud/qemud.c
|
||||
@@ -92,7 +92,7 @@ static int sigwrite = -1; /* Signa
|
||||
static int ipsock = 0; /* -l Listen for TCP/IP */
|
||||
--- libvirt-0.6.2.orig/qemud/qemud.c
|
||||
+++ libvirt-0.6.2/qemud/qemud.c
|
||||
@@ -132,7 +132,7 @@ static char *log_filters = NULL;
|
||||
static char *log_outputs = NULL;
|
||||
|
||||
/* Defaults for configuration file elements */
|
||||
-static int listen_tls = 1;
|
||||
@ -41,7 +41,7 @@ Index: libvirt-0.5.1/qemud/qemud.c
|
||||
static int listen_tcp = 0;
|
||||
static char *listen_addr = (char *) LIBVIRTD_LISTEN_ADDR;
|
||||
static char *tls_port = (char *) LIBVIRTD_TLS_PORT;
|
||||
@@ -116,7 +116,7 @@ static int auth_tcp = REMOTE_AUTH_NONE;
|
||||
@@ -154,7 +154,7 @@ static int auth_tcp = REMOTE_AUTH_NONE;
|
||||
#endif
|
||||
static int auth_tls = REMOTE_AUTH_NONE;
|
||||
|
||||
|
@ -1,10 +1,10 @@
|
||||
Index: libvirt-0.5.1/src/xend_internal.c
|
||||
Index: libvirt-0.6.2/src/xend_internal.c
|
||||
===================================================================
|
||||
--- libvirt-0.5.1.orig/src/xend_internal.c
|
||||
+++ libvirt-0.5.1/src/xend_internal.c
|
||||
@@ -4226,6 +4226,8 @@ xenDaemonDomainMigratePerform (virDomain
|
||||
"live", live,
|
||||
"port", port,
|
||||
--- libvirt-0.6.2.orig/src/xend_internal.c
|
||||
+++ libvirt-0.6.2/src/xend_internal.c
|
||||
@@ -4453,6 +4453,8 @@ xenDaemonDomainMigratePerform (virDomain
|
||||
"node", "-1",
|
||||
"ssl", "0",
|
||||
"resource", "0", /* required, xend ignores it */
|
||||
+ "node", "-1", /* numa node, xen c/s 17753 */
|
||||
+ "ssl", "0", /* ssl migration, xen c/s 17709 */
|
||||
|
363
snapshots.patch
363
snapshots.patch
@ -1,8 +1,8 @@
|
||||
Index: libvirt-0.5.1/include/libvirt/libvirt.h.in
|
||||
Index: libvirt-0.6.2/include/libvirt/libvirt.h.in
|
||||
===================================================================
|
||||
--- libvirt-0.5.1.orig/include/libvirt/libvirt.h.in
|
||||
+++ libvirt-0.5.1/include/libvirt/libvirt.h.in
|
||||
@@ -470,6 +470,21 @@ int virDomainRestore
|
||||
--- libvirt-0.6.2.orig/include/libvirt/libvirt.h.in
|
||||
+++ libvirt-0.6.2/include/libvirt/libvirt.h.in
|
||||
@@ -537,6 +537,21 @@ int virDomainRestore
|
||||
const char *from);
|
||||
|
||||
/*
|
||||
@ -24,11 +24,11 @@ Index: libvirt-0.5.1/include/libvirt/libvirt.h.in
|
||||
* Domain core dump
|
||||
*/
|
||||
int virDomainCoreDump (virDomainPtr domain,
|
||||
Index: libvirt-0.5.1/src/libvirt.c
|
||||
Index: libvirt-0.6.2/src/libvirt.c
|
||||
===================================================================
|
||||
--- libvirt-0.5.1.orig/src/libvirt.c
|
||||
+++ libvirt-0.5.1/src/libvirt.c
|
||||
@@ -1777,6 +1777,168 @@ virDomainRestore(virConnectPtr conn, con
|
||||
--- libvirt-0.6.2.orig/src/libvirt.c
|
||||
+++ libvirt-0.6.2/src/libvirt.c
|
||||
@@ -2067,6 +2067,168 @@ error:
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -197,10 +197,10 @@ Index: libvirt-0.5.1/src/libvirt.c
|
||||
/**
|
||||
* virDomainCoreDump:
|
||||
* @domain: a domain object
|
||||
Index: libvirt-0.5.1/src/driver.h
|
||||
Index: libvirt-0.6.2/src/driver.h
|
||||
===================================================================
|
||||
--- libvirt-0.5.1.orig/src/driver.h
|
||||
+++ libvirt-0.5.1/src/driver.h
|
||||
--- libvirt-0.6.2.orig/src/driver.h
|
||||
+++ libvirt-0.6.2/src/driver.h
|
||||
@@ -145,6 +145,21 @@ typedef int
|
||||
(*virDrvDomainRestore) (virConnectPtr conn,
|
||||
const char *from);
|
||||
@ -223,11 +223,10 @@ Index: libvirt-0.5.1/src/driver.h
|
||||
(*virDrvDomainCoreDump) (virDomainPtr domain,
|
||||
const char *to,
|
||||
int flags);
|
||||
@@ -387,6 +402,12 @@ struct _virDriver {
|
||||
virDrvDomainEventDeregister domainEventDeregister;
|
||||
virDrvDomainMigratePrepare2 domainMigratePrepare2;
|
||||
virDrvDomainMigrateFinish2 domainMigrateFinish2;
|
||||
+
|
||||
@@ -408,6 +423,11 @@ struct _virDriver {
|
||||
virDrvNodeDeviceDettach nodeDeviceDettach;
|
||||
virDrvNodeDeviceReAttach nodeDeviceReAttach;
|
||||
virDrvNodeDeviceReset nodeDeviceReset;
|
||||
+ virDrvDomainSnapshotCreate domainSnapshotCreate;
|
||||
+ virDrvDomainSnapshotApply domainSnapshotApply;
|
||||
+ virDrvDomainSnapshotDelete domainSnapshotDelete;
|
||||
@ -236,11 +235,11 @@ Index: libvirt-0.5.1/src/driver.h
|
||||
};
|
||||
|
||||
typedef int
|
||||
Index: libvirt-0.5.1/src/xen_unified.c
|
||||
Index: libvirt-0.6.2/src/xen_unified.c
|
||||
===================================================================
|
||||
--- libvirt-0.5.1.orig/src/xen_unified.c
|
||||
+++ libvirt-0.5.1/src/xen_unified.c
|
||||
@@ -924,6 +924,81 @@ xenUnifiedDomainRestore (virConnectPtr c
|
||||
--- libvirt-0.6.2.orig/src/xen_unified.c
|
||||
+++ libvirt-0.6.2/src/xen_unified.c
|
||||
@@ -931,6 +931,81 @@ xenUnifiedDomainRestore (virConnectPtr c
|
||||
}
|
||||
|
||||
static int
|
||||
@ -322,39 +321,39 @@ Index: libvirt-0.5.1/src/xen_unified.c
|
||||
xenUnifiedDomainCoreDump (virDomainPtr dom, const char *to, int flags)
|
||||
{
|
||||
GET_PRIVATE(dom->conn);
|
||||
@@ -1425,6 +1500,11 @@ static virDriver xenUnifiedDriver = {
|
||||
.domainGetInfo = xenUnifiedDomainGetInfo,
|
||||
.domainSave = xenUnifiedDomainSave,
|
||||
.domainRestore = xenUnifiedDomainRestore,
|
||||
+ .domainSnapshotCreate = xenUnifiedDomainSnapshotCreate,
|
||||
+ .domainSnapshotApply = xenUnifiedDomainSnapshotApply,
|
||||
+ .domainSnapshotDelete = xenUnifiedDomainSnapshotDelete,
|
||||
+ .domainNumOfSnapshots = xenUnifiedDomainNumOfSnapshots,
|
||||
+ .domainListSnapshots = xenUnifiedDomainListSnapshots,
|
||||
.domainCoreDump = xenUnifiedDomainCoreDump,
|
||||
.domainSetVcpus = xenUnifiedDomainSetVcpus,
|
||||
.domainPinVcpu = xenUnifiedDomainPinVcpu,
|
||||
Index: libvirt-0.5.1/src/xen_unified.h
|
||||
@@ -1608,6 +1683,11 @@ static virDriver xenUnifiedDriver = {
|
||||
xenUnifiedNodeDeviceDettach, /* nodeDeviceDettach */
|
||||
xenUnifiedNodeDeviceReAttach, /* nodeDeviceReAttach */
|
||||
xenUnifiedNodeDeviceReset, /* nodeDeviceReset */
|
||||
+ xenUnifiedDomainSnapshotCreate,
|
||||
+ xenUnifiedDomainSnapshotApply,
|
||||
+ xenUnifiedDomainSnapshotDelete,
|
||||
+ xenUnifiedDomainNumOfSnapshots,
|
||||
+ xenUnifiedDomainListSnapshots,
|
||||
};
|
||||
|
||||
/**
|
||||
Index: libvirt-0.6.2/src/xen_unified.h
|
||||
===================================================================
|
||||
--- libvirt-0.5.1.orig/src/xen_unified.h
|
||||
+++ libvirt-0.5.1/src/xen_unified.h
|
||||
@@ -78,6 +78,11 @@ struct xenUnifiedDriver {
|
||||
virDrvDomainGetInfo domainGetInfo;
|
||||
virDrvDomainSave domainSave;
|
||||
virDrvDomainRestore domainRestore;
|
||||
--- libvirt-0.6.2.orig/src/xen_unified.h
|
||||
+++ libvirt-0.6.2/src/xen_unified.h
|
||||
@@ -95,6 +95,11 @@ struct xenUnifiedDriver {
|
||||
virDrvDomainGetSchedulerType domainGetSchedulerType;
|
||||
virDrvDomainGetSchedulerParameters domainGetSchedulerParameters;
|
||||
virDrvDomainSetSchedulerParameters domainSetSchedulerParameters;
|
||||
+ virDrvDomainSnapshotCreate domainSnapshotCreate;
|
||||
+ virDrvDomainSnapshotApply domainSnapshotApply;
|
||||
+ virDrvDomainSnapshotDelete domainSnapshotDelete;
|
||||
+ virDrvDomainNumOfSnapshots domainNumOfSnapshots;
|
||||
+ virDrvDomainListSnapshots domainListSnapshots;
|
||||
virDrvDomainCoreDump domainCoreDump;
|
||||
virDrvDomainSetVcpus domainSetVcpus;
|
||||
virDrvDomainPinVcpu domainPinVcpu;
|
||||
Index: libvirt-0.5.1/src/xend_internal.c
|
||||
};
|
||||
|
||||
typedef struct xenXMConfCache *xenXMConfCachePtr;
|
||||
Index: libvirt-0.6.2/src/xend_internal.c
|
||||
===================================================================
|
||||
--- libvirt-0.5.1.orig/src/xend_internal.c
|
||||
+++ libvirt-0.5.1/src/xend_internal.c
|
||||
@@ -51,6 +51,12 @@
|
||||
--- libvirt-0.6.2.orig/src/xend_internal.c
|
||||
+++ libvirt-0.6.2/src/xend_internal.c
|
||||
@@ -53,6 +53,12 @@
|
||||
|
||||
#ifndef PROXY
|
||||
|
||||
@ -367,7 +366,7 @@ Index: libvirt-0.5.1/src/xend_internal.c
|
||||
/*
|
||||
* The number of Xen scheduler parameters
|
||||
*/
|
||||
@@ -3024,6 +3030,87 @@ xenDaemonDomainRestore(virConnectPtr con
|
||||
@@ -3233,6 +3239,87 @@ xenDaemonDomainRestore(virConnectPtr con
|
||||
}
|
||||
return xend_op(conn, "", "op", "restore", "file", filename, NULL);
|
||||
}
|
||||
@ -455,87 +454,87 @@ Index: libvirt-0.5.1/src/xend_internal.c
|
||||
#endif /* !PROXY */
|
||||
|
||||
/**
|
||||
@@ -4781,6 +4868,11 @@ struct xenUnifiedDriver xenDaemonDriver
|
||||
xenDaemonDomainGetInfo, /* domainGetInfo */
|
||||
xenDaemonDomainSave, /* domainSave */
|
||||
xenDaemonDomainRestore, /* domainRestore */
|
||||
@@ -5025,6 +5112,11 @@ struct xenUnifiedDriver xenDaemonDriver
|
||||
xenDaemonGetSchedulerType, /* domainGetSchedulerType */
|
||||
xenDaemonGetSchedulerParameters, /* domainGetSchedulerParameters */
|
||||
xenDaemonSetSchedulerParameters, /* domainSetSchedulerParameters */
|
||||
+ xenDaemonDomainSnapshotCreate, /* domainSnapshotCreate */
|
||||
+ xenDaemonDomainSnapshotApply, /* domainSnapshotApply */
|
||||
+ xenDaemonDomainSnapshotDelete, /* domainSnapshotDelete */
|
||||
+ xenDaemonDomainNumOfSnapshots, /* domainNumOfSnapshots */
|
||||
+ xenDaemonDomainListSnapshots, /* domainListSnapshots */
|
||||
xenDaemonDomainCoreDump, /* domainCoreDump */
|
||||
xenDaemonDomainSetVcpus, /* domainSetVcpus */
|
||||
xenDaemonDomainPinVcpu, /* domainPinVcpu */
|
||||
Index: libvirt-0.5.1/src/proxy_internal.c
|
||||
};
|
||||
|
||||
/************************************************************************
|
||||
Index: libvirt-0.6.2/src/proxy_internal.c
|
||||
===================================================================
|
||||
--- libvirt-0.5.1.orig/src/proxy_internal.c
|
||||
+++ libvirt-0.5.1/src/proxy_internal.c
|
||||
@@ -68,6 +68,11 @@ struct xenUnifiedDriver xenProxyDriver =
|
||||
xenProxyDomainGetInfo, /* domainGetInfo */
|
||||
NULL, /* domainSave */
|
||||
NULL, /* domainRestore */
|
||||
--- libvirt-0.6.2.orig/src/proxy_internal.c
|
||||
+++ libvirt-0.6.2/src/proxy_internal.c
|
||||
@@ -84,6 +84,11 @@ struct xenUnifiedDriver xenProxyDriver =
|
||||
NULL, /* domainGetSchedulerType */
|
||||
NULL, /* domainGetSchedulerParameters */
|
||||
NULL, /* domainSetSchedulerParameters */
|
||||
+ NULL, /* domainSnapshotCreate */
|
||||
+ NULL, /* domainSnapshotApply */
|
||||
+ NULL, /* domainSnapshotDelete */
|
||||
+ NULL, /* domainNumOfSnapshots */
|
||||
+ NULL, /* domainListSnapshots */
|
||||
NULL, /* domainCoreDump */
|
||||
NULL, /* domainSetVcpus */
|
||||
NULL, /* domainPinVcpu */
|
||||
Index: libvirt-0.5.1/src/xen_internal.c
|
||||
};
|
||||
|
||||
|
||||
Index: libvirt-0.6.2/src/xen_internal.c
|
||||
===================================================================
|
||||
--- libvirt-0.5.1.orig/src/xen_internal.c
|
||||
+++ libvirt-0.5.1/src/xen_internal.c
|
||||
@@ -699,6 +699,11 @@ struct xenUnifiedDriver xenHypervisorDri
|
||||
xenHypervisorGetDomainInfo, /* domainGetInfo */
|
||||
NULL, /* domainSave */
|
||||
NULL, /* domainRestore */
|
||||
--- libvirt-0.6.2.orig/src/xen_internal.c
|
||||
+++ libvirt-0.6.2/src/xen_internal.c
|
||||
@@ -731,6 +731,11 @@ struct xenUnifiedDriver xenHypervisorDri
|
||||
xenHypervisorGetSchedulerType, /* domainGetSchedulerType */
|
||||
xenHypervisorGetSchedulerParameters, /* domainGetSchedulerParameters */
|
||||
xenHypervisorSetSchedulerParameters, /* domainSetSchedulerParameters */
|
||||
+ NULL, /* domainSnapshotCreate */
|
||||
+ NULL, /* domainSnapshotApply */
|
||||
+ NULL, /* domainSnapshotDelete */
|
||||
+ NULL, /* domainNumOfSnapshots */
|
||||
+ NULL, /* domainListSnapshots */
|
||||
NULL, /* domainCoreDump */
|
||||
xenHypervisorSetVcpus, /* domainSetVcpus */
|
||||
xenHypervisorPinVcpu, /* domainPinVcpu */
|
||||
Index: libvirt-0.5.1/src/xm_internal.c
|
||||
};
|
||||
#endif /* !PROXY */
|
||||
|
||||
Index: libvirt-0.6.2/src/xm_internal.c
|
||||
===================================================================
|
||||
--- libvirt-0.5.1.orig/src/xm_internal.c
|
||||
+++ libvirt-0.5.1/src/xm_internal.c
|
||||
@@ -100,6 +100,11 @@ struct xenUnifiedDriver xenXMDriver = {
|
||||
xenXMDomainGetInfo, /* domainGetInfo */
|
||||
NULL, /* domainSave */
|
||||
NULL, /* domainRestore */
|
||||
--- libvirt-0.6.2.orig/src/xm_internal.c
|
||||
+++ libvirt-0.6.2/src/xm_internal.c
|
||||
@@ -116,6 +116,11 @@ struct xenUnifiedDriver xenXMDriver = {
|
||||
NULL, /* domainGetSchedulerType */
|
||||
NULL, /* domainGetSchedulerParameters */
|
||||
NULL, /* domainSetSchedulerParameters */
|
||||
+ NULL, /* domainSnapshotCreate */
|
||||
+ NULL, /* domainSnapshotApply */
|
||||
+ NULL, /* domainSnapshotDelete */
|
||||
+ NULL, /* domainNumOfSnapshots */
|
||||
+ NULL, /* domainListSnapshots */
|
||||
NULL, /* domainCoreDump */
|
||||
xenXMDomainSetVcpus, /* domainSetVcpus */
|
||||
xenXMDomainPinVcpu, /* domainPinVcpu */
|
||||
Index: libvirt-0.5.1/src/xs_internal.c
|
||||
};
|
||||
|
||||
#define xenXMError(conn, code, fmt...) \
|
||||
Index: libvirt-0.6.2/src/xs_internal.c
|
||||
===================================================================
|
||||
--- libvirt-0.5.1.orig/src/xs_internal.c
|
||||
+++ libvirt-0.5.1/src/xs_internal.c
|
||||
@@ -74,6 +74,11 @@ struct xenUnifiedDriver xenStoreDriver =
|
||||
xenStoreGetDomainInfo, /* domainGetInfo */
|
||||
NULL, /* domainSave */
|
||||
NULL, /* domainRestore */
|
||||
--- libvirt-0.6.2.orig/src/xs_internal.c
|
||||
+++ libvirt-0.6.2/src/xs_internal.c
|
||||
@@ -83,6 +83,11 @@ struct xenUnifiedDriver xenStoreDriver =
|
||||
NULL, /* domainGetSchedulerType */
|
||||
NULL, /* domainGetSchedulerParameters */
|
||||
NULL, /* domainSetSchedulerParameters */
|
||||
+ NULL, /* domainSnapshotCreate */
|
||||
+ NULL, /* domainSnapshotApply */
|
||||
+ NULL, /* domainSnapshotDelete */
|
||||
+ NULL, /* domainNumOfSnapshots */
|
||||
+ NULL, /* domainListSnapshots */
|
||||
NULL, /* domainCoreDump */
|
||||
NULL, /* domainSetVcpus */
|
||||
NULL, /* domainPinVcpu */
|
||||
Index: libvirt-0.5.1/src/virsh.c
|
||||
};
|
||||
|
||||
#endif /* ! PROXY */
|
||||
Index: libvirt-0.6.2/src/virsh.c
|
||||
===================================================================
|
||||
--- libvirt-0.5.1.orig/src/virsh.c
|
||||
+++ libvirt-0.5.1/src/virsh.c
|
||||
@@ -1099,6 +1099,189 @@ cmdSave(vshControl *ctl, const vshCmd *c
|
||||
--- libvirt-0.6.2.orig/src/virsh.c
|
||||
+++ libvirt-0.6.2/src/virsh.c
|
||||
@@ -1146,6 +1146,189 @@ cmdSave(vshControl *ctl, const vshCmd *c
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -570,7 +569,7 @@ Index: libvirt-0.5.1/src/virsh.c
|
||||
+ if (!(name = vshCommandOptString(cmd, "name", NULL)))
|
||||
+ return FALSE;
|
||||
+
|
||||
+ if (!(dom = vshCommandOptDomain(ctl, cmd, "domain", &domain)))
|
||||
+ if (!(dom = vshCommandOptDomain(ctl, cmd, &domain)))
|
||||
+ return FALSE;
|
||||
+
|
||||
+ if (virDomainSnapshotCreate(dom, name) == 0) {
|
||||
@ -615,7 +614,7 @@ Index: libvirt-0.5.1/src/virsh.c
|
||||
+ if (!(name = vshCommandOptString(cmd, "name", NULL)))
|
||||
+ return FALSE;
|
||||
+
|
||||
+ if (!(dom = vshCommandOptDomain(ctl, cmd, "domain", &domain)))
|
||||
+ if (!(dom = vshCommandOptDomain(ctl, cmd, &domain)))
|
||||
+ return FALSE;
|
||||
+
|
||||
+ if (virDomainSnapshotApply(dom, name) == 0) {
|
||||
@ -661,7 +660,7 @@ Index: libvirt-0.5.1/src/virsh.c
|
||||
+ if (!(name = vshCommandOptString(cmd, "name", NULL)))
|
||||
+ return FALSE;
|
||||
+
|
||||
+ if (!(dom = vshCommandOptDomain(ctl, cmd, "domain", &domain)))
|
||||
+ if (!(dom = vshCommandOptDomain(ctl, cmd, &domain)))
|
||||
+ return FALSE;
|
||||
+
|
||||
+ if (virDomainSnapshotDelete(dom, name) == 0) {
|
||||
@ -704,7 +703,7 @@ Index: libvirt-0.5.1/src/virsh.c
|
||||
+ if (!vshConnectionUsability(ctl, ctl->conn, TRUE))
|
||||
+ return FALSE;
|
||||
+
|
||||
+ if (!(dom = vshCommandOptDomain(ctl, cmd, "domain", &domain)))
|
||||
+ if (!(dom = vshCommandOptDomain(ctl, cmd, &domain)))
|
||||
+ return FALSE;
|
||||
+
|
||||
+ // TODO Display snapshot details
|
||||
@ -725,7 +724,7 @@ Index: libvirt-0.5.1/src/virsh.c
|
||||
/*
|
||||
* "schedinfo" command
|
||||
*/
|
||||
@@ -5697,6 +5880,12 @@ static const vshCmdDef commands[] = {
|
||||
@@ -5929,6 +6112,12 @@ static const vshCmdDef commands[] = {
|
||||
{"undefine", cmdUndefine, opts_undefine, info_undefine},
|
||||
{"uri", cmdURI, NULL, info_uri},
|
||||
|
||||
@ -738,14 +737,14 @@ Index: libvirt-0.5.1/src/virsh.c
|
||||
{"vol-create", cmdVolCreate, opts_vol_create, info_vol_create},
|
||||
{"vol-create-as", cmdVolCreateAs, opts_vol_create_as, info_vol_create_as},
|
||||
{"vol-delete", cmdVolDelete, opts_vol_delete, info_vol_delete},
|
||||
Index: libvirt-0.5.1/src/lxc_driver.c
|
||||
Index: libvirt-0.6.2/src/lxc_driver.c
|
||||
===================================================================
|
||||
--- libvirt-0.5.1.orig/src/lxc_driver.c
|
||||
+++ libvirt-0.5.1/src/lxc_driver.c
|
||||
@@ -1291,6 +1291,11 @@ static virDriver lxcDriver = {
|
||||
NULL, /* domainEventDeregister */
|
||||
NULL, /* domainMigratePrepare2 */
|
||||
NULL, /* domainMigrateFinish2 */
|
||||
--- libvirt-0.6.2.orig/src/lxc_driver.c
|
||||
+++ libvirt-0.6.2/src/lxc_driver.c
|
||||
@@ -1471,6 +1471,11 @@ static virDriver lxcDriver = {
|
||||
NULL, /* nodeDeviceDettach */
|
||||
NULL, /* nodeDeviceReAttach */
|
||||
NULL, /* nodeDeviceReset */
|
||||
+ NULL, /* domainSnapshotCreate */
|
||||
+ NULL, /* domainSnapshotApply */
|
||||
+ NULL, /* domainSnapshotDelete */
|
||||
@ -754,14 +753,14 @@ Index: libvirt-0.5.1/src/lxc_driver.c
|
||||
};
|
||||
|
||||
static virStateDriver lxcStateDriver = {
|
||||
Index: libvirt-0.5.1/src/openvz_driver.c
|
||||
Index: libvirt-0.6.2/src/openvz_driver.c
|
||||
===================================================================
|
||||
--- libvirt-0.5.1.orig/src/openvz_driver.c
|
||||
+++ libvirt-0.5.1/src/openvz_driver.c
|
||||
@@ -1146,6 +1146,11 @@ static virDriver openvzDriver = {
|
||||
NULL, /* domainEventDeregister */
|
||||
NULL, /* domainMigratePrepare2 */
|
||||
NULL, /* domainMigrateFinish2 */
|
||||
--- libvirt-0.6.2.orig/src/openvz_driver.c
|
||||
+++ libvirt-0.6.2/src/openvz_driver.c
|
||||
@@ -1372,6 +1372,11 @@ static virDriver openvzDriver = {
|
||||
NULL, /* nodeDeviceDettach */
|
||||
NULL, /* nodeDeviceReAttach */
|
||||
NULL, /* nodeDeviceReset */
|
||||
+ NULL, /* domainSnapshotCreate */
|
||||
+ NULL, /* domainSnapshotApply */
|
||||
+ NULL, /* domainSnapshotDelete */
|
||||
@ -770,14 +769,14 @@ Index: libvirt-0.5.1/src/openvz_driver.c
|
||||
};
|
||||
|
||||
int openvzRegister(void) {
|
||||
Index: libvirt-0.5.1/src/qemu_driver.c
|
||||
Index: libvirt-0.6.2/src/qemu_driver.c
|
||||
===================================================================
|
||||
--- libvirt-0.5.1.orig/src/qemu_driver.c
|
||||
+++ libvirt-0.5.1/src/qemu_driver.c
|
||||
@@ -3794,6 +3794,11 @@ static virDriver qemuDriver = {
|
||||
qemudDomainEventDeregister, /* domainEventDeregister */
|
||||
qemudDomainMigratePrepare2, /* domainMigratePrepare2 */
|
||||
qemudDomainMigrateFinish2, /* domainMigrateFinish2 */
|
||||
--- libvirt-0.6.2.orig/src/qemu_driver.c
|
||||
+++ libvirt-0.6.2/src/qemu_driver.c
|
||||
@@ -5131,6 +5131,11 @@ static virDriver qemuDriver = {
|
||||
qemudNodeDeviceDettach, /* nodeDeviceDettach */
|
||||
qemudNodeDeviceReAttach, /* nodeDeviceReAttach */
|
||||
qemudNodeDeviceReset, /* nodeDeviceReset */
|
||||
+ NULL, /* domainSnapshotCreate */
|
||||
+ NULL, /* domainSnapshotApply */
|
||||
+ NULL, /* domainSnapshotDelete */
|
||||
@ -786,30 +785,14 @@ Index: libvirt-0.5.1/src/qemu_driver.c
|
||||
};
|
||||
|
||||
|
||||
Index: libvirt-0.5.1/src/remote_internal.c
|
||||
Index: libvirt-0.6.2/src/test.c
|
||||
===================================================================
|
||||
--- libvirt-0.5.1.orig/src/remote_internal.c
|
||||
+++ libvirt-0.5.1/src/remote_internal.c
|
||||
@@ -5391,6 +5391,11 @@ static virDriver driver = {
|
||||
.domainEventDeregister = remoteDomainEventDeregister,
|
||||
.domainMigratePrepare2 = remoteDomainMigratePrepare2,
|
||||
.domainMigrateFinish2 = remoteDomainMigrateFinish2,
|
||||
+ .domainSnapshotCreate = NULL,
|
||||
+ .domainSnapshotApply = NULL,
|
||||
+ .domainSnapshotDelete = NULL,
|
||||
+ .domainNumOfSnapshots = NULL,
|
||||
+ .domainListSnapshots = NULL,
|
||||
};
|
||||
|
||||
static virNetworkDriver network_driver = {
|
||||
Index: libvirt-0.5.1/src/test.c
|
||||
===================================================================
|
||||
--- libvirt-0.5.1.orig/src/test.c
|
||||
+++ libvirt-0.5.1/src/test.c
|
||||
@@ -2255,6 +2255,11 @@ static virDriver testDriver = {
|
||||
NULL, /* domainEventDeregister */
|
||||
NULL, /* domainMigratePrepare2 */
|
||||
NULL, /* domainMigrateFinish2 */
|
||||
--- libvirt-0.6.2.orig/src/test.c
|
||||
+++ libvirt-0.6.2/src/test.c
|
||||
@@ -3532,6 +3532,11 @@ static virDriver testDriver = {
|
||||
NULL, /* nodeDeviceDettach */
|
||||
NULL, /* nodeDeviceReAttach */
|
||||
NULL, /* nodeDeviceReset */
|
||||
+ NULL, /* domainSnapshotCreate */
|
||||
+ NULL, /* domainSnapshotApply */
|
||||
+ NULL, /* domainSnapshotDelete */
|
||||
@ -818,11 +801,11 @@ Index: libvirt-0.5.1/src/test.c
|
||||
};
|
||||
|
||||
static virNetworkDriver testNetworkDriver = {
|
||||
Index: libvirt-0.5.1/docs/libvirt-api.xml
|
||||
Index: libvirt-0.6.2/docs/libvirt-api.xml
|
||||
===================================================================
|
||||
--- libvirt-0.5.1.orig/docs/libvirt-api.xml
|
||||
+++ libvirt-0.5.1/docs/libvirt-api.xml
|
||||
@@ -183,6 +183,11 @@
|
||||
--- libvirt-0.6.2.orig/docs/libvirt-api.xml
|
||||
+++ libvirt-0.6.2/docs/libvirt-api.xml
|
||||
@@ -194,6 +194,11 @@
|
||||
<exports symbol='virEventRegisterImpl' type='function'/>
|
||||
<exports symbol='virDomainMigrate' type='function'/>
|
||||
<exports symbol='virDomainSuspend' type='function'/>
|
||||
@ -831,10 +814,10 @@ Index: libvirt-0.5.1/docs/libvirt-api.xml
|
||||
+ <exports symbol='virDomainSnapshotDelete' type='function'/>
|
||||
+ <exports symbol='virDomainNumOfSnapshots' type='function'/>
|
||||
+ <exports symbol='virDomainListSnapshots' type='function'/>
|
||||
<exports symbol='virNetworkCreate' type='function'/>
|
||||
<exports symbol='virDomainCreateLinux' type='function'/>
|
||||
<exports symbol='virNodeDeviceGetXMLDesc' type='function'/>
|
||||
<exports symbol='virEventUpdateHandleFunc' type='function'/>
|
||||
@@ -1237,6 +1242,36 @@ see note above'/>
|
||||
@@ -1296,6 +1301,36 @@ see note above'/>
|
||||
<return type='int' info='0 in case of success and -1 in case of failure.'/>
|
||||
<arg name='domain' type='virDomainPtr' info='a domain object'/>
|
||||
</function>
|
||||
@ -871,10 +854,10 @@ Index: libvirt-0.5.1/docs/libvirt-api.xml
|
||||
<function name='virDomainUndefine' file='libvirt' module='libvirt'>
|
||||
<info>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.5.1/python/libvirt-py.c
|
||||
Index: libvirt-0.6.2/python/libvirt-py.c
|
||||
===================================================================
|
||||
--- libvirt-0.5.1.orig/python/libvirt-py.c
|
||||
+++ libvirt-0.5.1/python/libvirt-py.c
|
||||
--- libvirt-0.6.2.orig/python/libvirt-py.c
|
||||
+++ libvirt-0.6.2/python/libvirt-py.c
|
||||
@@ -25,6 +25,25 @@ LIBVIRT_END_ALLOW_THREADS;
|
||||
}
|
||||
|
||||
@ -901,7 +884,7 @@ Index: libvirt-0.5.1/python/libvirt-py.c
|
||||
libvirt_virStorageVolGetKey(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
|
||||
PyObject *py_retval;
|
||||
const char * c_retval;
|
||||
@@ -847,6 +866,25 @@ LIBVIRT_END_ALLOW_THREADS;
|
||||
@@ -883,6 +902,25 @@ LIBVIRT_END_ALLOW_THREADS;
|
||||
}
|
||||
|
||||
PyObject *
|
||||
@ -927,7 +910,7 @@ Index: libvirt-0.5.1/python/libvirt-py.c
|
||||
libvirt_virNetworkDefineXML(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
|
||||
PyObject *py_retval;
|
||||
virNetworkPtr c_retval;
|
||||
@@ -882,6 +920,24 @@ LIBVIRT_END_ALLOW_THREADS;
|
||||
@@ -918,6 +956,24 @@ LIBVIRT_END_ALLOW_THREADS;
|
||||
}
|
||||
|
||||
PyObject *
|
||||
@ -952,10 +935,13 @@ Index: libvirt-0.5.1/python/libvirt-py.c
|
||||
libvirt_virDomainResume(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
|
||||
PyObject *py_retval;
|
||||
int c_retval;
|
||||
@@ -900,6 +956,25 @@ LIBVIRT_END_ALLOW_THREADS;
|
||||
}
|
||||
|
||||
PyObject *
|
||||
@@ -933,6 +989,25 @@ LIBVIRT_BEGIN_ALLOW_THREADS;
|
||||
LIBVIRT_END_ALLOW_THREADS;
|
||||
py_retval = libvirt_intWrap((int) c_retval);
|
||||
return(py_retval);
|
||||
+}
|
||||
+
|
||||
+PyObject *
|
||||
+libvirt_virDomainSnapshotApply(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
|
||||
+ PyObject *py_retval;
|
||||
+ int c_retval;
|
||||
@ -972,16 +958,13 @@ Index: libvirt-0.5.1/python/libvirt-py.c
|
||||
+LIBVIRT_END_ALLOW_THREADS;
|
||||
+ py_retval = libvirt_intWrap((int) c_retval);
|
||||
+ return(py_retval);
|
||||
+}
|
||||
+
|
||||
+PyObject *
|
||||
libvirt_virConnectGetHostname(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
|
||||
PyObject *py_retval;
|
||||
char * c_retval;
|
||||
Index: libvirt-0.5.1/python/libvirt-py.h
|
||||
}
|
||||
|
||||
PyObject *
|
||||
Index: libvirt-0.6.2/python/libvirt-py.h
|
||||
===================================================================
|
||||
--- libvirt-0.5.1.orig/python/libvirt-py.h
|
||||
+++ libvirt-0.5.1/python/libvirt-py.h
|
||||
--- libvirt-0.6.2.orig/python/libvirt-py.h
|
||||
+++ libvirt-0.6.2/python/libvirt-py.h
|
||||
@@ -1,6 +1,7 @@
|
||||
/* Generated */
|
||||
|
||||
@ -990,11 +973,11 @@ Index: libvirt-0.5.1/python/libvirt-py.h
|
||||
PyObject * libvirt_virStorageVolGetKey(PyObject *self, PyObject *args);
|
||||
PyObject * libvirt_virConnectClose(PyObject *self, PyObject *args);
|
||||
PyObject * libvirt_virDomainDefineXML(PyObject *self, PyObject *args);
|
||||
Index: libvirt-0.5.1/python/libvirt.py
|
||||
Index: libvirt-0.6.2/python/libvirt.py
|
||||
===================================================================
|
||||
--- libvirt-0.5.1.orig/python/libvirt.py
|
||||
+++ libvirt-0.5.1/python/libvirt.py
|
||||
@@ -382,6 +382,12 @@ class virDomain:
|
||||
--- libvirt-0.6.2.orig/python/libvirt.py
|
||||
+++ libvirt-0.6.2/python/libvirt.py
|
||||
@@ -384,6 +384,12 @@ class virDomain:
|
||||
ret = libvirtmod.virDomainGetName(self._o)
|
||||
return ret
|
||||
|
||||
@ -1007,7 +990,7 @@ Index: libvirt-0.5.1/python/libvirt.py
|
||||
def reboot(self, flags):
|
||||
"""Reboot a domain, the domain object is still usable there
|
||||
after but the domain OS is being stopped for a restart.
|
||||
@@ -456,6 +462,24 @@ class virDomain:
|
||||
@@ -472,6 +478,24 @@ class virDomain:
|
||||
if ret == -1: raise libvirtError ('virDomainShutdown() failed', dom=self)
|
||||
return ret
|
||||
|
||||
@ -1032,7 +1015,7 @@ Index: libvirt-0.5.1/python/libvirt.py
|
||||
def suspend(self):
|
||||
"""Suspends an active domain, the process is frozen without
|
||||
further access to CPU resources and I/O but the memory used
|
||||
@@ -512,6 +536,12 @@ class virDomain:
|
||||
@@ -528,6 +552,12 @@ class virDomain:
|
||||
ret = libvirtmod.virDomainInterfaceStats(self._o, path)
|
||||
return ret
|
||||
|
||||
@ -1045,10 +1028,10 @@ Index: libvirt-0.5.1/python/libvirt.py
|
||||
def pinVcpu(self, vcpu, cpumap):
|
||||
"""Dynamically change the real CPUs which can be allocated to
|
||||
a virtual CPU. This function requires privileged access to
|
||||
Index: libvirt-0.5.1/python/libvir.c
|
||||
Index: libvirt-0.6.2/python/libvir.c
|
||||
===================================================================
|
||||
--- libvirt-0.5.1.orig/python/libvir.c
|
||||
+++ libvirt-0.5.1/python/libvir.c
|
||||
--- libvirt-0.6.2.orig/python/libvir.c
|
||||
+++ libvirt-0.6.2/python/libvir.c
|
||||
@@ -1375,6 +1375,35 @@ libvirt_virStoragePoolGetInfo(PyObject *
|
||||
return(py_retval);
|
||||
}
|
||||
@ -1093,10 +1076,10 @@ Index: libvirt-0.5.1/python/libvir.c
|
||||
{(char *) "virConnectListStoragePools", libvirt_virConnectListStoragePools, METH_VARARGS, NULL},
|
||||
{(char *) "virConnectListDefinedStoragePools", libvirt_virConnectListDefinedStoragePools, METH_VARARGS, NULL},
|
||||
{(char *) "virStoragePoolGetAutostart", libvirt_virStoragePoolGetAutostart, METH_VARARGS, NULL},
|
||||
Index: libvirt-0.5.1/python/libvirt-python-api.xml
|
||||
Index: libvirt-0.6.2/python/libvirt-python-api.xml
|
||||
===================================================================
|
||||
--- libvirt-0.5.1.orig/python/libvirt-python-api.xml
|
||||
+++ libvirt-0.5.1/python/libvirt-python-api.xml
|
||||
--- libvirt-0.6.2.orig/python/libvirt-python-api.xml
|
||||
+++ libvirt-0.6.2/python/libvirt-python-api.xml
|
||||
@@ -135,6 +135,11 @@
|
||||
<arg name='domain' type='virDomainPtr' info='pointer to domain object'/>
|
||||
<arg name='params' type='virSchedParameterPtr' info='pointer to scheduler parameter objects'/>
|
||||
@ -1109,10 +1092,10 @@ Index: libvirt-0.5.1/python/libvirt-python-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.5.1/python/generator.py
|
||||
Index: libvirt-0.6.2/python/generator.py
|
||||
===================================================================
|
||||
--- libvirt-0.5.1.orig/python/generator.py
|
||||
+++ libvirt-0.5.1/python/generator.py
|
||||
--- libvirt-0.6.2.orig/python/generator.py
|
||||
+++ libvirt-0.6.2/python/generator.py
|
||||
@@ -313,6 +313,7 @@ skip_impl = (
|
||||
'virDomainSetSchedulerParameters',
|
||||
'virDomainGetVcpus',
|
||||
@ -1121,11 +1104,11 @@ Index: libvirt-0.5.1/python/generator.py
|
||||
'virStoragePoolGetUUID',
|
||||
'virStoragePoolGetUUIDString',
|
||||
'virStoragePoolLookupByUUID',
|
||||
Index: libvirt-0.5.1/src/libvirt_sym.version.in
|
||||
Index: libvirt-0.6.2/src/libvirt_public.syms
|
||||
===================================================================
|
||||
--- libvirt-0.5.1.orig/src/libvirt_sym.version.in
|
||||
+++ libvirt-0.5.1/src/libvirt_sym.version.in
|
||||
@@ -224,6 +224,11 @@ LIBVIRT_0.4.2 {
|
||||
--- libvirt-0.6.2.orig/src/libvirt_public.syms
|
||||
+++ libvirt-0.6.2/src/libvirt_public.syms
|
||||
@@ -215,6 +215,11 @@ LIBVIRT_0.4.2 {
|
||||
LIBVIRT_0.4.5 {
|
||||
global:
|
||||
virConnectFindStoragePoolSources;
|
||||
|
@ -1,8 +1,8 @@
|
||||
Index: libvirt-0.5.1/src/remote_internal.c
|
||||
Index: libvirt-0.6.2/src/remote_internal.c
|
||||
===================================================================
|
||||
--- libvirt-0.5.1.orig/src/remote_internal.c
|
||||
+++ libvirt-0.5.1/src/remote_internal.c
|
||||
@@ -674,9 +674,22 @@ doRemoteOpen (virConnectPtr conn,
|
||||
--- libvirt-0.6.2.orig/src/remote_internal.c
|
||||
+++ libvirt-0.6.2/src/remote_internal.c
|
||||
@@ -704,9 +704,22 @@ doRemoteOpen (virConnectPtr conn,
|
||||
cmd_argv[j++] = strdup ("none");
|
||||
}
|
||||
cmd_argv[j++] = strdup (priv->hostname);
|
||||
|
@ -1,8 +1,8 @@
|
||||
Index: libvirt-0.5.1/src/network_conf.c
|
||||
Index: libvirt-0.6.2/src/network_conf.c
|
||||
===================================================================
|
||||
--- libvirt-0.5.1.orig/src/network_conf.c
|
||||
+++ libvirt-0.5.1/src/network_conf.c
|
||||
@@ -752,6 +752,137 @@ error:
|
||||
--- libvirt-0.6.2.orig/src/network_conf.c
|
||||
+++ libvirt-0.6.2/src/network_conf.c
|
||||
@@ -768,6 +768,137 @@ error:
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@ -140,7 +140,7 @@ Index: libvirt-0.5.1/src/network_conf.c
|
||||
int virNetworkLoadAllConfigs(virConnectPtr conn,
|
||||
virNetworkObjListPtr nets,
|
||||
const char *configDir,
|
||||
@@ -787,6 +918,7 @@ int virNetworkLoadAllConfigs(virConnectP
|
||||
@@ -807,6 +938,7 @@ int virNetworkLoadAllConfigs(virConnectP
|
||||
|
||||
closedir(dir);
|
||||
|
||||
@ -148,25 +148,25 @@ Index: libvirt-0.5.1/src/network_conf.c
|
||||
return 0;
|
||||
}
|
||||
|
||||
Index: libvirt-0.5.1/src/network_conf.h
|
||||
Index: libvirt-0.6.2/src/network_conf.h
|
||||
===================================================================
|
||||
--- libvirt-0.5.1.orig/src/network_conf.h
|
||||
+++ libvirt-0.5.1/src/network_conf.h
|
||||
@@ -86,6 +86,7 @@ struct _virNetworkObj {
|
||||
--- libvirt-0.6.2.orig/src/network_conf.h
|
||||
+++ libvirt-0.6.2/src/network_conf.h
|
||||
@@ -89,6 +89,7 @@ struct _virNetworkObj {
|
||||
unsigned int active : 1;
|
||||
unsigned int autostart : 1;
|
||||
unsigned int persistent : 1;
|
||||
+ unsigned int readonly : 1;
|
||||
|
||||
char *configFile; /* Persistent config file path */
|
||||
char *autostartLink; /* Symlink path for autostart */
|
||||
Index: libvirt-0.5.1/src/network_driver.c
|
||||
virNetworkDefPtr def; /* The current definition */
|
||||
virNetworkDefPtr newDef; /* New definition to activate at shutdown */
|
||||
Index: libvirt-0.6.2/src/network_driver.c
|
||||
===================================================================
|
||||
--- libvirt-0.5.1.orig/src/network_driver.c
|
||||
+++ libvirt-0.5.1/src/network_driver.c
|
||||
@@ -763,6 +763,11 @@ static int networkShutdownNetworkDaemon(
|
||||
if (!virNetworkIsActive(network))
|
||||
return 0;
|
||||
--- libvirt-0.6.2.orig/src/network_driver.c
|
||||
+++ libvirt-0.6.2/src/network_driver.c
|
||||
@@ -914,6 +914,11 @@ static int networkShutdownNetworkDaemon(
|
||||
unlink(stateFile);
|
||||
VIR_FREE(stateFile);
|
||||
|
||||
+ if (network->readonly) {
|
||||
+ networkLog(NETWORK_WARN, ": Network '%s' is readonly", network->def->name);
|
||||
@ -176,8 +176,8 @@ Index: libvirt-0.5.1/src/network_driver.c
|
||||
if (network->dnsmasqPid > 0)
|
||||
kill(network->dnsmasqPid, SIGTERM);
|
||||
|
||||
@@ -1082,6 +1087,12 @@ static int networkSetAutostart(virNetwor
|
||||
return -1;
|
||||
@@ -1360,6 +1365,12 @@ static int networkSetAutostart(virNetwor
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
+ if (network->readonly) {
|
||||
@ -188,4 +188,4 @@ Index: libvirt-0.5.1/src/network_driver.c
|
||||
+
|
||||
autostart = (autostart != 0);
|
||||
|
||||
if (network->autostart == autostart)
|
||||
if (network->autostart != autostart) {
|
||||
|
@ -1,10 +1,10 @@
|
||||
Index: libvirt-0.5.1/src/xend_internal.c
|
||||
Index: libvirt-0.6.2/src/xend_internal.c
|
||||
===================================================================
|
||||
--- libvirt-0.5.1.orig/src/xend_internal.c
|
||||
+++ libvirt-0.5.1/src/xend_internal.c
|
||||
@@ -5021,7 +5021,10 @@ xenDaemonFormatSxprDisk(virConnectPtr co
|
||||
def->device == VIR_DOMAIN_DISK_DEVICE_CDROM ?
|
||||
"cdrom" : "disk");
|
||||
--- libvirt-0.6.2.orig/src/xend_internal.c
|
||||
+++ libvirt-0.6.2/src/xend_internal.c
|
||||
@@ -5262,7 +5262,10 @@ xenDaemonFormatSxprDisk(virConnectPtr co
|
||||
} else if (def->device == VIR_DOMAIN_DISK_DEVICE_CDROM) {
|
||||
virBufferVSprintf(buf, "(dev '%s:cdrom')", def->dst);
|
||||
} else {
|
||||
- virBufferVSprintf(buf, "(dev '%s')", def->dst);
|
||||
+ if (def->device == VIR_DOMAIN_DISK_DEVICE_CDROM)
|
||||
|
Loading…
Reference in New Issue
Block a user