SHA256
1
0
forked from pool/libvirt
OBS User unknown 2009-04-24 21:15:55 +00:00 committed by Git OBS Bridge
parent 6ba690802b
commit 4a6373529e
14 changed files with 331 additions and 482 deletions

View File

@ -2,7 +2,7 @@ Index: src/lxc_container.c
=================================================================== ===================================================================
--- src/lxc_container.c.orig --- src/lxc_container.c.orig
+++ src/lxc_container.c +++ 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 }; lxc_child_argv_t args = { def, nveths, veths, control, ttyPath };
/* allocate a stack for the container */ /* allocate a stack for the container */
@ -10,9 +10,9 @@ Index: src/lxc_container.c
+ stacksize *= 2; + stacksize *= 2;
+#endif +#endif
if (VIR_ALLOC_N(stack, stacksize) < 0) { if (VIR_ALLOC_N(stack, stacksize) < 0) {
lxcError(NULL, NULL, VIR_ERR_NO_MEMORY, NULL); virReportOOMError(NULL);
return -1; return -1;
@@ -614,7 +617,11 @@ int lxcContainerStart(virDomainDefPtr de @@ -628,7 +631,11 @@ int lxcContainerStart(virDomainDefPtr de
if (def->nets != NULL) if (def->nets != NULL)
flags |= CLONE_NEWNET; flags |= CLONE_NEWNET;
@ -24,7 +24,7 @@ Index: src/lxc_container.c
VIR_FREE(stack); VIR_FREE(stack);
DEBUG("clone() returned, %d", pid); DEBUG("clone() returned, %d", pid);
@@ -640,18 +647,26 @@ int lxcContainerAvailable(int features) @@ -654,18 +661,26 @@ int lxcContainerAvailable(int features)
char *childStack; char *childStack;
char *stack; char *stack;
int childStatus; int childStatus;
@ -52,4 +52,4 @@ Index: src/lxc_container.c
+#endif +#endif
VIR_FREE(stack); VIR_FREE(stack);
if (cpid < 0) { if (cpid < 0) {
DEBUG("clone call returned %s, container support is not enabled", char ebuf[1024];

View File

@ -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)

View File

@ -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.6.2.orig/src/xend_internal.c
+++ libvirt-0.5.1/src/xend_internal.c +++ libvirt-0.6.2/src/xend_internal.c
@@ -5465,11 +5465,16 @@ virDomainXMLDevID(virDomainPtr domain, @@ -5829,7 +5829,7 @@ virDomainXMLDevID(virDomainPtr domain,
char *xref;
if (dev->type == VIR_DOMAIN_DEVICE_DISK) {
- strcpy(class, "vbd");
if (dev->data.disk->dst == NULL)
return -1; return -1;
+ xenUnifiedLock(priv);
+ if (dev->data.disk->driverName &&
+ (strcasecmp(dev->data.disk->driverName, "tap") == 0))
+ strcpy(class, "tap");
+ else
+ strcpy(class, "vbd");
xref = xenStoreDomainGetDiskID(domain->conn, domain->id, xref = xenStoreDomainGetDiskID(domain->conn, domain->id,
- dev->data.disk->dst); - dev->data.disk->dst);
+ dev->data.disk->dst, class); + dev->data.disk->dst, class);
xenUnifiedUnlock(priv);
if (xref == NULL) if (xref == NULL)
return -1; return -1;
Index: libvirt-0.6.2/src/xs_internal.c
Index: libvirt-0.5.1/src/xs_internal.c
=================================================================== ===================================================================
--- libvirt-0.5.1.orig/src/xs_internal.c --- libvirt-0.6.2.orig/src/xs_internal.c
+++ libvirt-0.5.1/src/xs_internal.c +++ libvirt-0.6.2/src/xs_internal.c
@@ -917,7 +917,8 @@ xenStoreDomainGetNetworkID(virConnectPtr @@ -966,7 +966,8 @@ xenStoreDomainGetNetworkID(virConnectPtr
* freed by the caller. * freed by the caller.
*/ */
char * char *
@ -35,7 +25,7 @@ Index: libvirt-0.5.1/src/xs_internal.c
char dir[80], path[128], **list = NULL, *val = NULL; char dir[80], path[128], **list = NULL, *val = NULL;
unsigned int devlen, len, i, num; unsigned int devlen, len, i, num;
char *ret = NULL; char *ret = NULL;
@@ -935,7 +936,7 @@ xenStoreDomainGetDiskID(virConnectPtr co @@ -984,7 +985,7 @@ xenStoreDomainGetDiskID(virConnectPtr co
if (devlen <= 0) if (devlen <= 0)
return (NULL); return (NULL);
@ -44,11 +34,11 @@ Index: libvirt-0.5.1/src/xs_internal.c
list = xs_directory(priv->xshandle, 0, dir, &num); list = xs_directory(priv->xshandle, 0, dir, &num);
if (list != NULL) { if (list != NULL) {
for (i = 0; i < num; i++) { 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.6.2.orig/src/xs_internal.h
+++ libvirt-0.5.1/src/xs_internal.h +++ libvirt-0.6.2/src/xs_internal.h
@@ -48,7 +48,8 @@ char * xenStoreDomainGetNetworkID(virCo @@ -49,7 +49,8 @@ char * xenStoreDomainGetNetworkID(virCo
const char *mac); const char *mac);
char * xenStoreDomainGetDiskID(virConnectPtr conn, char * xenStoreDomainGetDiskID(virConnectPtr conn,
int id, int id,

View File

@ -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 \

View File

@ -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
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:15297915384d7f9cab9b21ca7fe9c301e1574a686c4927c69ffc7e65f148e7a5
size 4144248

View File

@ -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 Mon Apr 20 17:01:38 CEST 2009 - crrodriguez@suse.de

View File

@ -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. # Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
# #
@ -51,8 +51,8 @@ Url: http://libvirt.org/
License: LGPL v2.1 or later License: LGPL v2.1 or later
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
AutoReqProv: yes AutoReqProv: yes
Version: 0.5.1 Version: 0.6.2
Release: 3 Release: 1
Summary: A C toolkit to interract with the virtualization capabilities of Linux Summary: A C toolkit to interract with the virtualization capabilities of Linux
Requires: readline Requires: readline
Requires: ncurses Requires: ncurses
@ -63,6 +63,7 @@ Requires: lvm2
Requires: parted Requires: parted
#Requires: /usr/bin/qemu-img #Requires: /usr/bin/qemu-img
Recommends: cyrus-sasl-digestmd5 Recommends: cyrus-sasl-digestmd5
Recommends: logrotate
Requires: dnsmasq Requires: dnsmasq
Requires: PolicyKit >= 0.6 Requires: PolicyKit >= 0.6
Requires: socat Requires: socat
@ -79,10 +80,8 @@ Patch4: vnc-port.patch
Patch5: xen-pv-cdrom.patch Patch5: xen-pv-cdrom.patch
Patch6: detach-disk.patch Patch6: detach-disk.patch
Patch7: migrate-params.patch Patch7: migrate-params.patch
Patch8: cve-2008-5086.patch Patch8: suse-network.patch
Patch9: devhelp.patch Patch9: snapshots.patch
Patch10: suse-network.patch
Patch11: snapshots.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description %description
@ -176,16 +175,14 @@ Authors:
%setup -q %setup -q
%patch0 -p1 %patch0 -p1
%patch1 -p1 %patch1 -p1
%patch2 -p1 #%patch2 -p1
%patch3 %patch3
%patch4 -p1 #%patch4 -p1
%patch5 -p1 %patch5 -p1
%patch6 -p1 %patch6 -p1
%patch7 -p1 %patch7 -p1
%patch8 -p1 %patch8 -p1
%patch9 -p1 %patch9 -p1
%patch10 -p1
%patch11 -p1
%build %build
%if ! %{with_xen} %if ! %{with_xen}
@ -199,7 +196,8 @@ Authors:
%endif %endif
autoreconf -f -i autoreconf -f -i
export CFLAGS="$RPM_OPT_FLAGS" export CFLAGS="$RPM_OPT_FLAGS"
%configure --disable-static --with-pic %{?_without_xen} \ %configure --disable-static --with-pic \
%{?_without_xen} \
%{?_without_lxc} \ %{?_without_lxc} \
%{?_with_selinux} \ %{?_with_selinux} \
--libexecdir=%{_libdir}/%{name} \ --libexecdir=%{_libdir}/%{name} \
@ -209,8 +207,10 @@ export CFLAGS="$RPM_OPT_FLAGS"
ac_cv_path_DNSMASQ=/usr/sbin/dnsmasq \ ac_cv_path_DNSMASQ=/usr/sbin/dnsmasq \
ac_cv_path_QEMU_IMG=/usr/bin/qemu-img-xen \ ac_cv_path_QEMU_IMG=/usr/bin/qemu-img-xen \
ac_cv_path_ISCSIADM=/sbin/iscsiadm \ 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 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 %install
%makeinstall DOCS_DIR=%{_docdir}/%{name}-python EXAMPLE_DIR=%{_docdir}/%{name}-python/examples HTML_DIR=%{_docdir}/%{name} %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 .. cd docs ; cp -a *.html $RPM_BUILD_ROOT%{_docdir}/%{name} ; cp -a *.png $RPM_BUILD_ROOT%{_docdir}/%{name} ; cd ..
# remove currently unsupported locale(s) # remove currently unsupported locale(s)
rm -rf $RPM_BUILD_ROOT/usr/share/locale/sr@latin rm -rf $RPM_BUILD_ROOT/usr/share/locale/sr@latin
# for now, do not install the default network definition # don't autostart the default network
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/default.xml
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml 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}/run/libvirt
mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/lib/libvirt mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/lib/libvirt
rm $RPM_BUILD_ROOT%{_docdir}/%{name}/{*.c,examples.x*} 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 %clean
rm -rf $RPM_BUILD_ROOT rm -rf $RPM_BUILD_ROOT
%post %post -p /sbin/ldconfig
/sbin/ldconfig
%{fillup_and_insserv -f -y libvirtd}
%preun %preun
%stop_on_removal libvirtd %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/
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/ %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/autostart %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}/run/libvirt/
%dir /%{_localstatedir}/lib/libvirt/ %dir /%{_localstatedir}/lib/libvirt/
%config /etc/init.d/libvirtd %config /etc/init.d/libvirtd
@ -297,6 +291,8 @@ rm -rf $RPM_BUILD_ROOT
%if 0%{?suse_version} > 1030 %if 0%{?suse_version} > 1030
%{_datadir}/PolicyKit/policy/org.libvirt.unix.policy %{_datadir}/PolicyKit/policy/org.libvirt.unix.policy
%endif %endif
%{_datadir}/libvirt
%{_datadir}/augeas
%files devel %files devel
%defattr(-, root, root) %defattr(-, root, root)
@ -319,12 +315,32 @@ rm -rf $RPM_BUILD_ROOT
%{py_sitedir}/libvirtmod* %{py_sitedir}/libvirtmod*
%changelog %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 * Mon Apr 20 2009 crrodriguez@suse.de
- use --disable-static instead of just removing static libraries - 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 - Fix build for architectures not supporting numa
- Forward port suse-network.patch and snapshots.patch - 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 - Updated to version 0.5.1
- CPU and scheduler support for LXC - CPU and scheduler support for LXC
- SDL display configuration - SDL display configuration
@ -354,19 +370,19 @@ rm -rf $RPM_BUILD_ROOT
* Mon Nov 24 2008 jfehlig@novell.com * Mon Nov 24 2008 jfehlig@novell.com
- Fix connecting/disconnecting ISO via virt-manager - Fix connecting/disconnecting ISO via virt-manager
bnc#446773 bnc#446773
* Fri Nov 21 2008 jfehlig@novell.com * Thu Nov 20 2008 jfehlig@novell.com
- Fix detach of Xen tap devices - Fix detach of Xen tap devices
bnc#410644 and bnc#411633 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. - Fix handling of iso/cdrom for xen pv domains.
bnc#437388 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. - Expose networks managed outside of libvirt as read-only.
bnc#441633 bnc#441633
* Wed Nov 05 2008 jfehlig@novell.com * Wed Nov 05 2008 jfehlig@novell.com
- Fix vnc port assignement in domain XML - Fix vnc port assignement in domain XML
bnc#441625 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 - Add upstream patches to fix ordering problem with setting up
cgroup containment on LXC domains. cgroup containment on LXC domains.
bnc#437816 bnc#437816
@ -378,9 +394,9 @@ rm -rf $RPM_BUILD_ROOT
* Mon Oct 06 2008 jfehlig@novell.com * Mon Oct 06 2008 jfehlig@novell.com
- Use xend vs hypercall interface to change max mem setting - Use xend vs hypercall interface to change max mem setting
bnc#431766 bnc#431766
* Thu Oct 02 2008 jfehlig@novell.com
- Enabled libvirtd listen mode in libvirtd init script.
* Wed Oct 01 2008 jfehlig@novell.com * 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 - Updated to version 0.4.6
- avoid a segfault if missing qemu emulator - avoid a segfault if missing qemu emulator
- reading vncdisplay from xend domain - reading vncdisplay from xend domain
@ -406,9 +422,9 @@ rm -rf $RPM_BUILD_ROOT
* Tue Sep 02 2008 kwolf@suse.de * Tue Sep 02 2008 kwolf@suse.de
- Added snapshot support. Implemented snapshot_create/apply/delete - Added snapshot support. Implemented snapshot_create/apply/delete
for Xen. for Xen.
* Sat Aug 30 2008 jfehlig@novell.com
- Fixed bugs in nfs storage pool creation/deletion
* Fri Aug 29 2008 jfehlig@novell.com * 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. - Fixed bugs in LVM storage pool creation.
logical-storage-driver.patch submitted upstream logical-storage-driver.patch submitted upstream
* Wed Aug 27 2008 jfehlig@novell.com * Wed Aug 27 2008 jfehlig@novell.com
@ -423,7 +439,7 @@ rm -rf $RPM_BUILD_ROOT
- Fixed spec file breakage due to SELinux enablement - Fixed spec file breakage due to SELinux enablement
* Fri Aug 22 2008 prusnak@suse.cz * Fri Aug 22 2008 prusnak@suse.cz
- enabled SELinux support [Fate#303662] - enabled SELinux support [Fate#303662]
* Tue Aug 12 2008 jfehlig@novell.com * Mon Aug 11 2008 jfehlig@novell.com
- Cleanup of libvirtd init script - Cleanup of libvirtd init script
- Removed dnsmasq from BuildRequires - Removed dnsmasq from BuildRequires
* Sat Aug 09 2008 jfehlig@novell.com * Sat Aug 09 2008 jfehlig@novell.com
@ -452,7 +468,7 @@ rm -rf $RPM_BUILD_ROOT
* Thu Apr 10 2008 jfehlig@novell.com * Thu Apr 10 2008 jfehlig@novell.com
- Fix NULL pointer dereference in auth callback. bnc#373180, - Fix NULL pointer dereference in auth callback. bnc#373180,
bnc#354995 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 - Remove Requires of nc package. netcat is the equivalent but it
does not support unix domain sockets so no need to require it does not support unix domain sockets so no need to require it
either. either.
@ -477,11 +493,11 @@ rm -rf $RPM_BUILD_ROOT
to be a subtle dependency issue in one of the makefiles which is to be a subtle dependency issue in one of the makefiles which is
causing problems with generation of python bindings when jobs > 1. causing problems with generation of python bindings when jobs > 1.
Bug #329032. 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 - Added init script for libvirtd. libvirtd is needed to support
management of qemu/kvm guests. Some Xen networking is handled management of qemu/kvm guests. Some Xen networking is handled
through libvirt as well - bug #298021. 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 - Update to libvirt-0.3.0
- Secure Remote support - Secure Remote support
- Documentation: remote support, description of the URI connection - Documentation: remote support, description of the URI connection
@ -522,14 +538,14 @@ rm -rf $RPM_BUILD_ROOT
- Fixed docdir destination. - Fixed docdir destination.
- Build with CFLAGS. - Build with CFLAGS.
- Spec file cleanup. - 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 - Removed usr/lib/libvirt_proxy setuid binary from package. Fixes
bug #246610. 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 - Updated to latest release. Many of the issues seen in virt-manager
have been caused by bugs / missing functionality in libvirt. This have been caused by bugs / missing functionality in libvirt. This
upate provides a better basis for virt-manager. 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 - Updated to latest release, version 0.1.10. Submitting to SLES10 SP1
to provide base functionality for FATE feature 301181. to provide base functionality for FATE feature 301181.
- more localizations - more localizations
@ -541,7 +557,7 @@ rm -rf $RPM_BUILD_ROOT
- support graphic framebuffer for Xen paravirt (Daniel Berrange) - support graphic framebuffer for Xen paravirt (Daniel Berrange)
- VNC listen IP range support (Daniel Berrange) - VNC listen IP range support (Daniel Berrange)
- support for default Xen config files and inactive domains of 3.0.4 (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. - Updated to latest release, version 0.1.9.
- python bindings: release interpeter lock when calling C (Daniel Berrange) - python bindings: release interpeter lock when calling C (Daniel Berrange)
- don't raise HTTP error when looking informations for a domain - don't raise HTTP error when looking informations for a domain

View File

@ -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.6.2.orig/qemud/libvirtd.conf
+++ libvirt-0.5.1/qemud/libvirtd.conf +++ libvirt-0.6.2/qemud/libvirtd.conf
@@ -18,8 +18,8 @@ @@ -18,8 +18,8 @@
# It is necessary to setup a CA and issue server certificates before # It is necessary to setup a CA and issue server certificates before
# using this capability. # using this capability.
@ -28,12 +28,12 @@ Index: libvirt-0.5.1/qemud/libvirtd.conf
# Override the default mDNS advertizement name. This must be # Override the default mDNS advertizement name. This must be
# unique on the immediate broadcast network. # 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.6.2.orig/qemud/qemud.c
+++ libvirt-0.5.1/qemud/qemud.c +++ libvirt-0.6.2/qemud/qemud.c
@@ -92,7 +92,7 @@ static int sigwrite = -1; /* Signa @@ -132,7 +132,7 @@ static char *log_filters = NULL;
static int ipsock = 0; /* -l Listen for TCP/IP */ static char *log_outputs = NULL;
/* Defaults for configuration file elements */ /* Defaults for configuration file elements */
-static int listen_tls = 1; -static int listen_tls = 1;
@ -41,7 +41,7 @@ Index: libvirt-0.5.1/qemud/qemud.c
static int listen_tcp = 0; static int listen_tcp = 0;
static char *listen_addr = (char *) LIBVIRTD_LISTEN_ADDR; static char *listen_addr = (char *) LIBVIRTD_LISTEN_ADDR;
static char *tls_port = (char *) LIBVIRTD_TLS_PORT; 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 #endif
static int auth_tls = REMOTE_AUTH_NONE; static int auth_tls = REMOTE_AUTH_NONE;

View File

@ -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.6.2.orig/src/xend_internal.c
+++ libvirt-0.5.1/src/xend_internal.c +++ libvirt-0.6.2/src/xend_internal.c
@@ -4226,6 +4226,8 @@ xenDaemonDomainMigratePerform (virDomain @@ -4453,6 +4453,8 @@ xenDaemonDomainMigratePerform (virDomain
"live", live, "node", "-1",
"port", port, "ssl", "0",
"resource", "0", /* required, xend ignores it */ "resource", "0", /* required, xend ignores it */
+ "node", "-1", /* numa node, xen c/s 17753 */ + "node", "-1", /* numa node, xen c/s 17753 */
+ "ssl", "0", /* ssl migration, xen c/s 17709 */ + "ssl", "0", /* ssl migration, xen c/s 17709 */

View File

@ -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.6.2.orig/include/libvirt/libvirt.h.in
+++ libvirt-0.5.1/include/libvirt/libvirt.h.in +++ libvirt-0.6.2/include/libvirt/libvirt.h.in
@@ -470,6 +470,21 @@ int virDomainRestore @@ -537,6 +537,21 @@ int virDomainRestore
const char *from); const char *from);
/* /*
@ -24,11 +24,11 @@ Index: libvirt-0.5.1/include/libvirt/libvirt.h.in
* Domain core dump * Domain core dump
*/ */
int virDomainCoreDump (virDomainPtr domain, 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.6.2.orig/src/libvirt.c
+++ libvirt-0.5.1/src/libvirt.c +++ libvirt-0.6.2/src/libvirt.c
@@ -1777,6 +1777,168 @@ virDomainRestore(virConnectPtr conn, con @@ -2067,6 +2067,168 @@ error:
return -1; return -1;
} }
@ -197,10 +197,10 @@ Index: libvirt-0.5.1/src/libvirt.c
/** /**
* virDomainCoreDump: * virDomainCoreDump:
* @domain: a domain object * @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.6.2.orig/src/driver.h
+++ libvirt-0.5.1/src/driver.h +++ libvirt-0.6.2/src/driver.h
@@ -145,6 +145,21 @@ typedef int @@ -145,6 +145,21 @@ typedef int
(*virDrvDomainRestore) (virConnectPtr conn, (*virDrvDomainRestore) (virConnectPtr conn,
const char *from); const char *from);
@ -223,11 +223,10 @@ Index: libvirt-0.5.1/src/driver.h
(*virDrvDomainCoreDump) (virDomainPtr domain, (*virDrvDomainCoreDump) (virDomainPtr domain,
const char *to, const char *to,
int flags); int flags);
@@ -387,6 +402,12 @@ struct _virDriver { @@ -408,6 +423,11 @@ struct _virDriver {
virDrvDomainEventDeregister domainEventDeregister; virDrvNodeDeviceDettach nodeDeviceDettach;
virDrvDomainMigratePrepare2 domainMigratePrepare2; virDrvNodeDeviceReAttach nodeDeviceReAttach;
virDrvDomainMigrateFinish2 domainMigrateFinish2; virDrvNodeDeviceReset nodeDeviceReset;
+
+ virDrvDomainSnapshotCreate domainSnapshotCreate; + virDrvDomainSnapshotCreate domainSnapshotCreate;
+ virDrvDomainSnapshotApply domainSnapshotApply; + virDrvDomainSnapshotApply domainSnapshotApply;
+ virDrvDomainSnapshotDelete domainSnapshotDelete; + virDrvDomainSnapshotDelete domainSnapshotDelete;
@ -236,11 +235,11 @@ Index: libvirt-0.5.1/src/driver.h
}; };
typedef int 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.6.2.orig/src/xen_unified.c
+++ libvirt-0.5.1/src/xen_unified.c +++ libvirt-0.6.2/src/xen_unified.c
@@ -924,6 +924,81 @@ xenUnifiedDomainRestore (virConnectPtr c @@ -931,6 +931,81 @@ xenUnifiedDomainRestore (virConnectPtr c
} }
static int static int
@ -322,39 +321,39 @@ Index: libvirt-0.5.1/src/xen_unified.c
xenUnifiedDomainCoreDump (virDomainPtr dom, const char *to, int flags) xenUnifiedDomainCoreDump (virDomainPtr dom, const char *to, int flags)
{ {
GET_PRIVATE(dom->conn); GET_PRIVATE(dom->conn);
@@ -1425,6 +1500,11 @@ static virDriver xenUnifiedDriver = { @@ -1608,6 +1683,11 @@ static virDriver xenUnifiedDriver = {
.domainGetInfo = xenUnifiedDomainGetInfo, xenUnifiedNodeDeviceDettach, /* nodeDeviceDettach */
.domainSave = xenUnifiedDomainSave, xenUnifiedNodeDeviceReAttach, /* nodeDeviceReAttach */
.domainRestore = xenUnifiedDomainRestore, xenUnifiedNodeDeviceReset, /* nodeDeviceReset */
+ .domainSnapshotCreate = xenUnifiedDomainSnapshotCreate, + xenUnifiedDomainSnapshotCreate,
+ .domainSnapshotApply = xenUnifiedDomainSnapshotApply, + xenUnifiedDomainSnapshotApply,
+ .domainSnapshotDelete = xenUnifiedDomainSnapshotDelete, + xenUnifiedDomainSnapshotDelete,
+ .domainNumOfSnapshots = xenUnifiedDomainNumOfSnapshots, + xenUnifiedDomainNumOfSnapshots,
+ .domainListSnapshots = xenUnifiedDomainListSnapshots, + xenUnifiedDomainListSnapshots,
.domainCoreDump = xenUnifiedDomainCoreDump, };
.domainSetVcpus = xenUnifiedDomainSetVcpus,
.domainPinVcpu = xenUnifiedDomainPinVcpu, /**
Index: libvirt-0.5.1/src/xen_unified.h Index: libvirt-0.6.2/src/xen_unified.h
=================================================================== ===================================================================
--- libvirt-0.5.1.orig/src/xen_unified.h --- libvirt-0.6.2.orig/src/xen_unified.h
+++ libvirt-0.5.1/src/xen_unified.h +++ libvirt-0.6.2/src/xen_unified.h
@@ -78,6 +78,11 @@ struct xenUnifiedDriver { @@ -95,6 +95,11 @@ struct xenUnifiedDriver {
virDrvDomainGetInfo domainGetInfo; virDrvDomainGetSchedulerType domainGetSchedulerType;
virDrvDomainSave domainSave; virDrvDomainGetSchedulerParameters domainGetSchedulerParameters;
virDrvDomainRestore domainRestore; virDrvDomainSetSchedulerParameters domainSetSchedulerParameters;
+ virDrvDomainSnapshotCreate domainSnapshotCreate; + virDrvDomainSnapshotCreate domainSnapshotCreate;
+ virDrvDomainSnapshotApply domainSnapshotApply; + virDrvDomainSnapshotApply domainSnapshotApply;
+ virDrvDomainSnapshotDelete domainSnapshotDelete; + virDrvDomainSnapshotDelete domainSnapshotDelete;
+ virDrvDomainNumOfSnapshots domainNumOfSnapshots; + virDrvDomainNumOfSnapshots domainNumOfSnapshots;
+ virDrvDomainListSnapshots domainListSnapshots; + virDrvDomainListSnapshots domainListSnapshots;
virDrvDomainCoreDump domainCoreDump; };
virDrvDomainSetVcpus domainSetVcpus;
virDrvDomainPinVcpu domainPinVcpu; typedef struct xenXMConfCache *xenXMConfCachePtr;
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.6.2.orig/src/xend_internal.c
+++ libvirt-0.5.1/src/xend_internal.c +++ libvirt-0.6.2/src/xend_internal.c
@@ -51,6 +51,12 @@ @@ -53,6 +53,12 @@
#ifndef PROXY #ifndef PROXY
@ -367,7 +366,7 @@ Index: libvirt-0.5.1/src/xend_internal.c
/* /*
* The number of Xen scheduler parameters * 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); return xend_op(conn, "", "op", "restore", "file", filename, NULL);
} }
@ -455,87 +454,87 @@ Index: libvirt-0.5.1/src/xend_internal.c
#endif /* !PROXY */ #endif /* !PROXY */
/** /**
@@ -4781,6 +4868,11 @@ struct xenUnifiedDriver xenDaemonDriver @@ -5025,6 +5112,11 @@ struct xenUnifiedDriver xenDaemonDriver
xenDaemonDomainGetInfo, /* domainGetInfo */ xenDaemonGetSchedulerType, /* domainGetSchedulerType */
xenDaemonDomainSave, /* domainSave */ xenDaemonGetSchedulerParameters, /* domainGetSchedulerParameters */
xenDaemonDomainRestore, /* domainRestore */ xenDaemonSetSchedulerParameters, /* domainSetSchedulerParameters */
+ xenDaemonDomainSnapshotCreate, /* domainSnapshotCreate */ + xenDaemonDomainSnapshotCreate, /* domainSnapshotCreate */
+ xenDaemonDomainSnapshotApply, /* domainSnapshotApply */ + xenDaemonDomainSnapshotApply, /* domainSnapshotApply */
+ xenDaemonDomainSnapshotDelete, /* domainSnapshotDelete */ + xenDaemonDomainSnapshotDelete, /* domainSnapshotDelete */
+ xenDaemonDomainNumOfSnapshots, /* domainNumOfSnapshots */ + xenDaemonDomainNumOfSnapshots, /* domainNumOfSnapshots */
+ xenDaemonDomainListSnapshots, /* domainListSnapshots */ + 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.6.2.orig/src/proxy_internal.c
+++ libvirt-0.5.1/src/proxy_internal.c +++ libvirt-0.6.2/src/proxy_internal.c
@@ -68,6 +68,11 @@ struct xenUnifiedDriver xenProxyDriver = @@ -84,6 +84,11 @@ struct xenUnifiedDriver xenProxyDriver =
xenProxyDomainGetInfo, /* domainGetInfo */ NULL, /* domainGetSchedulerType */
NULL, /* domainSave */ NULL, /* domainGetSchedulerParameters */
NULL, /* domainRestore */ NULL, /* domainSetSchedulerParameters */
+ NULL, /* domainSnapshotCreate */ + NULL, /* domainSnapshotCreate */
+ NULL, /* domainSnapshotApply */ + NULL, /* domainSnapshotApply */
+ NULL, /* domainSnapshotDelete */ + NULL, /* domainSnapshotDelete */
+ NULL, /* domainNumOfSnapshots */ + NULL, /* domainNumOfSnapshots */
+ NULL, /* domainListSnapshots */ + 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.6.2.orig/src/xen_internal.c
+++ libvirt-0.5.1/src/xen_internal.c +++ libvirt-0.6.2/src/xen_internal.c
@@ -699,6 +699,11 @@ struct xenUnifiedDriver xenHypervisorDri @@ -731,6 +731,11 @@ struct xenUnifiedDriver xenHypervisorDri
xenHypervisorGetDomainInfo, /* domainGetInfo */ xenHypervisorGetSchedulerType, /* domainGetSchedulerType */
NULL, /* domainSave */ xenHypervisorGetSchedulerParameters, /* domainGetSchedulerParameters */
NULL, /* domainRestore */ xenHypervisorSetSchedulerParameters, /* domainSetSchedulerParameters */
+ NULL, /* domainSnapshotCreate */ + NULL, /* domainSnapshotCreate */
+ NULL, /* domainSnapshotApply */ + NULL, /* domainSnapshotApply */
+ NULL, /* domainSnapshotDelete */ + NULL, /* domainSnapshotDelete */
+ NULL, /* domainNumOfSnapshots */ + NULL, /* domainNumOfSnapshots */
+ NULL, /* domainListSnapshots */ + NULL, /* domainListSnapshots */
NULL, /* domainCoreDump */ };
xenHypervisorSetVcpus, /* domainSetVcpus */ #endif /* !PROXY */
xenHypervisorPinVcpu, /* domainPinVcpu */
Index: libvirt-0.5.1/src/xm_internal.c Index: libvirt-0.6.2/src/xm_internal.c
=================================================================== ===================================================================
--- libvirt-0.5.1.orig/src/xm_internal.c --- libvirt-0.6.2.orig/src/xm_internal.c
+++ libvirt-0.5.1/src/xm_internal.c +++ libvirt-0.6.2/src/xm_internal.c
@@ -100,6 +100,11 @@ struct xenUnifiedDriver xenXMDriver = { @@ -116,6 +116,11 @@ struct xenUnifiedDriver xenXMDriver = {
xenXMDomainGetInfo, /* domainGetInfo */ NULL, /* domainGetSchedulerType */
NULL, /* domainSave */ NULL, /* domainGetSchedulerParameters */
NULL, /* domainRestore */ NULL, /* domainSetSchedulerParameters */
+ NULL, /* domainSnapshotCreate */ + NULL, /* domainSnapshotCreate */
+ NULL, /* domainSnapshotApply */ + NULL, /* domainSnapshotApply */
+ NULL, /* domainSnapshotDelete */ + NULL, /* domainSnapshotDelete */
+ NULL, /* domainNumOfSnapshots */ + NULL, /* domainNumOfSnapshots */
+ NULL, /* domainListSnapshots */ + NULL, /* domainListSnapshots */
NULL, /* domainCoreDump */ };
xenXMDomainSetVcpus, /* domainSetVcpus */
xenXMDomainPinVcpu, /* domainPinVcpu */ #define xenXMError(conn, code, fmt...) \
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.6.2.orig/src/xs_internal.c
+++ libvirt-0.5.1/src/xs_internal.c +++ libvirt-0.6.2/src/xs_internal.c
@@ -74,6 +74,11 @@ struct xenUnifiedDriver xenStoreDriver = @@ -83,6 +83,11 @@ struct xenUnifiedDriver xenStoreDriver =
xenStoreGetDomainInfo, /* domainGetInfo */ NULL, /* domainGetSchedulerType */
NULL, /* domainSave */ NULL, /* domainGetSchedulerParameters */
NULL, /* domainRestore */ NULL, /* domainSetSchedulerParameters */
+ NULL, /* domainSnapshotCreate */ + NULL, /* domainSnapshotCreate */
+ NULL, /* domainSnapshotApply */ + NULL, /* domainSnapshotApply */
+ NULL, /* domainSnapshotDelete */ + NULL, /* domainSnapshotDelete */
+ NULL, /* domainNumOfSnapshots */ + NULL, /* domainNumOfSnapshots */
+ NULL, /* domainListSnapshots */ + NULL, /* domainListSnapshots */
NULL, /* domainCoreDump */ };
NULL, /* domainSetVcpus */
NULL, /* domainPinVcpu */ #endif /* ! PROXY */
Index: libvirt-0.5.1/src/virsh.c Index: libvirt-0.6.2/src/virsh.c
=================================================================== ===================================================================
--- libvirt-0.5.1.orig/src/virsh.c --- libvirt-0.6.2.orig/src/virsh.c
+++ libvirt-0.5.1/src/virsh.c +++ libvirt-0.6.2/src/virsh.c
@@ -1099,6 +1099,189 @@ cmdSave(vshControl *ctl, const vshCmd *c @@ -1146,6 +1146,189 @@ cmdSave(vshControl *ctl, const vshCmd *c
return ret; return ret;
} }
@ -570,7 +569,7 @@ Index: libvirt-0.5.1/src/virsh.c
+ if (!(name = vshCommandOptString(cmd, "name", NULL))) + if (!(name = vshCommandOptString(cmd, "name", NULL)))
+ return FALSE; + return FALSE;
+ +
+ if (!(dom = vshCommandOptDomain(ctl, cmd, "domain", &domain))) + if (!(dom = vshCommandOptDomain(ctl, cmd, &domain)))
+ return FALSE; + return FALSE;
+ +
+ if (virDomainSnapshotCreate(dom, name) == 0) { + if (virDomainSnapshotCreate(dom, name) == 0) {
@ -615,7 +614,7 @@ Index: libvirt-0.5.1/src/virsh.c
+ if (!(name = vshCommandOptString(cmd, "name", NULL))) + if (!(name = vshCommandOptString(cmd, "name", NULL)))
+ return FALSE; + return FALSE;
+ +
+ if (!(dom = vshCommandOptDomain(ctl, cmd, "domain", &domain))) + if (!(dom = vshCommandOptDomain(ctl, cmd, &domain)))
+ return FALSE; + return FALSE;
+ +
+ if (virDomainSnapshotApply(dom, name) == 0) { + if (virDomainSnapshotApply(dom, name) == 0) {
@ -661,7 +660,7 @@ Index: libvirt-0.5.1/src/virsh.c
+ if (!(name = vshCommandOptString(cmd, "name", NULL))) + if (!(name = vshCommandOptString(cmd, "name", NULL)))
+ return FALSE; + return FALSE;
+ +
+ if (!(dom = vshCommandOptDomain(ctl, cmd, "domain", &domain))) + if (!(dom = vshCommandOptDomain(ctl, cmd, &domain)))
+ return FALSE; + return FALSE;
+ +
+ if (virDomainSnapshotDelete(dom, name) == 0) { + if (virDomainSnapshotDelete(dom, name) == 0) {
@ -704,7 +703,7 @@ Index: libvirt-0.5.1/src/virsh.c
+ if (!vshConnectionUsability(ctl, ctl->conn, TRUE)) + if (!vshConnectionUsability(ctl, ctl->conn, TRUE))
+ return FALSE; + return FALSE;
+ +
+ if (!(dom = vshCommandOptDomain(ctl, cmd, "domain", &domain))) + if (!(dom = vshCommandOptDomain(ctl, cmd, &domain)))
+ return FALSE; + return FALSE;
+ +
+ // TODO Display snapshot details + // TODO Display snapshot details
@ -725,7 +724,7 @@ Index: libvirt-0.5.1/src/virsh.c
/* /*
* "schedinfo" command * "schedinfo" command
*/ */
@@ -5697,6 +5880,12 @@ static const vshCmdDef commands[] = { @@ -5929,6 +6112,12 @@ static const vshCmdDef commands[] = {
{"undefine", cmdUndefine, opts_undefine, info_undefine}, {"undefine", cmdUndefine, opts_undefine, info_undefine},
{"uri", cmdURI, NULL, info_uri}, {"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", cmdVolCreate, opts_vol_create, info_vol_create},
{"vol-create-as", cmdVolCreateAs, opts_vol_create_as, info_vol_create_as}, {"vol-create-as", cmdVolCreateAs, opts_vol_create_as, info_vol_create_as},
{"vol-delete", cmdVolDelete, opts_vol_delete, info_vol_delete}, {"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.6.2.orig/src/lxc_driver.c
+++ libvirt-0.5.1/src/lxc_driver.c +++ libvirt-0.6.2/src/lxc_driver.c
@@ -1291,6 +1291,11 @@ static virDriver lxcDriver = { @@ -1471,6 +1471,11 @@ static virDriver lxcDriver = {
NULL, /* domainEventDeregister */ NULL, /* nodeDeviceDettach */
NULL, /* domainMigratePrepare2 */ NULL, /* nodeDeviceReAttach */
NULL, /* domainMigrateFinish2 */ NULL, /* nodeDeviceReset */
+ NULL, /* domainSnapshotCreate */ + NULL, /* domainSnapshotCreate */
+ NULL, /* domainSnapshotApply */ + NULL, /* domainSnapshotApply */
+ NULL, /* domainSnapshotDelete */ + NULL, /* domainSnapshotDelete */
@ -754,14 +753,14 @@ Index: libvirt-0.5.1/src/lxc_driver.c
}; };
static virStateDriver lxcStateDriver = { 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.6.2.orig/src/openvz_driver.c
+++ libvirt-0.5.1/src/openvz_driver.c +++ libvirt-0.6.2/src/openvz_driver.c
@@ -1146,6 +1146,11 @@ static virDriver openvzDriver = { @@ -1372,6 +1372,11 @@ static virDriver openvzDriver = {
NULL, /* domainEventDeregister */ NULL, /* nodeDeviceDettach */
NULL, /* domainMigratePrepare2 */ NULL, /* nodeDeviceReAttach */
NULL, /* domainMigrateFinish2 */ NULL, /* nodeDeviceReset */
+ NULL, /* domainSnapshotCreate */ + NULL, /* domainSnapshotCreate */
+ NULL, /* domainSnapshotApply */ + NULL, /* domainSnapshotApply */
+ NULL, /* domainSnapshotDelete */ + NULL, /* domainSnapshotDelete */
@ -770,14 +769,14 @@ Index: libvirt-0.5.1/src/openvz_driver.c
}; };
int openvzRegister(void) { 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.6.2.orig/src/qemu_driver.c
+++ libvirt-0.5.1/src/qemu_driver.c +++ libvirt-0.6.2/src/qemu_driver.c
@@ -3794,6 +3794,11 @@ static virDriver qemuDriver = { @@ -5131,6 +5131,11 @@ static virDriver qemuDriver = {
qemudDomainEventDeregister, /* domainEventDeregister */ qemudNodeDeviceDettach, /* nodeDeviceDettach */
qemudDomainMigratePrepare2, /* domainMigratePrepare2 */ qemudNodeDeviceReAttach, /* nodeDeviceReAttach */
qemudDomainMigrateFinish2, /* domainMigrateFinish2 */ qemudNodeDeviceReset, /* nodeDeviceReset */
+ NULL, /* domainSnapshotCreate */ + NULL, /* domainSnapshotCreate */
+ NULL, /* domainSnapshotApply */ + NULL, /* domainSnapshotApply */
+ NULL, /* domainSnapshotDelete */ + 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.6.2.orig/src/test.c
+++ libvirt-0.5.1/src/remote_internal.c +++ libvirt-0.6.2/src/test.c
@@ -5391,6 +5391,11 @@ static virDriver driver = { @@ -3532,6 +3532,11 @@ static virDriver testDriver = {
.domainEventDeregister = remoteDomainEventDeregister, NULL, /* nodeDeviceDettach */
.domainMigratePrepare2 = remoteDomainMigratePrepare2, NULL, /* nodeDeviceReAttach */
.domainMigrateFinish2 = remoteDomainMigrateFinish2, NULL, /* nodeDeviceReset */
+ .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 */
+ NULL, /* domainSnapshotCreate */ + NULL, /* domainSnapshotCreate */
+ NULL, /* domainSnapshotApply */ + NULL, /* domainSnapshotApply */
+ NULL, /* domainSnapshotDelete */ + NULL, /* domainSnapshotDelete */
@ -818,11 +801,11 @@ Index: libvirt-0.5.1/src/test.c
}; };
static virNetworkDriver testNetworkDriver = { 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.6.2.orig/docs/libvirt-api.xml
+++ libvirt-0.5.1/docs/libvirt-api.xml +++ libvirt-0.6.2/docs/libvirt-api.xml
@@ -183,6 +183,11 @@ @@ -194,6 +194,11 @@
<exports symbol='virEventRegisterImpl' type='function'/> <exports symbol='virEventRegisterImpl' type='function'/>
<exports symbol='virDomainMigrate' type='function'/> <exports symbol='virDomainMigrate' type='function'/>
<exports symbol='virDomainSuspend' 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='virDomainSnapshotDelete' type='function'/>
+ <exports symbol='virDomainNumOfSnapshots' type='function'/> + <exports symbol='virDomainNumOfSnapshots' type='function'/>
+ <exports symbol='virDomainListSnapshots' type='function'/> + <exports symbol='virDomainListSnapshots' type='function'/>
<exports symbol='virNetworkCreate' type='function'/> <exports symbol='virDomainCreateLinux' type='function'/>
<exports symbol='virNodeDeviceGetXMLDesc' type='function'/> <exports symbol='virNodeDeviceGetXMLDesc' type='function'/>
<exports symbol='virEventUpdateHandleFunc' 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.'/> <return type='int' info='0 in case of success and -1 in case of failure.'/>
<arg name='domain' type='virDomainPtr' info='a domain object'/> <arg name='domain' type='virDomainPtr' info='a domain object'/>
</function> </function>
@ -871,10 +854,10 @@ Index: libvirt-0.5.1/docs/libvirt-api.xml
<function name='virDomainUndefine' file='libvirt' module='libvirt'> <function name='virDomainUndefine' file='libvirt' module='libvirt'>
<info>Undefine a domain but does not stop it if it is running</info> <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'/> <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.6.2.orig/python/libvirt-py.c
+++ libvirt-0.5.1/python/libvirt-py.c +++ libvirt-0.6.2/python/libvirt-py.c
@@ -25,6 +25,25 @@ LIBVIRT_END_ALLOW_THREADS; @@ -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) { libvirt_virStorageVolGetKey(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
PyObject *py_retval; PyObject *py_retval;
const char * c_retval; const char * c_retval;
@@ -847,6 +866,25 @@ LIBVIRT_END_ALLOW_THREADS; @@ -883,6 +902,25 @@ LIBVIRT_END_ALLOW_THREADS;
} }
PyObject * PyObject *
@ -927,7 +910,7 @@ Index: libvirt-0.5.1/python/libvirt-py.c
libvirt_virNetworkDefineXML(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) { libvirt_virNetworkDefineXML(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
PyObject *py_retval; PyObject *py_retval;
virNetworkPtr c_retval; virNetworkPtr c_retval;
@@ -882,6 +920,24 @@ LIBVIRT_END_ALLOW_THREADS; @@ -918,6 +956,24 @@ LIBVIRT_END_ALLOW_THREADS;
} }
PyObject * PyObject *
@ -952,10 +935,13 @@ Index: libvirt-0.5.1/python/libvirt-py.c
libvirt_virDomainResume(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) { libvirt_virDomainResume(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
PyObject *py_retval; PyObject *py_retval;
int c_retval; int c_retval;
@@ -900,6 +956,25 @@ LIBVIRT_END_ALLOW_THREADS; @@ -933,6 +989,25 @@ LIBVIRT_BEGIN_ALLOW_THREADS;
} LIBVIRT_END_ALLOW_THREADS;
py_retval = libvirt_intWrap((int) c_retval);
PyObject * return(py_retval);
+}
+
+PyObject *
+libvirt_virDomainSnapshotApply(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) { +libvirt_virDomainSnapshotApply(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval; + PyObject *py_retval;
+ int c_retval; + int c_retval;
@ -972,16 +958,13 @@ Index: libvirt-0.5.1/python/libvirt-py.c
+LIBVIRT_END_ALLOW_THREADS; +LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval); + py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval); + return(py_retval);
+} }
+
+PyObject * PyObject *
libvirt_virConnectGetHostname(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) { Index: libvirt-0.6.2/python/libvirt-py.h
PyObject *py_retval;
char * c_retval;
Index: libvirt-0.5.1/python/libvirt-py.h
=================================================================== ===================================================================
--- libvirt-0.5.1.orig/python/libvirt-py.h --- libvirt-0.6.2.orig/python/libvirt-py.h
+++ libvirt-0.5.1/python/libvirt-py.h +++ libvirt-0.6.2/python/libvirt-py.h
@@ -1,6 +1,7 @@ @@ -1,6 +1,7 @@
/* Generated */ /* Generated */
@ -990,11 +973,11 @@ Index: libvirt-0.5.1/python/libvirt-py.h
PyObject * libvirt_virStorageVolGetKey(PyObject *self, PyObject *args); PyObject * libvirt_virStorageVolGetKey(PyObject *self, PyObject *args);
PyObject * libvirt_virConnectClose(PyObject *self, PyObject *args); PyObject * libvirt_virConnectClose(PyObject *self, PyObject *args);
PyObject * libvirt_virDomainDefineXML(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.6.2.orig/python/libvirt.py
+++ libvirt-0.5.1/python/libvirt.py +++ libvirt-0.6.2/python/libvirt.py
@@ -382,6 +382,12 @@ class virDomain: @@ -384,6 +384,12 @@ class virDomain:
ret = libvirtmod.virDomainGetName(self._o) ret = libvirtmod.virDomainGetName(self._o)
return ret return ret
@ -1007,7 +990,7 @@ Index: libvirt-0.5.1/python/libvirt.py
def reboot(self, flags): def reboot(self, flags):
"""Reboot a domain, the domain object is still usable there """Reboot a domain, the domain object is still usable there
after but the domain OS is being stopped for a restart. 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) if ret == -1: raise libvirtError ('virDomainShutdown() failed', dom=self)
return ret return ret
@ -1032,7 +1015,7 @@ Index: libvirt-0.5.1/python/libvirt.py
def suspend(self): def suspend(self):
"""Suspends an active domain, the process is frozen without """Suspends an active domain, the process is frozen without
further access to CPU resources and I/O but the memory used 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) ret = libvirtmod.virDomainInterfaceStats(self._o, path)
return ret return ret
@ -1045,10 +1028,10 @@ Index: libvirt-0.5.1/python/libvirt.py
def pinVcpu(self, vcpu, cpumap): def pinVcpu(self, vcpu, cpumap):
"""Dynamically change the real CPUs which can be allocated to """Dynamically change the real CPUs which can be allocated to
a virtual CPU. This function requires privileged access 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.6.2.orig/python/libvir.c
+++ libvirt-0.5.1/python/libvir.c +++ libvirt-0.6.2/python/libvir.c
@@ -1375,6 +1375,35 @@ libvirt_virStoragePoolGetInfo(PyObject * @@ -1375,6 +1375,35 @@ libvirt_virStoragePoolGetInfo(PyObject *
return(py_retval); return(py_retval);
} }
@ -1093,10 +1076,10 @@ Index: libvirt-0.5.1/python/libvir.c
{(char *) "virConnectListStoragePools", libvirt_virConnectListStoragePools, METH_VARARGS, NULL}, {(char *) "virConnectListStoragePools", libvirt_virConnectListStoragePools, METH_VARARGS, NULL},
{(char *) "virConnectListDefinedStoragePools", libvirt_virConnectListDefinedStoragePools, METH_VARARGS, NULL}, {(char *) "virConnectListDefinedStoragePools", libvirt_virConnectListDefinedStoragePools, METH_VARARGS, NULL},
{(char *) "virStoragePoolGetAutostart", libvirt_virStoragePoolGetAutostart, 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.6.2.orig/python/libvirt-python-api.xml
+++ libvirt-0.5.1/python/libvirt-python-api.xml +++ libvirt-0.6.2/python/libvirt-python-api.xml
@@ -135,6 +135,11 @@ @@ -135,6 +135,11 @@
<arg name='domain' type='virDomainPtr' info='pointer to domain object'/> <arg name='domain' type='virDomainPtr' info='pointer to domain object'/>
<arg name='params' type='virSchedParameterPtr' info='pointer to scheduler parameter objects'/> <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'> <function name='virConnectListStoragePools' file='python'>
<info>list the storage pools, stores the pointers to the names in @names</info> <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'/> <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.6.2.orig/python/generator.py
+++ libvirt-0.5.1/python/generator.py +++ libvirt-0.6.2/python/generator.py
@@ -313,6 +313,7 @@ skip_impl = ( @@ -313,6 +313,7 @@ skip_impl = (
'virDomainSetSchedulerParameters', 'virDomainSetSchedulerParameters',
'virDomainGetVcpus', 'virDomainGetVcpus',
@ -1121,11 +1104,11 @@ Index: libvirt-0.5.1/python/generator.py
'virStoragePoolGetUUID', 'virStoragePoolGetUUID',
'virStoragePoolGetUUIDString', 'virStoragePoolGetUUIDString',
'virStoragePoolLookupByUUID', '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.6.2.orig/src/libvirt_public.syms
+++ libvirt-0.5.1/src/libvirt_sym.version.in +++ libvirt-0.6.2/src/libvirt_public.syms
@@ -224,6 +224,11 @@ LIBVIRT_0.4.2 { @@ -215,6 +215,11 @@ LIBVIRT_0.4.2 {
LIBVIRT_0.4.5 { LIBVIRT_0.4.5 {
global: global:
virConnectFindStoragePoolSources; virConnectFindStoragePoolSources;

View File

@ -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.6.2.orig/src/remote_internal.c
+++ libvirt-0.5.1/src/remote_internal.c +++ libvirt-0.6.2/src/remote_internal.c
@@ -674,9 +674,22 @@ doRemoteOpen (virConnectPtr conn, @@ -704,9 +704,22 @@ doRemoteOpen (virConnectPtr conn,
cmd_argv[j++] = strdup ("none"); cmd_argv[j++] = strdup ("none");
} }
cmd_argv[j++] = strdup (priv->hostname); cmd_argv[j++] = strdup (priv->hostname);

View File

@ -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.6.2.orig/src/network_conf.c
+++ libvirt-0.5.1/src/network_conf.c +++ libvirt-0.6.2/src/network_conf.c
@@ -752,6 +752,137 @@ error: @@ -768,6 +768,137 @@ error:
return NULL; return NULL;
} }
@ -140,7 +140,7 @@ Index: libvirt-0.5.1/src/network_conf.c
int virNetworkLoadAllConfigs(virConnectPtr conn, int virNetworkLoadAllConfigs(virConnectPtr conn,
virNetworkObjListPtr nets, virNetworkObjListPtr nets,
const char *configDir, const char *configDir,
@@ -787,6 +918,7 @@ int virNetworkLoadAllConfigs(virConnectP @@ -807,6 +938,7 @@ int virNetworkLoadAllConfigs(virConnectP
closedir(dir); closedir(dir);
@ -148,25 +148,25 @@ Index: libvirt-0.5.1/src/network_conf.c
return 0; 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.6.2.orig/src/network_conf.h
+++ libvirt-0.5.1/src/network_conf.h +++ libvirt-0.6.2/src/network_conf.h
@@ -86,6 +86,7 @@ struct _virNetworkObj { @@ -89,6 +89,7 @@ struct _virNetworkObj {
unsigned int active : 1; unsigned int active : 1;
unsigned int autostart : 1; unsigned int autostart : 1;
unsigned int persistent : 1; unsigned int persistent : 1;
+ unsigned int readonly : 1; + unsigned int readonly : 1;
char *configFile; /* Persistent config file path */ virNetworkDefPtr def; /* The current definition */
char *autostartLink; /* Symlink path for autostart */ virNetworkDefPtr newDef; /* New definition to activate at shutdown */
Index: libvirt-0.5.1/src/network_driver.c Index: libvirt-0.6.2/src/network_driver.c
=================================================================== ===================================================================
--- libvirt-0.5.1.orig/src/network_driver.c --- libvirt-0.6.2.orig/src/network_driver.c
+++ libvirt-0.5.1/src/network_driver.c +++ libvirt-0.6.2/src/network_driver.c
@@ -763,6 +763,11 @@ static int networkShutdownNetworkDaemon( @@ -914,6 +914,11 @@ static int networkShutdownNetworkDaemon(
if (!virNetworkIsActive(network)) unlink(stateFile);
return 0; VIR_FREE(stateFile);
+ if (network->readonly) { + if (network->readonly) {
+ networkLog(NETWORK_WARN, ": Network '%s' is readonly", network->def->name); + 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) if (network->dnsmasqPid > 0)
kill(network->dnsmasqPid, SIGTERM); kill(network->dnsmasqPid, SIGTERM);
@@ -1082,6 +1087,12 @@ static int networkSetAutostart(virNetwor @@ -1360,6 +1365,12 @@ static int networkSetAutostart(virNetwor
return -1; goto cleanup;
} }
+ if (network->readonly) { + if (network->readonly) {
@ -188,4 +188,4 @@ Index: libvirt-0.5.1/src/network_driver.c
+ +
autostart = (autostart != 0); autostart = (autostart != 0);
if (network->autostart == autostart) if (network->autostart != autostart) {

View File

@ -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.6.2.orig/src/xend_internal.c
+++ libvirt-0.5.1/src/xend_internal.c +++ libvirt-0.6.2/src/xend_internal.c
@@ -5021,7 +5021,10 @@ xenDaemonFormatSxprDisk(virConnectPtr co @@ -5262,7 +5262,10 @@ xenDaemonFormatSxprDisk(virConnectPtr co
def->device == VIR_DOMAIN_DISK_DEVICE_CDROM ? } else if (def->device == VIR_DOMAIN_DISK_DEVICE_CDROM) {
"cdrom" : "disk"); virBufferVSprintf(buf, "(dev '%s:cdrom')", def->dst);
} else { } else {
- virBufferVSprintf(buf, "(dev '%s')", def->dst); - virBufferVSprintf(buf, "(dev '%s')", def->dst);
+ if (def->device == VIR_DOMAIN_DISK_DEVICE_CDROM) + if (def->device == VIR_DOMAIN_DISK_DEVICE_CDROM)