Compare commits
10 Commits
libvirt-0_
...
libvirt-0_
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4465a63872 | ||
|
|
3f397d9786 | ||
|
|
750aec5507 | ||
|
|
d7c1d3bbc0 | ||
|
|
fa0f21c263 | ||
|
|
afdaf5d354 | ||
|
|
26bba5aea9 | ||
|
|
1a4185bdcc | ||
|
|
6a73119e65 | ||
|
|
1e2f9fce0a |
@@ -6,3 +6,4 @@ libvirt-*.tar.gz
|
||||
libvirt-0.6.0.tar.gz
|
||||
libvirt-0.6.1.tar.gz
|
||||
libvirt-0.6.2.tar.gz
|
||||
libvirt-0.6.3.tar.gz
|
||||
|
||||
13
libvirt-0.6.2-fix-nosource-label.patch
Normal file
13
libvirt-0.6.2-fix-nosource-label.patch
Normal file
@@ -0,0 +1,13 @@
|
||||
diff -rup libvirt-0.6.2/src/security_selinux.c new/src/security_selinux.c
|
||||
--- libvirt-0.6.2/src/security_selinux.c 2009-05-10 22:04:25.000000000 -0400
|
||||
+++ new/src/security_selinux.c 2009-05-10 22:06:09.000000000 -0400
|
||||
@@ -338,6 +338,9 @@ SELinuxSetSecurityImageLabel(virConnectP
|
||||
{
|
||||
const virSecurityLabelDefPtr secdef = &vm->def->seclabel;
|
||||
|
||||
+ if (!disk->src)
|
||||
+ return 0;
|
||||
+
|
||||
if (disk->shared) {
|
||||
return SELinuxSetFilecon(conn, disk->src, default_image_context);
|
||||
} else if (disk->readonly) {
|
||||
@@ -1,26 +0,0 @@
|
||||
From 0ae4c67ff5f1d24698c5cfc8a9719d333c892644 Mon Sep 17 00:00:00 2001
|
||||
From: Mark McLoughlin <markmc@redhat.com>
|
||||
Date: Thu, 16 Apr 2009 11:23:55 +0100
|
||||
Subject: [PATCH 1/3] qemu -drive takes format= not fmt=
|
||||
|
||||
Seems like a simple typo - it has been "format=" since the flag
|
||||
was introduced, but we added it as "fmt=".
|
||||
|
||||
Signed-off-by: Mark McLoughlin <markmc@redhat.com>
|
||||
---
|
||||
src/qemu_conf.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/qemu_conf.c b/src/qemu_conf.c
|
||||
index f36c927..6f9e610 100644
|
||||
--- a/src/qemu_conf.c
|
||||
+++ b/src/qemu_conf.c
|
||||
@@ -1135,7 +1135,7 @@ int qemudBuildCommandLine(virConnectPtr conn,
|
||||
disk->device == VIR_DOMAIN_DISK_DEVICE_DISK)
|
||||
virBufferAddLit(&opt, ",boot=on");
|
||||
if (disk->driverType)
|
||||
- virBufferVSprintf(&opt, ",fmt=%s", disk->driverType);
|
||||
+ virBufferVSprintf(&opt, ",format=%s", disk->driverType);
|
||||
|
||||
if (disk->cachemode) {
|
||||
const char *mode =
|
||||
45
libvirt-0.6.3-enable-qemu-0-10-migration.patch
Normal file
45
libvirt-0.6.3-enable-qemu-0-10-migration.patch
Normal file
@@ -0,0 +1,45 @@
|
||||
From: "Daniel P. Berrange" <berrange@redhat.com>
|
||||
To: libvir-list@redhat.com
|
||||
Date: Thu, 30 Apr 2009 15:09:05 +0100
|
||||
Subject: [libvirt] PATCH: Enable migration with QEMU >= 0.10.0
|
||||
|
||||
The KVM migration code was added to QEMU for the 0.10.0 release, so we
|
||||
should enable this in libvirt now.
|
||||
|
||||
Daniel
|
||||
|
||||
diff -r be7993675e07 src/qemu_conf.c
|
||||
--- a/src/qemu_conf.c Thu Apr 30 14:49:27 2009 +0100
|
||||
+++ b/src/qemu_conf.c Thu Apr 30 15:08:45 2009 +0100
|
||||
@@ -473,16 +473,13 @@ int qemudExtractVersionInfo(const char *
|
||||
|
||||
/*
|
||||
* Handling of -incoming arg with varying features
|
||||
- * -incoming tcp (kvm >= 79)
|
||||
- * -incoming exec (kvm >= 80)
|
||||
+ * -incoming tcp (kvm >= 79, qemu >= 0.10.0)
|
||||
+ * -incoming exec (kvm >= 80, qemu >= 0.10.0)
|
||||
* -incoming stdio (all earlier kvm)
|
||||
*
|
||||
* NB, there was a pre-kvm-79 'tcp' support, but it
|
||||
* was broken, because it blocked the monitor console
|
||||
* while waiting for data, so pretend it doesn't exist
|
||||
- *
|
||||
- * XXX when next QEMU release after 0.9.1 arrives,
|
||||
- * we'll need to add MIGRATE_QEMU_TCP/EXEC here too
|
||||
*/
|
||||
if (kvm_version >= 79) {
|
||||
flags |= QEMUD_CMD_FLAG_MIGRATE_QEMU_TCP;
|
||||
@@ -490,6 +487,9 @@ int qemudExtractVersionInfo(const char *
|
||||
flags |= QEMUD_CMD_FLAG_MIGRATE_QEMU_EXEC;
|
||||
} else if (kvm_version > 0) {
|
||||
flags |= QEMUD_CMD_FLAG_MIGRATE_KVM_STDIO;
|
||||
+ } else if (version >= 10000) {
|
||||
+ flags |= QEMUD_CMD_FLAG_MIGRATE_QEMU_TCP;
|
||||
+ flags |= QEMUD_CMD_FLAG_MIGRATE_QEMU_EXEC;
|
||||
}
|
||||
|
||||
if (retversion)
|
||||
|
||||
|
||||
--
|
||||
45
libvirt-0.6.3-hostdev-managed.patch
Normal file
45
libvirt-0.6.3-hostdev-managed.patch
Normal file
@@ -0,0 +1,45 @@
|
||||
From 3d7771e0570e09096ad9391a857dad48b150bc0c Mon Sep 17 00:00:00 2001
|
||||
From: Mark McLoughlin <markmc@redhat.com>
|
||||
Date: Wed, 6 May 2009 16:33:28 +0100
|
||||
Subject: [PATCH] Fix qemu driver's interpretation of <hostdev managed='yes'/>
|
||||
|
||||
This change:
|
||||
|
||||
Tue Mar 3 08:55:13 GMT 2009 Daniel P. Berrange <berrange@redhat.com>
|
||||
|
||||
Don't try to detach & reset PCI devices while running test
|
||||
suite for XML-> ARGV conversion.
|
||||
* src/qemu_driver.c: Add qemuPrepareHostDevices() helper to
|
||||
detach and reset PCI devices.
|
||||
* src/qemu_conf.c: Don't detach & reset PCI devices while
|
||||
building the command line argv
|
||||
|
||||
accidentally did this:
|
||||
|
||||
- if (hostdev->managed) {
|
||||
+ if (!hostdev->managed) {
|
||||
|
||||
Which results in managed='yes' not causing the device to be
|
||||
detached when the guest is starting.
|
||||
|
||||
Signed-off-by: Mark McLoughlin <markmc@redhat.com>
|
||||
---
|
||||
src/qemu_driver.c | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/src/qemu_driver.c b/src/qemu_driver.c
|
||||
index 5898026..59312c0 100644
|
||||
--- a/src/qemu_driver.c
|
||||
+++ b/src/qemu_driver.c
|
||||
@@ -1215,7 +1215,7 @@ static int qemuPrepareHostDevices(virConnectPtr conn,
|
||||
if (hostdev->source.subsys.type != VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI)
|
||||
continue;
|
||||
|
||||
- if (!hostdev->managed) {
|
||||
+ if (hostdev->managed) {
|
||||
pciDevice *dev = pciGetDevice(conn,
|
||||
hostdev->source.subsys.u.pci.domain,
|
||||
hostdev->source.subsys.u.pci.bus,
|
||||
--
|
||||
1.6.0.6
|
||||
|
||||
76
libvirt-0.6.3-refresh-qemu-caps.patch
Normal file
76
libvirt-0.6.3-refresh-qemu-caps.patch
Normal file
@@ -0,0 +1,76 @@
|
||||
commit 0e51348cb9aeafe5e2fd6469a4bde0baa1eb8720
|
||||
Author: Cole Robinson <crobinso@redhat.com>
|
||||
Date: Mon May 4 15:06:03 2009 -0400
|
||||
|
||||
Refresh QEMU driver capabilities for each getCapabilities call.
|
||||
|
||||
Also fix up a couple issues where caps are accessed without locking
|
||||
the driver structure.
|
||||
|
||||
diff --git a/src/qemu_driver.c b/src/qemu_driver.c
|
||||
index 23ea961..790dac6 100644
|
||||
--- a/src/qemu_driver.c
|
||||
+++ b/src/qemu_driver.c
|
||||
@@ -1885,10 +1885,12 @@ static int qemudGetNodeInfo(virConnectPtr conn,
|
||||
|
||||
static char *qemudGetCapabilities(virConnectPtr conn) {
|
||||
struct qemud_driver *driver = conn->privateData;
|
||||
- char *xml;
|
||||
+ char *xml = NULL;
|
||||
|
||||
qemuDriverLock(driver);
|
||||
- if ((xml = virCapabilitiesFormatXML(driver->caps)) == NULL)
|
||||
+ virCapabilitiesFree(qemu_driver->caps);
|
||||
+ if ((qemu_driver->caps = qemudCapsInit()) == NULL ||
|
||||
+ (xml = virCapabilitiesFormatXML(driver->caps)) == NULL)
|
||||
virReportOOMError(conn);
|
||||
qemuDriverUnlock(driver);
|
||||
|
||||
@@ -3169,20 +3171,26 @@ cleanup:
|
||||
return ret;
|
||||
}
|
||||
|
||||
-static int qemudNodeGetSecurityModel(virConnectPtr conn, virSecurityModelPtr secmodel)
|
||||
+static int qemudNodeGetSecurityModel(virConnectPtr conn,
|
||||
+ virSecurityModelPtr secmodel)
|
||||
{
|
||||
struct qemud_driver *driver = (struct qemud_driver *)conn->privateData;
|
||||
char *p;
|
||||
+ int ret = 0;
|
||||
|
||||
- if (!driver->securityDriver)
|
||||
- return -2;
|
||||
+ qemuDriverLock(driver);
|
||||
+ if (!driver->securityDriver) {
|
||||
+ ret = -2;
|
||||
+ goto cleanup;
|
||||
+ }
|
||||
|
||||
p = driver->caps->host.secModel.model;
|
||||
if (strlen(p) >= VIR_SECURITY_MODEL_BUFLEN-1) {
|
||||
qemudReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR,
|
||||
_("security model string exceeds max %d bytes"),
|
||||
VIR_SECURITY_MODEL_BUFLEN-1);
|
||||
- return -1;
|
||||
+ ret = -1;
|
||||
+ goto cleanup;
|
||||
}
|
||||
strcpy(secmodel->model, p);
|
||||
|
||||
@@ -3191,10 +3199,14 @@ static int qemudNodeGetSecurityModel(virConnectPtr conn, virSecurityModelPtr sec
|
||||
qemudReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR,
|
||||
_("security DOI string exceeds max %d bytes"),
|
||||
VIR_SECURITY_DOI_BUFLEN-1);
|
||||
- return -1;
|
||||
+ ret = -1;
|
||||
+ goto cleanup;
|
||||
}
|
||||
strcpy(secmodel->doi, p);
|
||||
- return 0;
|
||||
+
|
||||
+cleanup:
|
||||
+ qemuDriverUnlock(driver);
|
||||
+ return ret;
|
||||
}
|
||||
|
||||
/* TODO: check seclabel restore */
|
||||
@@ -12,7 +12,7 @@
|
||||
+ getuid() == 0) {
|
||||
+ static int soundWarned = 0;
|
||||
+ skipSound = 1;
|
||||
+ if (vm->def->nsounds &&
|
||||
+ if (def->nsounds &&
|
||||
+ !soundWarned) {
|
||||
+ soundWarned = 1;
|
||||
+ VIR_WARN0("Sound cards for VMs are disabled while SELinux security model is active");
|
||||
@@ -25,8 +25,8 @@
|
||||
}
|
||||
|
||||
/* Add sound hardware */
|
||||
- if (vm->def->nsounds) {
|
||||
+ if (vm->def->nsounds &&
|
||||
- if (def->nsounds) {
|
||||
+ if (def->nsounds &&
|
||||
+ !skipSound) {
|
||||
int size = 100;
|
||||
char *modstr;
|
||||
82
libvirt.spec
82
libvirt.spec
@@ -1,26 +1,14 @@
|
||||
# -*- rpm-spec -*-
|
||||
|
||||
%define with_xen 0%{!?_without_xen:1}
|
||||
%define with_xen_proxy 0%{!?_without_xen_proxy:1}
|
||||
%define with_qemu 0%{!?_without_qemu:1}
|
||||
%define with_openvz 0%{!?_without_openvz:1}
|
||||
%define with_lxc 0%{!?_without_lxc:1}
|
||||
%define with_sasl 0%{!?_without_sasl:1}
|
||||
%define with_avahi 0%{!?_without_avahi:1}
|
||||
%define with_polkit 0%{!?_without_polkit:0}
|
||||
%define with_python 0%{!?_without_python:1}
|
||||
%define with_libvirtd 0%{!?_without_libvirtd:1}
|
||||
%define with_uml 0%{!?_without_uml:1}
|
||||
%define with_network 0%{!?_without_network:1}
|
||||
|
||||
%define with_xen 0%{!?_without_xen:1}
|
||||
%define with_xen_proxy 0%{!?_without_xen_proxy:1}
|
||||
%define with_qemu 0%{!?_without_qemu:1}
|
||||
%define with_openvz 0%{!?_without_openvz:1}
|
||||
%define with_lxc 0%{!?_without_lxc:1}
|
||||
%define with_vbox 0%{!?_without_vbox:1}
|
||||
%define with_sasl 0%{!?_without_sasl:1}
|
||||
%define with_avahi 0%{!?_without_avahi:1}
|
||||
%define with_polkit 0%{!?_without_polkit:0}
|
||||
%define with_polkit 0%{!?_without_polkit:1}
|
||||
%define with_python 0%{!?_without_python:1}
|
||||
%define with_libvirtd 0%{!?_without_libvirtd:1}
|
||||
%define with_uml 0%{!?_without_uml:1}
|
||||
@@ -60,25 +48,31 @@
|
||||
%define with_rhel5 0
|
||||
%else
|
||||
%define with_rhel5 1
|
||||
%define with_polkit 0
|
||||
%endif
|
||||
|
||||
|
||||
Summary: Library providing a simple API virtualization
|
||||
Name: libvirt
|
||||
Version: 0.6.2
|
||||
Release: 4%{?dist}%{?extra_release}
|
||||
Version: 0.6.3
|
||||
Release: 8%{?dist}%{?extra_release}
|
||||
License: LGPLv2+
|
||||
Group: Development/Libraries
|
||||
Source: libvirt-%{version}.tar.gz
|
||||
|
||||
# Patches cherry-picked from upstream
|
||||
Patch0: libvirt-0.6.2-qemu-drive-format.patch
|
||||
# Fix shared/readonly disk labelling
|
||||
Patch1: libvirt-0.6.2-shared-readonly-label.patch
|
||||
Patch1: libvirt-0.6.3-shared-readonly-label.patch
|
||||
Patch2: libvirt-0.6.3-hostdev-managed.patch
|
||||
# Refresh qemu caps when getCapabilities is called (bz 460649)
|
||||
Patch3: libvirt-0.6.3-refresh-qemu-caps.patch
|
||||
# Enable migration with qemu 0.10
|
||||
Patch4: libvirt-0.6.3-enable-qemu-0-10-migration.patch
|
||||
# Don't try to label a disk with no path (e.g. empty cdrom) (bz 499569)
|
||||
Patch5: libvirt-0.6.2-fix-nosource-label.patch
|
||||
|
||||
# Not for upstream. Temporary hack till PulseAudio autostart
|
||||
# problems are sorted out when SELinux enforcing
|
||||
Patch200: libvirt-0.6.2-svirt-sound.patch
|
||||
Patch200: libvirt-0.6.3-svirt-sound.patch
|
||||
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
|
||||
URL: http://libvirt.org/
|
||||
@@ -228,9 +222,11 @@ of recent versions of Linux (and other OSes).
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
%patch5 -p1
|
||||
|
||||
%patch200 -p0
|
||||
|
||||
@@ -254,6 +250,10 @@ iconv -f ISO-8859-1 -t UTF-8 < NEWS.old > NEWS
|
||||
%define _without_lxc --without-lxc
|
||||
%endif
|
||||
|
||||
%if ! %{with_vbox}
|
||||
%define _without_vbox --without-vbox
|
||||
%endif
|
||||
|
||||
%if ! %{with_sasl}
|
||||
%define _without_sasl --without-sasl
|
||||
%endif
|
||||
@@ -310,6 +310,7 @@ iconv -f ISO-8859-1 -t UTF-8 < NEWS.old > NEWS
|
||||
%{?_without_qemu} \
|
||||
%{?_without_openvz} \
|
||||
%{?_without_lxc} \
|
||||
%{?_without_vbox} \
|
||||
%{?_without_sasl} \
|
||||
%{?_without_avahi} \
|
||||
%{?_without_polkit} \
|
||||
@@ -344,7 +345,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/python*/site-packages/*.a
|
||||
install -d -m 0755 $RPM_BUILD_ROOT%{_localstatedir}/run/libvirt/
|
||||
# Default dir for disk images defined in SELinux policy
|
||||
install -d -m 0755 $RPM_BUILD_ROOT%{_localstatedir}/lib/libvirt/images/
|
||||
# Default dir for kernel+initrd images defnied in SELinux policy
|
||||
# Default dir for kernel+initrd images defined in SELinux policy
|
||||
install -d -m 0755 $RPM_BUILD_ROOT%{_localstatedir}/lib/libvirt/boot/
|
||||
# used for virDomainMemoryPeek
|
||||
install -d -m 0700 $RPM_BUILD_ROOT%{_localstatedir}/cache/libvirt/
|
||||
@@ -419,8 +420,10 @@ fi
|
||||
%defattr(-, root, root)
|
||||
|
||||
%doc AUTHORS ChangeLog NEWS README COPYING.LIB TODO
|
||||
%doc %{_mandir}/man1/virsh.1*
|
||||
%{_mandir}/man1/virsh.1*
|
||||
%{_mandir}/man1/virt-xml-validate.1*
|
||||
%{_bindir}/virsh
|
||||
%{_bindir}/virt-xml-validate
|
||||
%{_libdir}/lib*.so.*
|
||||
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/
|
||||
|
||||
@@ -554,13 +557,34 @@ fi
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Tue May 5 2009 Daniel P. Berrange <berrange@redhat.com> - 0.6.2-4.fc11
|
||||
- Fix labelling of shared/readonly disks (rhbz #493692)
|
||||
* Sun May 10 2009 Cole Robinson <crobinso@redhat.com> - 0.6.2-8.fc12
|
||||
- Don't try to label a disk with no path (e.g. empty cdrom) (bug #499569)
|
||||
|
||||
* Tue Apr 28 2009 Daniel Veillard <veillard@redhat.com> - 0.6.2-3.fc11
|
||||
- Fix missing directories in spec (#496945 and gtk-doc)
|
||||
* Thu May 7 2009 Mark McLoughlin <markmc@redhat.com> - 0.6.3-7.fc12
|
||||
- Enable migration for qemu 0.10 (bug #499704)
|
||||
|
||||
* Thu Apr 16 2009 Mark McLoughlin <markmc@redhat.com> - 0.6.2-2.fc11
|
||||
* Wed May 6 2009 Cole Robinson <crobinso@redhat.com> - 0.6.3-6.fc12
|
||||
- Refresh qemu caps when getCapabilities is called (bug #460649)
|
||||
|
||||
* Wed May 6 2009 Mark McLoughlin <markmc@redhat.com> - 0.6.3-5.fc12
|
||||
- Fix handling of <hostdev managed='yes'> (bug #499386)
|
||||
|
||||
* Tue May 5 2009 Daniel Berrange <berrange@redhat.com> - 0.6.3-4.fc12
|
||||
- Fix readonly/shared disk image labelling (rhbz #493692)
|
||||
|
||||
* Tue Apr 28 2009 Daniel Veillard <veillard@redhat.com> - 0.6.3-3.fc12
|
||||
- was also missing /usr/share/gtk-doc/html/libvirt in -devel
|
||||
|
||||
* Tue Apr 28 2009 Daniel Veillard <veillard@redhat.com> - 0.6.3-2.fc12
|
||||
- fix packaging bug #496945 libvirt should own /var/cache/libvirt
|
||||
|
||||
* Fri Apr 24 2009 Daniel Veillard <veillard@redhat.com> - 0.6.3-1.fc12
|
||||
- release of 0.6.3
|
||||
- VirtualBox driver
|
||||
- new virt-xml-validate command
|
||||
- assorted bug fixes
|
||||
|
||||
* Thu Apr 16 2009 Mark McLoughlin <markmc@redhat.com> - 0.6.2-2.fc12
|
||||
- Fix qemu drive format specification (#496092)
|
||||
|
||||
* Fri Apr 3 2009 Daniel Veillard <veillard@redhat.com> - 0.6.2-1.fc11
|
||||
|
||||
Reference in New Issue
Block a user