Rebased to version 1.2.14

This commit is contained in:
Cole Robinson 2015-04-02 12:44:09 -04:00
parent 3cc7cdf12f
commit c0a04cb876
2 changed files with 18 additions and 52 deletions

View File

@ -1,46 +0,0 @@
From: Laine Stump <laine@laine.org>
Date: Tue, 10 Mar 2015 02:09:24 -0400
Subject: [PATCH] qemu: don't fill in nicindexes for session mode libvirtd
Commit 4bbe1029f fixed a problem in commit f7afeddc by moving the call
to virNetDevGetIndex() to a location common to all interface types (so
that the nicindex array would be filled in for macvtap as well as tap
interfaces), but the location was *too* common, as the original call
to virNetDevGetIndex() had been in a section qualified by "if
(cfg->privileged)". The result was that the "fixed" libvirtd would try
to call virNetDevGetIndex() even for session mode libvirtd, and end up
failing with the log message:
Unable to open control socket: Operation not permitted
To remedy that, this patch qualifies the call to virNetDevGetIndex()
in its new location with cfg->privileged.
This resolves https://bugzilla.redhat.com/show_bug.cgi?id=1198244
(cherry picked from commit 705242f8809dc2222c35c64d5408dd6b0cc94cf8)
---
src/qemu/qemu_command.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 24b2ad9..6526ba8 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -7766,6 +7766,7 @@ qemuBuildInterfaceCommandLine(virCommandPtr cmd,
char **tapfdName = NULL;
char **vhostfdName = NULL;
int actualType = virDomainNetGetActualType(net);
+ virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver);
virNetDevBandwidthPtr actualBandwidth;
size_t i;
@@ -7841,7 +7842,7 @@ qemuBuildInterfaceCommandLine(virCommandPtr cmd,
/* network and bridge use a tap device, and direct uses a
* macvtap device
*/
- if (nicindexes && nnicindexes && net->ifname) {
+ if (cfg->privileged && nicindexes && nnicindexes && net->ifname) {
if (virNetDevGetIndex(net->ifname, &nicindex) < 0 ||
VIR_APPEND_ELEMENT(*nicindexes, *nnicindexes, nicindex) < 0)
goto cleanup;

View File

@ -108,7 +108,7 @@
%define with_storage_iscsi 0%{!?_without_storage_iscsi:%{server_drivers}}
%define with_storage_disk 0%{!?_without_storage_disk:%{server_drivers}}
%define with_storage_mpath 0%{!?_without_storage_mpath:%{server_drivers}}
%if 0%{?fedora} >= 16
%if 0%{?fedora} >= 16 || 0%{?rhel} >= 7
%define with_storage_rbd 0%{!?_without_storage_rbd:%{server_drivers}}
%else
%define with_storage_rbd 0
@ -182,6 +182,13 @@
%endif
%endif
# librados and librbd are built only on x86_64 on rhel
%ifnarch x86_64
%if 0%{?rhel} >= 7
%define with_storage_rbd 0
%endif
%endif
# RHEL doesn't ship OpenVZ, VBox, UML, PowerHypervisor,
# VMWare, libxenserver (xenapi), libxenlight (Xen 4.1 and newer),
# or HyperV.
@ -364,8 +371,8 @@
Summary: Library providing a simple virtualization API
Name: libvirt
Version: 1.2.13
Release: 2%{?dist}%{?extra_release}
Version: 1.2.14
Release: 1%{?dist}%{?extra_release}
License: LGPLv2+
Group: Development/Libraries
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
@ -376,9 +383,6 @@ URL: http://libvirt.org/
%endif
Source: http://libvirt.org/sources/%{?mainturl}libvirt-%{version}.tar.gz
# Fix connecting to qemu:///session (bz #1198244)
Patch0001: 0001-qemu-don-t-fill-in-nicindexes-for-session-mode-libvi.patch
%if %{with_libvirtd}
Requires: libvirt-daemon = %{version}-%{release}
%if %{with_network}
@ -569,7 +573,12 @@ BuildRequires: device-mapper-devel
%endif
%endif
%if %{with_storage_rbd}
%if 0%{?rhel} >= 7
BuildRequires: librados2-devel
BuildRequires: librbd1-devel
%else
BuildRequires: ceph-devel
%endif
%endif
%if %{with_storage_gluster}
%if 0%{?rhel} >= 6
@ -2282,6 +2291,9 @@ exit 0
%doc examples/systemtap
%changelog
* Thu Apr 02 2015 Cole Robinson <crobinso@redhat.com> - 1.2.14-1
- Rebased to version 1.2.14
* Tue Mar 10 2015 Cole Robinson <crobinso@redhat.com> - 1.2.13-2
- Fix connecting to qemu:///session (bz #1198244)