forked from pool/libvirt
Updating link to change in openSUSE:Factory/libvirt revision 47.0
OBS-URL: https://build.opensuse.org/package/show/Virtualization/libvirt?expand=0&rev=9730892990ebb1adac0309ca98451aa5
This commit is contained in:
parent
6f0cda5d80
commit
f6a13ec8dd
@ -1,8 +1,8 @@
|
||||
Index: libvirt-0.7.4/src/xen/xend_internal.c
|
||||
Index: libvirt-0.7.5/src/xen/xend_internal.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.4.orig/src/xen/xend_internal.c
|
||||
+++ libvirt-0.7.4/src/xen/xend_internal.c
|
||||
@@ -4109,13 +4109,12 @@ xenDaemonAttachDevice(virDomainPtr domai
|
||||
--- libvirt-0.7.5.orig/src/xen/xend_internal.c
|
||||
+++ libvirt-0.7.5/src/xen/xend_internal.c
|
||||
@@ -4123,13 +4123,12 @@ xenDaemonAttachDevice(virDomainPtr domai
|
||||
|
||||
priv = (xenUnifiedPrivatePtr) domain->conn->privateData;
|
||||
|
||||
@ -21,7 +21,7 @@ Index: libvirt-0.7.4/src/xen/xend_internal.c
|
||||
if (!(def = xenDaemonDomainFetch(domain->conn,
|
||||
domain->id,
|
||||
domain->name,
|
||||
@@ -4213,12 +4212,11 @@ xenDaemonDetachDevice(virDomainPtr domai
|
||||
@@ -4229,12 +4228,11 @@ xenDaemonDetachDevice(virDomainPtr domai
|
||||
|
||||
priv = (xenUnifiedPrivatePtr) domain->conn->privateData;
|
||||
|
||||
@ -38,11 +38,11 @@ Index: libvirt-0.7.4/src/xen/xend_internal.c
|
||||
|
||||
if (!(def = xenDaemonDomainFetch(domain->conn,
|
||||
domain->id,
|
||||
Index: libvirt-0.7.4/src/libvirt.c
|
||||
Index: libvirt-0.7.5/src/libvirt.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.4.orig/src/libvirt.c
|
||||
+++ libvirt-0.7.4/src/libvirt.c
|
||||
@@ -4919,7 +4919,8 @@ error:
|
||||
--- libvirt-0.7.5.orig/src/libvirt.c
|
||||
+++ libvirt-0.7.5/src/libvirt.c
|
||||
@@ -5066,7 +5066,8 @@ error:
|
||||
* @domain: pointer to domain object
|
||||
* @xml: pointer to XML description of one device
|
||||
*
|
||||
@ -52,7 +52,7 @@ Index: libvirt-0.7.4/src/libvirt.c
|
||||
*
|
||||
* Returns 0 in case of success, -1 in case of failure.
|
||||
*/
|
||||
@@ -4962,7 +4963,8 @@ error:
|
||||
@@ -5109,7 +5110,8 @@ error:
|
||||
* @domain: pointer to domain object
|
||||
* @xml: pointer to XML description of one device
|
||||
*
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6316a53b4cfaf184e795c7be69a371c5dc90a8a6dd6cd05c4208a1314aac10d4
|
||||
size 5692288
|
3
libvirt-0.7.5.tar.bz2
Normal file
3
libvirt-0.7.5.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:0763b11fc054a82d47cce8566173e589e08f34cd7adab46c9c3de80b6eacc4c7
|
||||
size 5997827
|
@ -1,3 +1,31 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Jan 6 18:02:00 MST 2010 - jfehlig@novell.com
|
||||
|
||||
- Fix freeing of uninitialized pointer when using HAL in
|
||||
node device driver
|
||||
node-dev-free.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jan 4 14:14:41 MST 2010 - jfehlig@novell.com
|
||||
|
||||
- Require virt-utils package for common tools such as qemu-img
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Dec 29 10:26:55 MST 2009 - jfehlig@novell.com
|
||||
|
||||
- Updated to version 0.7.5
|
||||
- Add new API virDomainMemoryStats to header and drivers
|
||||
- Public API and domain extension for CPU flags
|
||||
- expose SR IOV physical/virtual function relationships
|
||||
- Support for JSON mode monitor [deactivated]
|
||||
- Support for interface model='netfront'
|
||||
- vbox: Add support for version 3.1
|
||||
- Support QEMU's virtual FAT block device driver
|
||||
- lots of improvements and bug fixes
|
||||
- Fix libvirt xen hypervisor driver to work with domctl interface
|
||||
version 6
|
||||
xen-shr-pages.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Dec 7 14:51:36 MST 2009 - jfehlig@novell.com
|
||||
|
||||
|
328
libvirt.spec
328
libvirt.spec
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package libvirt (Version 0.7.4)
|
||||
# spec file for package libvirt (Version 0.7.5)
|
||||
#
|
||||
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@ -18,24 +18,71 @@
|
||||
# norootforbuild
|
||||
|
||||
%define with_xen 1
|
||||
%define with_lxc 0
|
||||
%define with_selinux 0
|
||||
%define with_qemu 1
|
||||
%define with_lxc 1
|
||||
%define with_openvz 1
|
||||
%define with_vbox 1
|
||||
%define with_uml 0
|
||||
%define with_one 0
|
||||
# hypervisor drivers that use a native remote protocol
|
||||
%define with_phyp 0
|
||||
%define with_esx 0
|
||||
# host drivers
|
||||
%define with_network 1
|
||||
%define with_storage_fs 1
|
||||
%define with_storage_lvm 1
|
||||
%define with_storage_iscsi 1
|
||||
%define with_storage_disk 1
|
||||
%define with_storage_mpath 1
|
||||
%define with_numactl 1
|
||||
%define with_selinux 1
|
||||
%define with_apparmor 0
|
||||
# options
|
||||
%define with_capng 0
|
||||
%define with_netcf 0
|
||||
%define with_udev 0
|
||||
%define with_hal 0
|
||||
%define with_yajl 0
|
||||
# Xen is available only on i386 x86_64
|
||||
%ifnarch %ix86 x86_64
|
||||
%define with_xen 0
|
||||
%endif
|
||||
%if 0%{?suse_version} > 1100
|
||||
%define with_lxc 1
|
||||
%define with_selinux 1
|
||||
# LXC and selinux are not available on anything < openSUSE 11.1
|
||||
%if 0%{?suse_version} < 1110
|
||||
%define with_lxc 0
|
||||
%define with_selinux 0
|
||||
%endif
|
||||
# Build phyp backend for IBM Power systems
|
||||
# Enable phyp driver for IBM Power systems
|
||||
%ifarch ppc64
|
||||
%define with_phyp 1
|
||||
%endif
|
||||
# numactl only on x86_64 and ia64
|
||||
%ifnarch x86_64 ia64
|
||||
%define with_numactl 0
|
||||
%endif
|
||||
# SLES doesn't contain OpenVZ, VBox, UML, OpenNebula, or ESX
|
||||
%if 0%{?sles_version}
|
||||
%define with_openvz 0
|
||||
%define with_vbox 0
|
||||
%define with_uml 0
|
||||
%define with_one 0
|
||||
%define with_esx 0
|
||||
%endif
|
||||
%if 0%{?suse_version} > 1110
|
||||
%define with_udev 1
|
||||
%else
|
||||
%define with_hal 1
|
||||
%endif
|
||||
|
||||
Name: libvirt
|
||||
BuildRequires: bridge-utils cyrus-sasl-devel device-mapper-devel fdupes gettext gnutls-devel hal-devel iptables-devel libxml2-devel lvm2 ncurses-devel parted-devel pkg-config python-devel python-xml readline-devel util-linux xhtml-dtd
|
||||
BuildRequires: bridge-utils cyrus-sasl-devel device-mapper-devel fdupes gettext gnutls-devel iptables-devel libxml2-devel lvm2 ncurses-devel parted-devel pkg-config python-devel python-xml readline-devel util-linux xhtml-dtd
|
||||
%if %{with_hal}
|
||||
BuildRequires: hal-devel
|
||||
%endif
|
||||
%if %{with_udev}
|
||||
BuildRequires: libudev-devel >= 145
|
||||
BuildRequires: libpciaccess0-devel >= 0.10.9
|
||||
%endif
|
||||
%if %{with_xen}
|
||||
BuildRequires: xen-devel
|
||||
%endif
|
||||
@ -47,7 +94,7 @@ BuildRequires: avahi-devel
|
||||
%if %{with_selinux}
|
||||
BuildRequires: libselinux-devel
|
||||
%endif
|
||||
%ifarch x86_64 ia64
|
||||
%if %{with_numactl}
|
||||
BuildRequires: libnuma-devel
|
||||
%endif
|
||||
%if 0%{?suse_version} > 1110
|
||||
@ -64,25 +111,24 @@ Url: http://libvirt.org/
|
||||
License: LGPLv2.1+
|
||||
Group: Development/Libraries/C and C++
|
||||
AutoReqProv: yes
|
||||
Version: 0.7.4
|
||||
Version: 0.7.5
|
||||
Release: 1
|
||||
Summary: A C toolkit to interract with the virtualization capabilities of Linux
|
||||
Requires: readline
|
||||
Requires: ncurses
|
||||
# The client side, i.e. shared libs and virsh are in a subpackage
|
||||
Requires: libvirt-client = %{version}-%{release}
|
||||
Requires: bridge-utils
|
||||
Requires: iptables
|
||||
Requires: cyrus-sasl
|
||||
Requires: lvm2
|
||||
Requires: parted
|
||||
#Requires: /usr/bin/qemu-img
|
||||
Recommends: cyrus-sasl-digestmd5
|
||||
Requires: virt-utils
|
||||
Recommends: logrotate
|
||||
Requires: dnsmasq
|
||||
Requires: PolicyKit >= 0.6
|
||||
Requires: socat
|
||||
Requires: open-iscsi
|
||||
Requires: nfs-client
|
||||
%if %{with_hal}
|
||||
Requires: hal
|
||||
%endif
|
||||
%if 0%{?suse_version} > 1110
|
||||
Requires: polkit >= 0.9
|
||||
%else
|
||||
@ -91,9 +137,9 @@ Requires: PolicyKit >= 0.6
|
||||
Source0: %{name}-%{version}.tar.bz2
|
||||
Source1: libvirtd.init
|
||||
# Upstream patches
|
||||
Patch0: xen-list-defined.patch
|
||||
Patch1: detach-disk.patch
|
||||
Patch2: xend-description-tag.patch
|
||||
Patch0: detach-disk.patch
|
||||
Patch1: xen-shr-pages.patch
|
||||
Patch2: node-dev-free.patch
|
||||
# Need to go upstream
|
||||
Patch100: socat.patch
|
||||
Patch101: clone.patch
|
||||
@ -106,13 +152,37 @@ Patch202: snapshots.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
|
||||
%description
|
||||
Libvirt is a C toolkit to interract with the virtualization
|
||||
capabilities Linux. Virtualization of the Linux Operating System means
|
||||
the ability to run multiple instances of Operating Systems concurently
|
||||
Libvirt is a C toolkit to interact with the virtualization
|
||||
capabilities of Linux. Virtualization of the Linux Operating System means
|
||||
the ability to run multiple instances of Operating Systems concurrently
|
||||
on a single hardware system where the basic resources are driven by a
|
||||
Linux instance. The library aims to provide long term stable C API
|
||||
initially for the Xen paravirtualization but should be able to
|
||||
integrate other virtualization mechanisms if needed.
|
||||
to interact with Linux virtualization technologies.
|
||||
|
||||
|
||||
|
||||
Authors:
|
||||
--------
|
||||
Daniel Veillard <veillard@redhat.com>
|
||||
Karel Zak <kzak@redhat.com>
|
||||
|
||||
%package client
|
||||
License: LGPLv2.1+
|
||||
Summary: Client side library and utilities of the libvirt library
|
||||
Group: Development/Libraries/C and C++
|
||||
Requires: readline
|
||||
Requires: ncurses
|
||||
# So remote clients can access libvirt over SSH tunnel
|
||||
# (client invokes 'socat' against the UNIX socket on the server)
|
||||
Requires: socat
|
||||
Requires: cyrus-sasl
|
||||
Recommends: cyrus-sasl-digestmd5
|
||||
|
||||
%description client
|
||||
Libvirt is a C toolkit to interract with the virtualization
|
||||
capabilities of Linux. The libvirt-client package contains shared
|
||||
libraries and client binaries needed to access the virtualization
|
||||
capabilities of recent versions of Linux (and other OSes).
|
||||
|
||||
|
||||
|
||||
@ -128,17 +198,13 @@ Group: Development/Libraries/C and C++
|
||||
Requires: %{name} = %{version} libxml2-devel
|
||||
%if %{with_xen}
|
||||
Requires: xen-devel
|
||||
Requires: pkg-config
|
||||
%endif
|
||||
Requires: pkg-config
|
||||
|
||||
%description devel
|
||||
Libvirt is a C toolkit to interract with the virtualization
|
||||
capabilities Linux. Virtualization of the Linux Operating System means
|
||||
the ability to run multiple instances of Operating Systems concurently
|
||||
on a single hardware system where the basic resources are driven by a
|
||||
Linux instance. The library aims to provide long term stable C API
|
||||
initially for the Xen paravirtualization but should be able to
|
||||
integrate other virtualization mechanisms if needed.
|
||||
capabilities of Linux. The libvirt-devel package contains headers
|
||||
and libraries needed for developing libvirt applications.
|
||||
|
||||
|
||||
|
||||
@ -155,12 +221,8 @@ Requires: %{name} = %{version}
|
||||
|
||||
%description doc
|
||||
Libvirt is a C toolkit to interract with the virtualization
|
||||
capabilities Linux. Virtualization of the Linux Operating System means
|
||||
the ability to run multiple instances of Operating Systems concurently
|
||||
on a single hardware system where the basic resources are driven by a
|
||||
Linux instance. The library aims to provide long term stable C API
|
||||
initially for the Xen paravirtualization but should be able to
|
||||
integrate other virtualization mechanisms if needed.
|
||||
capabilities of Linux. The libvirt-doc packages contains documentation
|
||||
for the libvirt API and tools.
|
||||
|
||||
|
||||
|
||||
@ -178,12 +240,8 @@ Requires: %{name} = %{version}
|
||||
|
||||
%description python
|
||||
Libvirt is a C toolkit to interract with the virtualization
|
||||
capabilities Linux. Virtualization of the Linux Operating System means
|
||||
the ability to run multiple instances of Operating Systems concurently
|
||||
on a single hardware system where the basic resources are driven by a
|
||||
Linux instance. The library aims to provide long term stable C API
|
||||
initially for the Xen paravirtualization but should be able to
|
||||
integrate other virtualization mechanisms if needed.
|
||||
capabilities of Linux. The libvirt-python package provides python
|
||||
bindings for the libvirt C API.
|
||||
|
||||
|
||||
|
||||
@ -209,24 +267,80 @@ Authors:
|
||||
%if ! %{with_xen}
|
||||
%define _without_xen --without-xen
|
||||
%endif
|
||||
%if ! %{with_qemu}
|
||||
%define _without_qemu --without-qemu
|
||||
%endif
|
||||
%if ! %{with_lxc}
|
||||
%define _without_lxc --without-lxc
|
||||
%endif
|
||||
%if %{with_selinux}
|
||||
%define _with_selinux --with-selinux
|
||||
%if ! %{with_openvz}
|
||||
%define _without_openvz --without-openvz
|
||||
%endif
|
||||
%if ! %{with_vbox}
|
||||
%define _without_vbox --without-vbox
|
||||
%endif
|
||||
%if ! %{with_uml}
|
||||
%define _without_uml --without-uml
|
||||
%endif
|
||||
%if ! %{with_one}
|
||||
%define _without_one --without-one
|
||||
%endif
|
||||
%if ! %{with_phyp}
|
||||
%define _without_phyp --without-phyp
|
||||
%endif
|
||||
%if ! %{with_esx}
|
||||
%define _without_esx --without-esx
|
||||
%endif
|
||||
%if ! %{with_numactl}
|
||||
%define _without_numactl --without-numactl
|
||||
%endif
|
||||
%if ! %{with_selinux}
|
||||
%define _without_selinux --without-selinux
|
||||
%endif
|
||||
%if ! %{with_apparmor}
|
||||
%define _without_apparmor --without-apparmor
|
||||
%endif
|
||||
%if ! %{with_capng}
|
||||
%define _without_capng --without-capng
|
||||
%endif
|
||||
%if ! %{with_netcf}
|
||||
%define _without_netcf --without-netcf
|
||||
%endif
|
||||
%if ! %{with_hal}
|
||||
%define _without_hal --without-hal
|
||||
%endif
|
||||
%if ! %{with_udev}
|
||||
%define _without_udev --without-udev
|
||||
%endif
|
||||
%if ! %{with_yajl}
|
||||
%define _without_yajl --without-yajl
|
||||
%endif
|
||||
autoreconf -f -i
|
||||
export CFLAGS="$RPM_OPT_FLAGS"
|
||||
%configure --disable-static --with-pic \
|
||||
%{?_without_xen} \
|
||||
%{?_without_qemu} \
|
||||
%{?_without_lxc} \
|
||||
%{?_without_openvz} \
|
||||
%{?_without_vbox} \
|
||||
%{?_without_uml} \
|
||||
%{?_without_one} \
|
||||
%{?_without_phyp} \
|
||||
%{?_without_esx} \
|
||||
%{?_without_numactl} \
|
||||
%{?_with_selinux} \
|
||||
%{?_without_capng} \
|
||||
%{?_without_netcf} \
|
||||
%{?_without_selinux} \
|
||||
%{?_without_apparmor} \
|
||||
%{?_without_hal} \
|
||||
%{?_without_udev} \
|
||||
%{?_without_yajl} \
|
||||
--without-xen-proxy \
|
||||
--libexecdir=%{_libdir}/%{name} \
|
||||
--with-init-script=none \
|
||||
--with-remote-pid-file=%{_localstatedir}/run/libvirtd.pid \
|
||||
--with-xen-proxy=no \
|
||||
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 \
|
||||
@ -244,6 +358,14 @@ rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml
|
||||
mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/run/libvirt
|
||||
mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/lib/libvirt
|
||||
rm $RPM_BUILD_ROOT%{_libdir}/*.*a $RPM_BUILD_ROOT%{py_sitedir}/*.*a
|
||||
%if ! %{with_lxc}
|
||||
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/lxc.conf
|
||||
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirtd_lxc.aug
|
||||
%endif
|
||||
%if ! %{with_qemu}
|
||||
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu.conf
|
||||
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirtd_qemu.aug
|
||||
%endif
|
||||
ln_dupes()
|
||||
{
|
||||
target=""
|
||||
@ -269,7 +391,11 @@ ln -s /etc/init.d/libvirtd $RPM_BUILD_ROOT/usr/sbin/rclibvirtd
|
||||
%clean
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
%post -p /sbin/ldconfig
|
||||
%post
|
||||
/sbin/ldconfig
|
||||
%if 0%{?sles_version}
|
||||
%{fillup_and_insserv -f -y libvirtd}
|
||||
%endif
|
||||
|
||||
%preun
|
||||
%stop_on_removal libvirtd
|
||||
@ -279,49 +405,84 @@ rm -rf $RPM_BUILD_ROOT
|
||||
%restart_on_update libvirtd
|
||||
%insserv_cleanup
|
||||
|
||||
%files -f %{name}.lang
|
||||
%post client -p /sbin/ldconfig
|
||||
|
||||
%postun client -p /sbin/ldconfig
|
||||
|
||||
%files
|
||||
%defattr(-, root, root)
|
||||
%{_bindir}/virsh
|
||||
%{_bindir}/virt-xml-validate
|
||||
%{_bindir}/virt-pki-validate
|
||||
%{_sbindir}/libvirtd
|
||||
%dir %{_libdir}/%{name}
|
||||
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/
|
||||
%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 /etc/init.d/libvirtd
|
||||
%{_sbindir}/rclibvirtd
|
||||
%config %{_sysconfdir}/libvirt/libvirtd.conf
|
||||
%config %{_sysconfdir}/logrotate.d/libvirtd
|
||||
%config %{_sysconfdir}/libvirt/qemu/networks/default.xml
|
||||
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/network/
|
||||
%dir %{_localstatedir}/run/libvirt/
|
||||
%dir %{_localstatedir}/lib/libvirt/
|
||||
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/images/
|
||||
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/boot/
|
||||
%dir %attr(0700, root, root) %{_localstatedir}/cache/libvirt/
|
||||
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/
|
||||
%if 0%{?suse_version} > 1110
|
||||
%{_datadir}/polkit-1/actions/org.libvirt.unix.policy
|
||||
%else
|
||||
%{_datadir}/PolicyKit/policy/org.libvirt.unix.policy
|
||||
%endif
|
||||
%{_datadir}/augeas
|
||||
%if %{with_qemu}
|
||||
%config %{_sysconfdir}/libvirt/qemu.conf
|
||||
%dir %attr(0700, root, root) %{_localstatedir}/run/libvirt/qemu/
|
||||
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/qemu/
|
||||
%dir %attr(0700, root, root) %{_localstatedir}/cache/libvirt/qemu/
|
||||
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/qemu/
|
||||
%endif
|
||||
%if %{with_lxc}
|
||||
%config %{_sysconfdir}/libvirt/lxc.conf
|
||||
%dir %attr(0700, root, root) %{_localstatedir}/run/libvirt/lxc/
|
||||
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/lxc/
|
||||
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/lxc/
|
||||
%attr(0755, root, root) %{_libdir}/%{name}/libvirt_lxc
|
||||
%endif
|
||||
%if %{with_uml}
|
||||
%dir %attr(0700, root, root) %{_localstatedir}/run/libvirt/uml/
|
||||
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/uml/
|
||||
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/uml/
|
||||
%endif
|
||||
%if 0%{with_storage_disk}
|
||||
%{_libdir}/%{name}/libvirt_parthelper
|
||||
%endif
|
||||
|
||||
%files client -f %{name}.lang
|
||||
%defattr(-, root, root)
|
||||
%doc %dir %{_docdir}/%{name}
|
||||
%doc %{_docdir}/%{name}/[CNRT]*
|
||||
%doc %{_docdir}/%{name}/AUTHORS
|
||||
%doc %{_mandir}/man1/virsh.1*
|
||||
%doc %{_mandir}/man1/virt-xml-validate.1*
|
||||
%doc %{_mandir}/man1/virt-pki-validate.1*
|
||||
%{_libdir}/*.so.*
|
||||
%dir %{_libdir}/%{name}
|
||||
%if 0%{?suse_version} > 1030
|
||||
%{_libdir}/%{name}/libvirt_parthelper
|
||||
%endif
|
||||
%if %{with_lxc}
|
||||
%attr(0755, root, root) %{_libdir}/%{name}/libvirt_lxc
|
||||
%endif
|
||||
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/
|
||||
%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
|
||||
%if %{with_lxc}
|
||||
%config %{_sysconfdir}/libvirt/lxc.conf
|
||||
%endif
|
||||
%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
|
||||
%{_sbindir}/rclibvirtd
|
||||
%config %{_sysconfdir}/libvirt/libvirtd.conf
|
||||
%config %{_sysconfdir}/libvirt/qemu.conf
|
||||
%{_bindir}/virsh
|
||||
%{_bindir}/virt-xml-validate
|
||||
%{_bindir}/virt-pki-validate
|
||||
%{_libdir}/lib*.so.*
|
||||
%dir %{_datadir}/libvirt/
|
||||
%dir %{_datadir}/libvirt/schemas/
|
||||
%{_datadir}/libvirt/schemas/domain.rng
|
||||
%{_datadir}/libvirt/schemas/network.rng
|
||||
%{_datadir}/libvirt/schemas/storagepool.rng
|
||||
%{_datadir}/libvirt/schemas/storagevol.rng
|
||||
%{_datadir}/libvirt/schemas/nodedev.rng
|
||||
%{_datadir}/libvirt/schemas/capability.rng
|
||||
%{_datadir}/libvirt/schemas/interface.rng
|
||||
%{_datadir}/libvirt/schemas/secret.rng
|
||||
%{_datadir}/libvirt/schemas/storageencryption.rng
|
||||
%{_datadir}/libvirt/cpu_map.xml
|
||||
%config %{_sysconfdir}/sasl2/libvirt.conf
|
||||
%if 0%{?suse_version} > 1110
|
||||
%{_datadir}/polkit-1/actions/org.libvirt.unix.policy
|
||||
%else
|
||||
%{_datadir}/PolicyKit/policy/org.libvirt.unix.policy
|
||||
%endif
|
||||
%{_datadir}/libvirt
|
||||
%{_datadir}/augeas
|
||||
|
||||
%files devel
|
||||
%defattr(-, root, root)
|
||||
@ -341,6 +502,5 @@ rm -rf $RPM_BUILD_ROOT
|
||||
%doc %{_docdir}/%{name}-python
|
||||
%{py_sitedir}/libvirt.py*
|
||||
%{py_sitedir}/libvirtmod*
|
||||
#%attr(0755, root, root) %{_libdir}/%{name}/virt-aa-helper
|
||||
|
||||
%changelog
|
||||
|
@ -1,7 +1,7 @@
|
||||
Index: libvirt-0.7.2/daemon/libvirtd.conf
|
||||
Index: libvirt-0.7.5/daemon/libvirtd.conf
|
||||
===================================================================
|
||||
--- libvirt-0.7.2.orig/daemon/libvirtd.conf
|
||||
+++ libvirt-0.7.2/daemon/libvirtd.conf
|
||||
--- libvirt-0.7.5.orig/daemon/libvirtd.conf
|
||||
+++ libvirt-0.7.5/daemon/libvirtd.conf
|
||||
@@ -18,8 +18,8 @@
|
||||
# It is necessary to setup a CA and issue server certificates before
|
||||
# using this capability.
|
||||
@ -28,11 +28,11 @@ Index: libvirt-0.7.2/daemon/libvirtd.conf
|
||||
|
||||
# Override the default mDNS advertizement name. This must be
|
||||
# unique on the immediate broadcast network.
|
||||
Index: libvirt-0.7.2/daemon/libvirtd.c
|
||||
Index: libvirt-0.7.5/daemon/libvirtd.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.2.orig/daemon/libvirtd.c
|
||||
+++ libvirt-0.7.2/daemon/libvirtd.c
|
||||
@@ -135,7 +135,7 @@ static int sigwrite = -1; /* Signa
|
||||
--- libvirt-0.7.5.orig/daemon/libvirtd.c
|
||||
+++ libvirt-0.7.5/daemon/libvirtd.c
|
||||
@@ -137,7 +137,7 @@ static int sigwrite = -1; /* Signa
|
||||
static int ipsock = 0; /* -l Listen for TCP/IP */
|
||||
|
||||
/* Defaults for configuration file elements */
|
||||
@ -41,7 +41,7 @@ Index: libvirt-0.7.2/daemon/libvirtd.c
|
||||
static int listen_tcp = 0;
|
||||
static char *listen_addr = (char *) LIBVIRTD_LISTEN_ADDR;
|
||||
static char *tls_port = (char *) LIBVIRTD_TLS_PORT;
|
||||
@@ -157,7 +157,7 @@ static int auth_tcp = REMOTE_AUTH_NONE;
|
||||
@@ -159,7 +159,7 @@ static int auth_tcp = REMOTE_AUTH_NONE;
|
||||
#endif
|
||||
static int auth_tls = REMOTE_AUTH_NONE;
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
Index: libvirt-0.7.4/src/xen/xend_internal.c
|
||||
Index: libvirt-0.7.5/src/xen/xend_internal.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.4.orig/src/xen/xend_internal.c
|
||||
+++ libvirt-0.7.4/src/xen/xend_internal.c
|
||||
@@ -4517,6 +4517,8 @@ xenDaemonDomainMigratePerform (virDomain
|
||||
--- libvirt-0.7.5.orig/src/xen/xend_internal.c
|
||||
+++ libvirt-0.7.5/src/xen/xend_internal.c
|
||||
@@ -4559,6 +4559,8 @@ xenDaemonDomainMigratePerform (virDomain
|
||||
"node", "-1",
|
||||
"ssl", "0",
|
||||
"resource", "0", /* required, xend ignores it */
|
||||
|
29
node-dev-free.patch
Normal file
29
node-dev-free.patch
Normal file
@ -0,0 +1,29 @@
|
||||
This invalid free results in heap corruption. Some symptoms I saw
|
||||
because of this were libvirtd crashing and virt-manager hanging
|
||||
while trying to enumerate devices.
|
||||
---
|
||||
src/node_device/node_device_driver.c | 4 ++--
|
||||
1 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
Index: libvirt-0.7.5/src/node_device/node_device_driver.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/src/node_device/node_device_driver.c
|
||||
+++ libvirt-0.7.5/src/node_device/node_device_driver.c
|
||||
@@ -78,7 +78,7 @@ static int update_driver_name(virConnect
|
||||
virNodeDeviceObjPtr dev)
|
||||
{
|
||||
char *driver_link = NULL;
|
||||
- char *devpath;
|
||||
+ char *devpath = NULL;
|
||||
char *p;
|
||||
int ret = -1;
|
||||
|
||||
@@ -114,7 +114,7 @@ static int update_driver_name(virConnect
|
||||
|
||||
cleanup:
|
||||
VIR_FREE(driver_link);
|
||||
- free(devpath);
|
||||
+ VIR_FREE(devpath);
|
||||
return ret;
|
||||
}
|
||||
#else
|
246
snapshots.patch
246
snapshots.patch
@ -1,8 +1,8 @@
|
||||
Index: libvirt-0.7.4/include/libvirt/libvirt.h.in
|
||||
Index: libvirt-0.7.5/include/libvirt/libvirt.h.in
|
||||
===================================================================
|
||||
--- libvirt-0.7.4.orig/include/libvirt/libvirt.h.in
|
||||
+++ libvirt-0.7.4/include/libvirt/libvirt.h.in
|
||||
@@ -565,6 +565,21 @@ int virDomainRestore
|
||||
--- libvirt-0.7.5.orig/include/libvirt/libvirt.h.in
|
||||
+++ libvirt-0.7.5/include/libvirt/libvirt.h.in
|
||||
@@ -621,6 +621,21 @@ int virDomainRestore
|
||||
const char *from);
|
||||
|
||||
/*
|
||||
@ -24,11 +24,11 @@ Index: libvirt-0.7.4/include/libvirt/libvirt.h.in
|
||||
* Domain core dump
|
||||
*/
|
||||
int virDomainCoreDump (virDomainPtr domain,
|
||||
Index: libvirt-0.7.4/src/libvirt.c
|
||||
Index: libvirt-0.7.5/src/libvirt.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.4.orig/src/libvirt.c
|
||||
+++ libvirt-0.7.4/src/libvirt.c
|
||||
@@ -2281,6 +2281,166 @@ error:
|
||||
--- libvirt-0.7.5.orig/src/libvirt.c
|
||||
+++ libvirt-0.7.5/src/libvirt.c
|
||||
@@ -2339,6 +2339,166 @@ error:
|
||||
}
|
||||
|
||||
/**
|
||||
@ -195,10 +195,10 @@ Index: libvirt-0.7.4/src/libvirt.c
|
||||
* virDomainCoreDump:
|
||||
* @domain: a domain object
|
||||
* @to: path for the core file
|
||||
Index: libvirt-0.7.4/src/driver.h
|
||||
Index: libvirt-0.7.5/src/driver.h
|
||||
===================================================================
|
||||
--- libvirt-0.7.4.orig/src/driver.h
|
||||
+++ libvirt-0.7.4/src/driver.h
|
||||
--- libvirt-0.7.5.orig/src/driver.h
|
||||
+++ libvirt-0.7.5/src/driver.h
|
||||
@@ -136,6 +136,21 @@ typedef int
|
||||
(*virDrvDomainRestore) (virConnectPtr conn,
|
||||
const char *from);
|
||||
@ -221,10 +221,10 @@ Index: libvirt-0.7.4/src/driver.h
|
||||
(*virDrvDomainCoreDump) (virDomainPtr domain,
|
||||
const char *to,
|
||||
int flags);
|
||||
@@ -435,6 +450,11 @@ struct _virDriver {
|
||||
virDrvConnectIsSecure isSecure;
|
||||
@@ -448,6 +463,11 @@ struct _virDriver {
|
||||
virDrvDomainIsActive domainIsActive;
|
||||
virDrvDomainIsPersistent domainIsPersistent;
|
||||
virDrvCPUCompare cpuCompare;
|
||||
+ virDrvDomainSnapshotCreate domainSnapshotCreate;
|
||||
+ virDrvDomainSnapshotApply domainSnapshotApply;
|
||||
+ virDrvDomainSnapshotDelete domainSnapshotDelete;
|
||||
@ -233,10 +233,10 @@ Index: libvirt-0.7.4/src/driver.h
|
||||
};
|
||||
|
||||
typedef int
|
||||
Index: libvirt-0.7.4/src/xen/xen_driver.c
|
||||
Index: libvirt-0.7.5/src/xen/xen_driver.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.4.orig/src/xen/xen_driver.c
|
||||
+++ libvirt-0.7.4/src/xen/xen_driver.c
|
||||
--- libvirt-0.7.5.orig/src/xen/xen_driver.c
|
||||
+++ libvirt-0.7.5/src/xen/xen_driver.c
|
||||
@@ -1052,6 +1052,81 @@ xenUnifiedDomainRestore (virConnectPtr c
|
||||
}
|
||||
|
||||
@ -319,22 +319,22 @@ Index: libvirt-0.7.4/src/xen/xen_driver.c
|
||||
xenUnifiedDomainCoreDump (virDomainPtr dom, const char *to, int flags)
|
||||
{
|
||||
GET_PRIVATE(dom->conn);
|
||||
@@ -1860,6 +1935,11 @@ static virDriver xenUnifiedDriver = {
|
||||
xenUnifiedIsSecure,
|
||||
@@ -1862,6 +1937,11 @@ static virDriver xenUnifiedDriver = {
|
||||
xenUnifiedDomainIsActive,
|
||||
xenUnifiedDomainisPersistent,
|
||||
+ xenUnifiedDomainSnapshotCreate,
|
||||
+ xenUnifiedDomainSnapshotApply,
|
||||
+ xenUnifiedDomainSnapshotDelete,
|
||||
+ xenUnifiedDomainNumOfSnapshots,
|
||||
+ xenUnifiedDomainListSnapshots,
|
||||
NULL, /* cpuCompare */
|
||||
+ xenUnifiedDomainSnapshotCreate, /* domainSnapshotCreate */
|
||||
+ xenUnifiedDomainSnapshotApply, /* domainSnapshotApply */
|
||||
+ xenUnifiedDomainSnapshotDelete, /* domainSnapshotDelete */
|
||||
+ xenUnifiedDomainNumOfSnapshots, /* domainNumOfSnapshots */
|
||||
+ xenUnifiedDomainListSnapshots, /* domainListSnapshots */
|
||||
};
|
||||
|
||||
/**
|
||||
Index: libvirt-0.7.4/src/xen/xen_driver.h
|
||||
Index: libvirt-0.7.5/src/xen/xen_driver.h
|
||||
===================================================================
|
||||
--- libvirt-0.7.4.orig/src/xen/xen_driver.h
|
||||
+++ libvirt-0.7.4/src/xen/xen_driver.h
|
||||
--- libvirt-0.7.5.orig/src/xen/xen_driver.h
|
||||
+++ libvirt-0.7.5/src/xen/xen_driver.h
|
||||
@@ -100,6 +100,11 @@ struct xenUnifiedDriver {
|
||||
virDrvDomainGetSchedulerType domainGetSchedulerType;
|
||||
virDrvDomainGetSchedulerParameters domainGetSchedulerParameters;
|
||||
@ -347,10 +347,10 @@ Index: libvirt-0.7.4/src/xen/xen_driver.h
|
||||
};
|
||||
|
||||
typedef struct xenXMConfCache *xenXMConfCachePtr;
|
||||
Index: libvirt-0.7.4/src/xen/xend_internal.c
|
||||
Index: libvirt-0.7.5/src/xen/xend_internal.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.4.orig/src/xen/xend_internal.c
|
||||
+++ libvirt-0.7.4/src/xen/xend_internal.c
|
||||
--- libvirt-0.7.5.orig/src/xen/xend_internal.c
|
||||
+++ libvirt-0.7.5/src/xen/xend_internal.c
|
||||
@@ -53,6 +53,12 @@
|
||||
|
||||
#ifndef PROXY
|
||||
@ -364,7 +364,7 @@ Index: libvirt-0.7.4/src/xen/xend_internal.c
|
||||
/*
|
||||
* The number of Xen scheduler parameters
|
||||
*/
|
||||
@@ -3271,6 +3277,87 @@ xenDaemonDomainRestore(virConnectPtr con
|
||||
@@ -3282,6 +3288,87 @@ xenDaemonDomainRestore(virConnectPtr con
|
||||
}
|
||||
return xend_op(conn, "", "op", "restore", "file", filename, NULL);
|
||||
}
|
||||
@ -452,7 +452,7 @@ Index: libvirt-0.7.4/src/xen/xend_internal.c
|
||||
#endif /* !PROXY */
|
||||
|
||||
/**
|
||||
@@ -5123,6 +5210,11 @@ struct xenUnifiedDriver xenDaemonDriver
|
||||
@@ -5165,6 +5252,11 @@ struct xenUnifiedDriver xenDaemonDriver
|
||||
xenDaemonGetSchedulerType, /* domainGetSchedulerType */
|
||||
xenDaemonGetSchedulerParameters, /* domainGetSchedulerParameters */
|
||||
xenDaemonSetSchedulerParameters, /* domainSetSchedulerParameters */
|
||||
@ -464,10 +464,10 @@ Index: libvirt-0.7.4/src/xen/xend_internal.c
|
||||
};
|
||||
|
||||
/************************************************************************
|
||||
Index: libvirt-0.7.4/src/xen/proxy_internal.c
|
||||
Index: libvirt-0.7.5/src/xen/proxy_internal.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.4.orig/src/xen/proxy_internal.c
|
||||
+++ libvirt-0.7.4/src/xen/proxy_internal.c
|
||||
--- libvirt-0.7.5.orig/src/xen/proxy_internal.c
|
||||
+++ libvirt-0.7.5/src/xen/proxy_internal.c
|
||||
@@ -83,6 +83,11 @@ struct xenUnifiedDriver xenProxyDriver =
|
||||
NULL, /* domainGetSchedulerType */
|
||||
NULL, /* domainGetSchedulerParameters */
|
||||
@ -480,11 +480,11 @@ Index: libvirt-0.7.4/src/xen/proxy_internal.c
|
||||
};
|
||||
|
||||
|
||||
Index: libvirt-0.7.4/src/xen/xen_hypervisor.c
|
||||
Index: libvirt-0.7.5/src/xen/xen_hypervisor.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.4.orig/src/xen/xen_hypervisor.c
|
||||
+++ libvirt-0.7.4/src/xen/xen_hypervisor.c
|
||||
@@ -750,6 +750,11 @@ struct xenUnifiedDriver xenHypervisorDri
|
||||
--- libvirt-0.7.5.orig/src/xen/xen_hypervisor.c
|
||||
+++ libvirt-0.7.5/src/xen/xen_hypervisor.c
|
||||
@@ -800,6 +800,11 @@ struct xenUnifiedDriver xenHypervisorDri
|
||||
xenHypervisorGetSchedulerType, /* domainGetSchedulerType */
|
||||
xenHypervisorGetSchedulerParameters, /* domainGetSchedulerParameters */
|
||||
xenHypervisorSetSchedulerParameters, /* domainSetSchedulerParameters */
|
||||
@ -496,10 +496,10 @@ Index: libvirt-0.7.4/src/xen/xen_hypervisor.c
|
||||
};
|
||||
#endif /* !PROXY */
|
||||
|
||||
Index: libvirt-0.7.4/src/xen/xm_internal.c
|
||||
Index: libvirt-0.7.5/src/xen/xm_internal.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.4.orig/src/xen/xm_internal.c
|
||||
+++ libvirt-0.7.4/src/xen/xm_internal.c
|
||||
--- libvirt-0.7.5.orig/src/xen/xm_internal.c
|
||||
+++ libvirt-0.7.5/src/xen/xm_internal.c
|
||||
@@ -116,6 +116,11 @@ struct xenUnifiedDriver xenXMDriver = {
|
||||
NULL, /* domainGetSchedulerType */
|
||||
NULL, /* domainGetSchedulerParameters */
|
||||
@ -512,10 +512,10 @@ Index: libvirt-0.7.4/src/xen/xm_internal.c
|
||||
};
|
||||
|
||||
#define xenXMError(conn, code, fmt...) \
|
||||
Index: libvirt-0.7.4/src/xen/xs_internal.c
|
||||
Index: libvirt-0.7.5/src/xen/xs_internal.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.4.orig/src/xen/xs_internal.c
|
||||
+++ libvirt-0.7.4/src/xen/xs_internal.c
|
||||
--- libvirt-0.7.5.orig/src/xen/xs_internal.c
|
||||
+++ libvirt-0.7.5/src/xen/xs_internal.c
|
||||
@@ -83,6 +83,11 @@ struct xenUnifiedDriver xenStoreDriver =
|
||||
NULL, /* domainGetSchedulerType */
|
||||
NULL, /* domainGetSchedulerParameters */
|
||||
@ -528,11 +528,11 @@ Index: libvirt-0.7.4/src/xen/xs_internal.c
|
||||
};
|
||||
|
||||
#endif /* ! PROXY */
|
||||
Index: libvirt-0.7.4/tools/virsh.c
|
||||
Index: libvirt-0.7.5/tools/virsh.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.4.orig/tools/virsh.c
|
||||
+++ libvirt-0.7.4/tools/virsh.c
|
||||
@@ -1179,6 +1179,188 @@ cmdSave(vshControl *ctl, const vshCmd *c
|
||||
--- libvirt-0.7.5.orig/tools/virsh.c
|
||||
+++ libvirt-0.7.5/tools/virsh.c
|
||||
@@ -1233,6 +1233,188 @@ cmdSave(vshControl *ctl, const vshCmd *c
|
||||
}
|
||||
|
||||
/*
|
||||
@ -721,7 +721,7 @@ Index: libvirt-0.7.4/tools/virsh.c
|
||||
* "schedinfo" command
|
||||
*/
|
||||
static const vshCmdInfo info_schedinfo[] = {
|
||||
@@ -7298,6 +7480,12 @@ static const vshCmdDef commands[] = {
|
||||
@@ -7431,6 +7613,12 @@ static const vshCmdDef commands[] = {
|
||||
{"undefine", cmdUndefine, opts_undefine, info_undefine},
|
||||
{"uri", cmdURI, NULL, info_uri},
|
||||
|
||||
@ -734,14 +734,14 @@ Index: libvirt-0.7.4/tools/virsh.c
|
||||
{"vol-create", cmdVolCreate, opts_vol_create, info_vol_create},
|
||||
{"vol-create-from", cmdVolCreateFrom, opts_vol_create_from, info_vol_create_from},
|
||||
{"vol-create-as", cmdVolCreateAs, opts_vol_create_as, info_vol_create_as},
|
||||
Index: libvirt-0.7.4/src/lxc/lxc_driver.c
|
||||
Index: libvirt-0.7.5/src/lxc/lxc_driver.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.4.orig/src/lxc/lxc_driver.c
|
||||
+++ libvirt-0.7.4/src/lxc/lxc_driver.c
|
||||
@@ -2404,6 +2404,11 @@ static virDriver lxcDriver = {
|
||||
lxcIsSecure,
|
||||
--- libvirt-0.7.5.orig/src/lxc/lxc_driver.c
|
||||
+++ libvirt-0.7.5/src/lxc/lxc_driver.c
|
||||
@@ -2456,6 +2456,11 @@ static virDriver lxcDriver = {
|
||||
lxcDomainIsActive,
|
||||
lxcDomainIsPersistent,
|
||||
NULL, /* cpuCompare */
|
||||
+ NULL, /* domainSnapshotCreate */
|
||||
+ NULL, /* domainSnapshotApply */
|
||||
+ NULL, /* domainSnapshotDelete */
|
||||
@ -750,14 +750,14 @@ Index: libvirt-0.7.4/src/lxc/lxc_driver.c
|
||||
};
|
||||
|
||||
static virStateDriver lxcStateDriver = {
|
||||
Index: libvirt-0.7.4/src/openvz/openvz_driver.c
|
||||
Index: libvirt-0.7.5/src/openvz/openvz_driver.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.4.orig/src/openvz/openvz_driver.c
|
||||
+++ libvirt-0.7.4/src/openvz/openvz_driver.c
|
||||
@@ -1534,6 +1534,11 @@ static virDriver openvzDriver = {
|
||||
openvzIsSecure,
|
||||
--- libvirt-0.7.5.orig/src/openvz/openvz_driver.c
|
||||
+++ libvirt-0.7.5/src/openvz/openvz_driver.c
|
||||
@@ -1535,6 +1535,11 @@ static virDriver openvzDriver = {
|
||||
openvzDomainIsActive,
|
||||
openvzDomainIsPersistent,
|
||||
NULL, /* cpuCompare */
|
||||
+ NULL, /* domainSnapshotCreate */
|
||||
+ NULL, /* domainSnapshotApply */
|
||||
+ NULL, /* domainSnapshotDelete */
|
||||
@ -766,14 +766,14 @@ Index: libvirt-0.7.4/src/openvz/openvz_driver.c
|
||||
};
|
||||
|
||||
int openvzRegister(void) {
|
||||
Index: libvirt-0.7.4/src/qemu/qemu_driver.c
|
||||
Index: libvirt-0.7.5/src/qemu/qemu_driver.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.4.orig/src/qemu/qemu_driver.c
|
||||
+++ libvirt-0.7.4/src/qemu/qemu_driver.c
|
||||
@@ -7559,6 +7559,11 @@ static virDriver qemuDriver = {
|
||||
qemuIsSecure,
|
||||
--- libvirt-0.7.5.orig/src/qemu/qemu_driver.c
|
||||
+++ libvirt-0.7.5/src/qemu/qemu_driver.c
|
||||
@@ -7990,6 +7990,11 @@ static virDriver qemuDriver = {
|
||||
qemuDomainIsActive,
|
||||
qemuDomainIsPersistent,
|
||||
qemuCPUCompare, /* cpuCompare */
|
||||
+ NULL, /* domainSnapshotCreate */
|
||||
+ NULL, /* domainSnapshotApply */
|
||||
+ NULL, /* domainSnapshotDelete */
|
||||
@ -782,14 +782,14 @@ Index: libvirt-0.7.4/src/qemu/qemu_driver.c
|
||||
};
|
||||
|
||||
|
||||
Index: libvirt-0.7.4/src/esx/esx_driver.c
|
||||
Index: libvirt-0.7.5/src/esx/esx_driver.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.4.orig/src/esx/esx_driver.c
|
||||
+++ libvirt-0.7.4/src/esx/esx_driver.c
|
||||
@@ -3425,6 +3425,11 @@ static virDriver esxDriver = {
|
||||
esxIsSecure, /* isSecure */
|
||||
--- libvirt-0.7.5.orig/src/esx/esx_driver.c
|
||||
+++ libvirt-0.7.5/src/esx/esx_driver.c
|
||||
@@ -3455,6 +3455,11 @@ static virDriver esxDriver = {
|
||||
esxDomainIsActive, /* domainIsActive */
|
||||
esxDomainIsPersistent, /* domainIsPersistent */
|
||||
NULL, /* cpuCompare */
|
||||
+ NULL, /* domainSnapshotCreate */
|
||||
+ NULL, /* domainSnapshotApply */
|
||||
+ NULL, /* domainSnapshotDelete */
|
||||
@ -798,14 +798,14 @@ Index: libvirt-0.7.4/src/esx/esx_driver.c
|
||||
};
|
||||
|
||||
|
||||
Index: libvirt-0.7.4/src/test/test_driver.c
|
||||
Index: libvirt-0.7.5/src/test/test_driver.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.4.orig/src/test/test_driver.c
|
||||
+++ libvirt-0.7.4/src/test/test_driver.c
|
||||
@@ -5233,6 +5233,11 @@ static virDriver testDriver = {
|
||||
testIsSecure, /* isEncrypted */
|
||||
--- libvirt-0.7.5.orig/src/test/test_driver.c
|
||||
+++ libvirt-0.7.5/src/test/test_driver.c
|
||||
@@ -5238,6 +5238,11 @@ static virDriver testDriver = {
|
||||
testDomainIsActive, /* domainIsActive */
|
||||
testDomainIsPersistent, /* domainIsPersistent */
|
||||
NULL, /* cpuCompare */
|
||||
+ NULL, /* domainSnapshotCreate */
|
||||
+ NULL, /* domainSnapshotApply */
|
||||
+ NULL, /* domainSnapshotDelete */
|
||||
@ -814,14 +814,14 @@ Index: libvirt-0.7.4/src/test/test_driver.c
|
||||
};
|
||||
|
||||
static virNetworkDriver testNetworkDriver = {
|
||||
Index: libvirt-0.7.4/src/uml/uml_driver.c
|
||||
Index: libvirt-0.7.5/src/uml/uml_driver.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.4.orig/src/uml/uml_driver.c
|
||||
+++ libvirt-0.7.4/src/uml/uml_driver.c
|
||||
@@ -1888,6 +1888,11 @@ static virDriver umlDriver = {
|
||||
umlIsSecure,
|
||||
--- libvirt-0.7.5.orig/src/uml/uml_driver.c
|
||||
+++ libvirt-0.7.5/src/uml/uml_driver.c
|
||||
@@ -1924,6 +1924,11 @@ static virDriver umlDriver = {
|
||||
umlDomainIsActive,
|
||||
umlDomainIsPersistent,
|
||||
NULL, /* cpuCompare */
|
||||
+ NULL, /* domainSnapshotCreate */
|
||||
+ NULL, /* domainSnapshotApply */
|
||||
+ NULL, /* domainSnapshotDelete */
|
||||
@ -830,14 +830,14 @@ Index: libvirt-0.7.4/src/uml/uml_driver.c
|
||||
};
|
||||
|
||||
|
||||
Index: libvirt-0.7.4/src/vbox/vbox_tmpl.c
|
||||
Index: libvirt-0.7.5/src/vbox/vbox_tmpl.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.4.orig/src/vbox/vbox_tmpl.c
|
||||
+++ libvirt-0.7.4/src/vbox/vbox_tmpl.c
|
||||
@@ -6571,6 +6571,11 @@ virDriver NAME(Driver) = {
|
||||
vboxIsSecure,
|
||||
--- libvirt-0.7.5.orig/src/vbox/vbox_tmpl.c
|
||||
+++ libvirt-0.7.5/src/vbox/vbox_tmpl.c
|
||||
@@ -7051,6 +7051,11 @@ virDriver NAME(Driver) = {
|
||||
vboxDomainIsActive,
|
||||
vboxDomainIsPersistent,
|
||||
NULL, /* cpuCompare */
|
||||
+ NULL, /* domainSnapshotCreate */
|
||||
+ NULL, /* domainSnapshotApply */
|
||||
+ NULL, /* domainSnapshotDelete */
|
||||
@ -846,14 +846,14 @@ Index: libvirt-0.7.4/src/vbox/vbox_tmpl.c
|
||||
};
|
||||
|
||||
virNetworkDriver NAME(NetworkDriver) = {
|
||||
Index: libvirt-0.7.4/src/opennebula/one_driver.c
|
||||
Index: libvirt-0.7.5/src/opennebula/one_driver.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.4.orig/src/opennebula/one_driver.c
|
||||
+++ libvirt-0.7.4/src/opennebula/one_driver.c
|
||||
@@ -781,6 +781,11 @@ static virDriver oneDriver = {
|
||||
oneIsSecure,
|
||||
--- libvirt-0.7.5.orig/src/opennebula/one_driver.c
|
||||
+++ libvirt-0.7.5/src/opennebula/one_driver.c
|
||||
@@ -783,6 +783,11 @@ static virDriver oneDriver = {
|
||||
NULL, /* domainIsActive */
|
||||
NULL, /* domainIsPersistent */
|
||||
NULL, /* cpuCompare */
|
||||
+ NULL, /* domainSnapshotCreate */
|
||||
+ NULL, /* domainSnapshotApply */
|
||||
+ NULL, /* domainSnapshotDelete */
|
||||
@ -862,14 +862,14 @@ Index: libvirt-0.7.4/src/opennebula/one_driver.c
|
||||
};
|
||||
|
||||
static virStateDriver oneStateDriver = {
|
||||
Index: libvirt-0.7.4/src/phyp/phyp_driver.c
|
||||
Index: libvirt-0.7.5/src/phyp/phyp_driver.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.4.orig/src/phyp/phyp_driver.c
|
||||
+++ libvirt-0.7.4/src/phyp/phyp_driver.c
|
||||
@@ -1650,6 +1650,11 @@ virDriver phypDriver = {
|
||||
phypIsSecure,
|
||||
--- libvirt-0.7.5.orig/src/phyp/phyp_driver.c
|
||||
+++ libvirt-0.7.5/src/phyp/phyp_driver.c
|
||||
@@ -1651,6 +1651,11 @@ virDriver phypDriver = {
|
||||
NULL, /* domainIsActive */
|
||||
NULL, /* domainIsPersistent */
|
||||
NULL, /* cpuCompare */
|
||||
+ NULL, /* domainSnapshotCreate */
|
||||
+ NULL, /* domainSnapshotApply */
|
||||
+ NULL, /* domainSnapshotDelete */
|
||||
@ -878,14 +878,14 @@ Index: libvirt-0.7.4/src/phyp/phyp_driver.c
|
||||
};
|
||||
|
||||
int
|
||||
Index: libvirt-0.7.4/src/remote/remote_driver.c
|
||||
Index: libvirt-0.7.5/src/remote/remote_driver.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.4.orig/src/remote/remote_driver.c
|
||||
+++ libvirt-0.7.4/src/remote/remote_driver.c
|
||||
@@ -8847,6 +8847,11 @@ static virDriver remote_driver = {
|
||||
remoteIsSecure, /* isSecure */
|
||||
--- libvirt-0.7.5.orig/src/remote/remote_driver.c
|
||||
+++ libvirt-0.7.5/src/remote/remote_driver.c
|
||||
@@ -8940,6 +8940,11 @@ static virDriver remote_driver = {
|
||||
remoteDomainIsActive, /* domainIsActive */
|
||||
remoteDomainIsPersistent, /* domainIsPersistent */
|
||||
remoteCPUCompare, /* cpuCompare */
|
||||
+ NULL, /* domainSnapshotCreate */
|
||||
+ NULL, /* domainSnapshotApply */
|
||||
+ NULL, /* domainSnapshotDelete */
|
||||
@ -894,11 +894,11 @@ Index: libvirt-0.7.4/src/remote/remote_driver.c
|
||||
};
|
||||
|
||||
static virNetworkDriver network_driver = {
|
||||
Index: libvirt-0.7.4/docs/libvirt-api.xml
|
||||
Index: libvirt-0.7.5/docs/libvirt-api.xml
|
||||
===================================================================
|
||||
--- libvirt-0.7.4.orig/docs/libvirt-api.xml
|
||||
+++ libvirt-0.7.4/docs/libvirt-api.xml
|
||||
@@ -271,6 +271,11 @@
|
||||
--- libvirt-0.7.5.orig/docs/libvirt-api.xml
|
||||
+++ libvirt-0.7.5/docs/libvirt-api.xml
|
||||
@@ -293,6 +293,11 @@
|
||||
<exports symbol='virDomainSetVcpus' type='function'/>
|
||||
<exports symbol='virDomainShutdown' type='function'/>
|
||||
<exports symbol='virDomainSuspend' type='function'/>
|
||||
@ -910,7 +910,7 @@ Index: libvirt-0.7.4/docs/libvirt-api.xml
|
||||
<exports symbol='virDomainUndefine' type='function'/>
|
||||
<exports symbol='virEventAddHandleFunc' type='function'/>
|
||||
<exports symbol='virEventAddTimeoutFunc' type='function'/>
|
||||
@@ -1878,6 +1883,36 @@ This function may requires privileged ac
|
||||
@@ -1972,6 +1977,36 @@ This function may requires privileged ac
|
||||
<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>
|
||||
@ -947,10 +947,10 @@ Index: libvirt-0.7.4/docs/libvirt-api.xml
|
||||
<function name='virDomainUndefine' file='libvirt' module='libvirt'>
|
||||
<info><![CDATA[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.7.4/src/libvirt_public.syms
|
||||
Index: libvirt-0.7.5/src/libvirt_public.syms
|
||||
===================================================================
|
||||
--- libvirt-0.7.4.orig/src/libvirt_public.syms
|
||||
+++ libvirt-0.7.4/src/libvirt_public.syms
|
||||
--- libvirt-0.7.5.orig/src/libvirt_public.syms
|
||||
+++ libvirt-0.7.5/src/libvirt_public.syms
|
||||
@@ -215,6 +215,11 @@ LIBVIRT_0.4.2 {
|
||||
LIBVIRT_0.4.5 {
|
||||
global:
|
||||
@ -963,11 +963,11 @@ Index: libvirt-0.7.4/src/libvirt_public.syms
|
||||
} LIBVIRT_0.4.2;
|
||||
|
||||
LIBVIRT_0.5.0 {
|
||||
Index: libvirt-0.7.4/python/generator.py
|
||||
Index: libvirt-0.7.5/python/generator.py
|
||||
===================================================================
|
||||
--- libvirt-0.7.4.orig/python/generator.py
|
||||
+++ libvirt-0.7.4/python/generator.py
|
||||
@@ -287,6 +287,7 @@ skip_impl = (
|
||||
--- libvirt-0.7.5.orig/python/generator.py
|
||||
+++ libvirt-0.7.5/python/generator.py
|
||||
@@ -288,6 +288,7 @@ skip_impl = (
|
||||
'virDomainSetSchedulerParameters',
|
||||
'virDomainGetVcpus',
|
||||
'virDomainPinVcpu',
|
||||
@ -975,11 +975,11 @@ Index: libvirt-0.7.4/python/generator.py
|
||||
'virSecretGetValue',
|
||||
'virSecretSetValue',
|
||||
'virSecretGetUUID',
|
||||
Index: libvirt-0.7.4/python/libvirt-override.c
|
||||
Index: libvirt-0.7.5/python/libvirt-override.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.4.orig/python/libvirt-override.c
|
||||
+++ libvirt-0.7.4/python/libvirt-override.c
|
||||
@@ -1400,6 +1400,34 @@ libvirt_virStoragePoolGetInfo(PyObject *
|
||||
--- libvirt-0.7.5.orig/python/libvirt-override.c
|
||||
+++ libvirt-0.7.5/python/libvirt-override.c
|
||||
@@ -1516,6 +1516,34 @@ libvirt_virStoragePoolGetInfo(PyObject *
|
||||
return(py_retval);
|
||||
}
|
||||
|
||||
@ -1014,7 +1014,7 @@ Index: libvirt-0.7.4/python/libvirt-override.c
|
||||
|
||||
static PyObject *
|
||||
libvirt_virStorageVolGetInfo(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
|
||||
@@ -2557,6 +2585,7 @@ static PyMethodDef libvirtMethods[] = {
|
||||
@@ -2690,6 +2718,7 @@ static PyMethodDef libvirtMethods[] = {
|
||||
{(char *) "virStoragePoolGetAutostart", libvirt_virStoragePoolGetAutostart, METH_VARARGS, NULL},
|
||||
{(char *) "virStoragePoolListVolumes", libvirt_virStoragePoolListVolumes, METH_VARARGS, NULL},
|
||||
{(char *) "virStoragePoolGetInfo", libvirt_virStoragePoolGetInfo, METH_VARARGS, NULL},
|
||||
@ -1022,11 +1022,11 @@ Index: libvirt-0.7.4/python/libvirt-override.c
|
||||
{(char *) "virStorageVolGetInfo", libvirt_virStorageVolGetInfo, METH_VARARGS, NULL},
|
||||
{(char *) "virStoragePoolGetUUID", libvirt_virStoragePoolGetUUID, METH_VARARGS, NULL},
|
||||
{(char *) "virStoragePoolGetUUIDString", libvirt_virStoragePoolGetUUIDString, METH_VARARGS, NULL},
|
||||
Index: libvirt-0.7.4/python/libvirt-override-api.xml
|
||||
Index: libvirt-0.7.5/python/libvirt-override-api.xml
|
||||
===================================================================
|
||||
--- libvirt-0.7.4.orig/python/libvirt-override-api.xml
|
||||
+++ libvirt-0.7.4/python/libvirt-override-api.xml
|
||||
@@ -140,6 +140,11 @@
|
||||
--- libvirt-0.7.5.orig/python/libvirt-override-api.xml
|
||||
+++ libvirt-0.7.5/python/libvirt-override-api.xml
|
||||
@@ -145,6 +145,11 @@
|
||||
<arg name='domain' type='virDomainPtr' info='pointer to domain object'/>
|
||||
<arg name='params' type='virSchedParameterPtr' info='pointer to scheduler parameter objects'/>
|
||||
</function>
|
||||
@ -1038,10 +1038,10 @@ Index: libvirt-0.7.4/python/libvirt-override-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.7.4/src/xen/xen_inotify.c
|
||||
Index: libvirt-0.7.5/src/xen/xen_inotify.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.4.orig/src/xen/xen_inotify.c
|
||||
+++ libvirt-0.7.4/src/xen/xen_inotify.c
|
||||
--- libvirt-0.7.5.orig/src/xen/xen_inotify.c
|
||||
+++ libvirt-0.7.5/src/xen/xen_inotify.c
|
||||
@@ -86,6 +86,11 @@ struct xenUnifiedDriver xenInotifyDriver
|
||||
NULL, /* domainGetSchedulerType */
|
||||
NULL, /* domainGetSchedulerParameters */
|
||||
|
@ -1,8 +1,8 @@
|
||||
Index: libvirt-0.7.4/src/conf/network_conf.c
|
||||
Index: libvirt-0.7.5/src/conf/network_conf.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.4.orig/src/conf/network_conf.c
|
||||
+++ libvirt-0.7.4/src/conf/network_conf.c
|
||||
@@ -865,6 +865,137 @@ error:
|
||||
--- libvirt-0.7.5.orig/src/conf/network_conf.c
|
||||
+++ libvirt-0.7.5/src/conf/network_conf.c
|
||||
@@ -863,6 +863,137 @@ error:
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@ -140,7 +140,7 @@ Index: libvirt-0.7.4/src/conf/network_conf.c
|
||||
int virNetworkLoadAllConfigs(virConnectPtr conn,
|
||||
virNetworkObjListPtr nets,
|
||||
const char *configDir,
|
||||
@@ -904,6 +1035,7 @@ int virNetworkLoadAllConfigs(virConnectP
|
||||
@@ -902,6 +1033,7 @@ int virNetworkLoadAllConfigs(virConnectP
|
||||
|
||||
closedir(dir);
|
||||
|
||||
@ -148,10 +148,10 @@ Index: libvirt-0.7.4/src/conf/network_conf.c
|
||||
return 0;
|
||||
}
|
||||
|
||||
Index: libvirt-0.7.4/src/conf/network_conf.h
|
||||
Index: libvirt-0.7.5/src/conf/network_conf.h
|
||||
===================================================================
|
||||
--- libvirt-0.7.4.orig/src/conf/network_conf.h
|
||||
+++ libvirt-0.7.4/src/conf/network_conf.h
|
||||
--- libvirt-0.7.5.orig/src/conf/network_conf.h
|
||||
+++ libvirt-0.7.5/src/conf/network_conf.h
|
||||
@@ -94,6 +94,7 @@ struct _virNetworkObj {
|
||||
unsigned int active : 1;
|
||||
unsigned int autostart : 1;
|
||||
@ -160,11 +160,11 @@ Index: libvirt-0.7.4/src/conf/network_conf.h
|
||||
|
||||
virNetworkDefPtr def; /* The current definition */
|
||||
virNetworkDefPtr newDef; /* New definition to activate at shutdown */
|
||||
Index: libvirt-0.7.4/src/network/bridge_driver.c
|
||||
Index: libvirt-0.7.5/src/network/bridge_driver.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.4.orig/src/network/bridge_driver.c
|
||||
+++ libvirt-0.7.4/src/network/bridge_driver.c
|
||||
@@ -994,6 +994,11 @@ static int networkShutdownNetworkDaemon(
|
||||
--- libvirt-0.7.5.orig/src/network/bridge_driver.c
|
||||
+++ libvirt-0.7.5/src/network/bridge_driver.c
|
||||
@@ -1010,6 +1010,11 @@ static int networkShutdownNetworkDaemon(
|
||||
unlink(stateFile);
|
||||
VIR_FREE(stateFile);
|
||||
|
||||
@ -176,7 +176,7 @@ Index: libvirt-0.7.4/src/network/bridge_driver.c
|
||||
if (network->dnsmasqPid > 0)
|
||||
kill(network->dnsmasqPid, SIGTERM);
|
||||
|
||||
@@ -1494,6 +1499,12 @@ static int networkSetAutostart(virNetwor
|
||||
@@ -1510,6 +1515,12 @@ static int networkSetAutostart(virNetwor
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
|
@ -1,36 +0,0 @@
|
||||
commit 7cfbb17978c467625afab866b7a22119789abee0
|
||||
Author: Matthias Bolte <matthias.bolte@googlemail.com>
|
||||
Date: Thu Nov 26 00:09:40 2009 +0100
|
||||
|
||||
xen: Fix unconditional freeing in xenDaemonListDefinedDomains()
|
||||
|
||||
Commit 790f0b3057787bb64da8c46c111ff8d3eff7b2af causes the contents of
|
||||
the names array to be freed even on success, resulting in no listing of
|
||||
defined but inactive Xen domains.
|
||||
|
||||
Spotted by Jim Fehlig
|
||||
|
||||
diff --git a/src/xen/xend_internal.c b/src/xen/xend_internal.c
|
||||
index e370eb8..4d9dcd1 100644
|
||||
--- a/src/xen/xend_internal.c
|
||||
+++ b/src/xen/xend_internal.c
|
||||
@@ -4696,12 +4696,17 @@ xenDaemonListDefinedDomains(virConnectPtr conn, char **const names, int maxnames
|
||||
break;
|
||||
}
|
||||
|
||||
+cleanup:
|
||||
+ sexpr_free(root);
|
||||
+ return(ret);
|
||||
+
|
||||
error:
|
||||
for (i = 0; i < ret; ++i)
|
||||
VIR_FREE(names[i]);
|
||||
|
||||
- sexpr_free(root);
|
||||
- return(ret);
|
||||
+ ret = -1;
|
||||
+
|
||||
+ goto cleanup;
|
||||
}
|
||||
|
||||
/**
|
@ -1,8 +1,8 @@
|
||||
Index: libvirt-0.7.4/src/xen/xend_internal.c
|
||||
Index: libvirt-0.7.5/src/xen/xend_internal.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.4.orig/src/xen/xend_internal.c
|
||||
+++ libvirt-0.7.4/src/xen/xend_internal.c
|
||||
@@ -5365,7 +5365,10 @@ xenDaemonFormatSxprDisk(virConnectPtr co
|
||||
--- libvirt-0.7.5.orig/src/xen/xend_internal.c
|
||||
+++ libvirt-0.7.5/src/xen/xend_internal.c
|
||||
@@ -5409,7 +5409,10 @@ xenDaemonFormatSxprDisk(virConnectPtr co
|
||||
} else if (def->device == VIR_DOMAIN_DISK_DEVICE_CDROM) {
|
||||
virBufferVSprintf(buf, "(dev '%s:cdrom')", def->dst);
|
||||
} else {
|
||||
|
248
xen-shr-pages.patch
Normal file
248
xen-shr-pages.patch
Normal file
@ -0,0 +1,248 @@
|
||||
Index: libvirt-0.7.5/src/xen/xen_hypervisor.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.5.orig/src/xen/xen_hypervisor.c
|
||||
+++ libvirt-0.7.5/src/xen/xen_hypervisor.c
|
||||
@@ -215,10 +215,26 @@ struct xen_v2d5_getdomaininfo {
|
||||
};
|
||||
typedef struct xen_v2d5_getdomaininfo xen_v2d5_getdomaininfo;
|
||||
|
||||
+struct xen_v2d6_getdomaininfo {
|
||||
+ domid_t domain; /* the domain number */
|
||||
+ uint32_t flags; /* flags, see before */
|
||||
+ uint64_t tot_pages ALIGN_64; /* total number of pages used */
|
||||
+ uint64_t max_pages ALIGN_64; /* maximum number of pages allowed */
|
||||
+ uint64_t shr_pages ALIGN_64; /* number of shared pages */
|
||||
+ uint64_t shared_info_frame ALIGN_64; /* MFN of shared_info struct */
|
||||
+ uint64_t cpu_time ALIGN_64; /* CPU time used */
|
||||
+ uint32_t nr_online_vcpus; /* Number of VCPUs currently online. */
|
||||
+ uint32_t max_vcpu_id; /* Maximum VCPUID in use by this domain. */
|
||||
+ uint32_t ssidref;
|
||||
+ xen_domain_handle_t handle;
|
||||
+};
|
||||
+typedef struct xen_v2d6_getdomaininfo xen_v2d6_getdomaininfo;
|
||||
+
|
||||
union xen_getdomaininfo {
|
||||
struct xen_v0_getdomaininfo v0;
|
||||
struct xen_v2_getdomaininfo v2;
|
||||
struct xen_v2d5_getdomaininfo v2d5;
|
||||
+ struct xen_v2d6_getdomaininfo v2d6;
|
||||
};
|
||||
typedef union xen_getdomaininfo xen_getdomaininfo;
|
||||
|
||||
@@ -226,6 +242,7 @@ union xen_getdomaininfolist {
|
||||
struct xen_v0_getdomaininfo *v0;
|
||||
struct xen_v2_getdomaininfo *v2;
|
||||
struct xen_v2d5_getdomaininfo *v2d5;
|
||||
+ struct xen_v2d6_getdomaininfo *v2d6;
|
||||
};
|
||||
typedef union xen_getdomaininfolist xen_getdomaininfolist;
|
||||
|
||||
@@ -263,114 +280,147 @@ typedef struct xen_v2s5_availheap xen_v
|
||||
#define XEN_GETDOMAININFOLIST_ALLOC(domlist, size) \
|
||||
(hypervisor_version < 2 ? \
|
||||
(VIR_ALLOC_N(domlist.v0, (size)) == 0) : \
|
||||
- (dom_interface_version < 5 ? \
|
||||
- (VIR_ALLOC_N(domlist.v2, (size)) == 0) : \
|
||||
- (VIR_ALLOC_N(domlist.v2d5, (size)) == 0)))
|
||||
+ (dom_interface_version >= 6 ? \
|
||||
+ (VIR_ALLOC_N(domlist.v2d6, (size)) == 0) : \
|
||||
+ (dom_interface_version == 5 ? \
|
||||
+ (VIR_ALLOC_N(domlist.v2d5, (size)) == 0) : \
|
||||
+ (VIR_ALLOC_N(domlist.v2, (size)) == 0))))
|
||||
|
||||
#define XEN_GETDOMAININFOLIST_FREE(domlist) \
|
||||
(hypervisor_version < 2 ? \
|
||||
VIR_FREE(domlist.v0) : \
|
||||
- (dom_interface_version < 5 ? \
|
||||
- VIR_FREE(domlist.v2) : \
|
||||
- VIR_FREE(domlist.v2d5)))
|
||||
+ (dom_interface_version >= 6 ? \
|
||||
+ VIR_FREE(domlist.v2d6) : \
|
||||
+ (dom_interface_version == 5 ? \
|
||||
+ VIR_FREE(domlist.v2d5) : \
|
||||
+ VIR_FREE(domlist.v2))))
|
||||
|
||||
#define XEN_GETDOMAININFOLIST_CLEAR(domlist, size) \
|
||||
(hypervisor_version < 2 ? \
|
||||
memset(domlist.v0, 0, sizeof(*domlist.v0) * size) : \
|
||||
- (dom_interface_version < 5 ? \
|
||||
- memset(domlist.v2, 0, sizeof(*domlist.v2) * size) : \
|
||||
- memset(domlist.v2d5, 0, sizeof(*domlist.v2d5) * size)))
|
||||
+ (dom_interface_version >= 6 ? \
|
||||
+ memset(domlist.v2d6, 0, sizeof(*domlist.v2d6) * size) : \
|
||||
+ (dom_interface_version == 5 ? \
|
||||
+ memset(domlist.v2d5, 0, sizeof(*domlist.v2d5) * size) : \
|
||||
+ memset(domlist.v2, 0, sizeof(*domlist.v2) * size))))
|
||||
|
||||
#define XEN_GETDOMAININFOLIST_DOMAIN(domlist, n) \
|
||||
(hypervisor_version < 2 ? \
|
||||
domlist.v0[n].domain : \
|
||||
- (dom_interface_version < 5 ? \
|
||||
- domlist.v2[n].domain : \
|
||||
- domlist.v2d5[n].domain))
|
||||
+ (dom_interface_version >= 6 ? \
|
||||
+ domlist.v2d6[n].domain : \
|
||||
+ (dom_interface_version == 5 ? \
|
||||
+ domlist.v2d5[n].domain : \
|
||||
+ domlist.v2[n].domain)))
|
||||
|
||||
#define XEN_GETDOMAININFOLIST_UUID(domlist, n) \
|
||||
(hypervisor_version < 2 ? \
|
||||
domlist.v0[n].handle : \
|
||||
- (dom_interface_version < 5 ? \
|
||||
- domlist.v2[n].handle : \
|
||||
- domlist.v2d5[n].handle))
|
||||
+ (dom_interface_version >= 6 ? \
|
||||
+ domlist.v2d6[n].handle : \
|
||||
+ (dom_interface_version == 5 ? \
|
||||
+ domlist.v2d5[n].handle : \
|
||||
+ domlist.v2[n].handle)))
|
||||
|
||||
#define XEN_GETDOMAININFOLIST_DATA(domlist) \
|
||||
(hypervisor_version < 2 ? \
|
||||
(void*)(domlist->v0) : \
|
||||
- (dom_interface_version < 5 ? \
|
||||
- (void*)(domlist->v2) : \
|
||||
- (void*)(domlist->v2d5)))
|
||||
+ (dom_interface_version >= 6 ? \
|
||||
+ (void*)(domlist->v2d6) : \
|
||||
+ (dom_interface_version == 5 ? \
|
||||
+ (void*)(domlist->v2d5) : \
|
||||
+ (void*)(domlist->v2))))
|
||||
|
||||
#define XEN_GETDOMAININFO_SIZE \
|
||||
(hypervisor_version < 2 ? \
|
||||
sizeof(xen_v0_getdomaininfo) : \
|
||||
- (dom_interface_version < 5 ? \
|
||||
- sizeof(xen_v2_getdomaininfo) : \
|
||||
- sizeof(xen_v2d5_getdomaininfo)))
|
||||
+ (dom_interface_version >= 6 ? \
|
||||
+ sizeof(xen_v2d6_getdomaininfo) : \
|
||||
+ (dom_interface_version == 5 ? \
|
||||
+ sizeof(xen_v2d5_getdomaininfo) : \
|
||||
+ sizeof(xen_v2_getdomaininfo))))
|
||||
|
||||
#define XEN_GETDOMAININFO_CLEAR(dominfo) \
|
||||
(hypervisor_version < 2 ? \
|
||||
memset(&(dominfo.v0), 0, sizeof(xen_v0_getdomaininfo)) : \
|
||||
- (dom_interface_version < 5 ? \
|
||||
- memset(&(dominfo.v2), 0, sizeof(xen_v2_getdomaininfo)) : \
|
||||
- memset(&(dominfo.v2d5), 0, sizeof(xen_v2d5_getdomaininfo))))
|
||||
+ (dom_interface_version >= 6 ? \
|
||||
+ memset(&(dominfo.v2d6), 0, sizeof(xen_v2d6_getdomaininfo)) : \
|
||||
+ (dom_interface_version == 5 ? \
|
||||
+ memset(&(dominfo.v2d5), 0, sizeof(xen_v2d5_getdomaininfo)) : \
|
||||
+ memset(&(dominfo.v2), 0, sizeof(xen_v2_getdomaininfo)))))
|
||||
|
||||
#define XEN_GETDOMAININFO_DOMAIN(dominfo) \
|
||||
(hypervisor_version < 2 ? \
|
||||
dominfo.v0.domain : \
|
||||
- (dom_interface_version < 5 ? \
|
||||
- dominfo.v2.domain : \
|
||||
- dominfo.v2d5.domain))
|
||||
+ (dom_interface_version >= 6 ? \
|
||||
+ dominfo.v2d6.domain : \
|
||||
+ (dom_interface_version == 5 ? \
|
||||
+ dominfo.v2d5.domain : \
|
||||
+ dominfo.v2.domain)))
|
||||
|
||||
#define XEN_GETDOMAININFO_CPUTIME(dominfo) \
|
||||
(hypervisor_version < 2 ? \
|
||||
dominfo.v0.cpu_time : \
|
||||
- (dom_interface_version < 5 ? \
|
||||
- dominfo.v2.cpu_time : \
|
||||
- dominfo.v2d5.cpu_time))
|
||||
+ (dom_interface_version >= 6 ? \
|
||||
+ dominfo.v2d6.cpu_time : \
|
||||
+ (dom_interface_version == 5 ? \
|
||||
+ dominfo.v2d5.cpu_time : \
|
||||
+ dominfo.v2.cpu_time)))
|
||||
+
|
||||
|
||||
#define XEN_GETDOMAININFO_CPUCOUNT(dominfo) \
|
||||
(hypervisor_version < 2 ? \
|
||||
dominfo.v0.nr_online_vcpus : \
|
||||
- (dom_interface_version < 5 ? \
|
||||
- dominfo.v2.nr_online_vcpus : \
|
||||
- dominfo.v2d5.nr_online_vcpus))
|
||||
+ (dom_interface_version >= 6 ? \
|
||||
+ dominfo.v2d6.nr_online_vcpus : \
|
||||
+ (dom_interface_version == 5 ? \
|
||||
+ dominfo.v2d5.nr_online_vcpus : \
|
||||
+ dominfo.v2.nr_online_vcpus)))
|
||||
|
||||
#define XEN_GETDOMAININFO_MAXCPUID(dominfo) \
|
||||
(hypervisor_version < 2 ? \
|
||||
dominfo.v0.max_vcpu_id : \
|
||||
- (dom_interface_version < 5 ? \
|
||||
- dominfo.v2.max_vcpu_id : \
|
||||
- dominfo.v2d5.max_vcpu_id))
|
||||
+ (dom_interface_version >= 6 ? \
|
||||
+ dominfo.v2d6.max_vcpu_id : \
|
||||
+ (dom_interface_version == 5 ? \
|
||||
+ dominfo.v2d5.max_vcpu_id : \
|
||||
+ dominfo.v2.max_vcpu_id)))
|
||||
|
||||
#define XEN_GETDOMAININFO_FLAGS(dominfo) \
|
||||
(hypervisor_version < 2 ? \
|
||||
dominfo.v0.flags : \
|
||||
- (dom_interface_version < 5 ? \
|
||||
- dominfo.v2.flags : \
|
||||
- dominfo.v2d5.flags))
|
||||
+ (dom_interface_version >= 6 ? \
|
||||
+ dominfo.v2d6.flags : \
|
||||
+ (dom_interface_version == 5 ? \
|
||||
+ dominfo.v2d5.flags : \
|
||||
+ dominfo.v2.flags)))
|
||||
|
||||
#define XEN_GETDOMAININFO_TOT_PAGES(dominfo) \
|
||||
(hypervisor_version < 2 ? \
|
||||
dominfo.v0.tot_pages : \
|
||||
- (dom_interface_version < 5 ? \
|
||||
- dominfo.v2.tot_pages : \
|
||||
- dominfo.v2d5.tot_pages))
|
||||
+ (dom_interface_version >= 6 ? \
|
||||
+ dominfo.v2d6.tot_pages : \
|
||||
+ (dom_interface_version == 5 ? \
|
||||
+ dominfo.v2d5.tot_pages : \
|
||||
+ dominfo.v2.tot_pages)))
|
||||
|
||||
#define XEN_GETDOMAININFO_MAX_PAGES(dominfo) \
|
||||
(hypervisor_version < 2 ? \
|
||||
dominfo.v0.max_pages : \
|
||||
- (dom_interface_version < 5 ? \
|
||||
- dominfo.v2.max_pages : \
|
||||
- dominfo.v2d5.max_pages))
|
||||
+ (dom_interface_version >= 6 ? \
|
||||
+ dominfo.v2d6.max_pages : \
|
||||
+ (dom_interface_version == 5 ? \
|
||||
+ dominfo.v2d5.max_pages : \
|
||||
+ dominfo.v2.max_pages)))
|
||||
|
||||
#define XEN_GETDOMAININFO_UUID(dominfo) \
|
||||
(hypervisor_version < 2 ? \
|
||||
dominfo.v0.handle : \
|
||||
- (dom_interface_version < 5 ? \
|
||||
- dominfo.v2.handle : \
|
||||
- dominfo.v2d5.handle))
|
||||
+ (dom_interface_version >= 6 ? \
|
||||
+ dominfo.v2d6.handle : \
|
||||
+ (dom_interface_version == 5 ? \
|
||||
+ dominfo.v2d5.handle : \
|
||||
+ dominfo.v2.handle)))
|
||||
|
||||
|
||||
static int
|
||||
@@ -2050,6 +2100,12 @@ xenHypervisorInit(void)
|
||||
DEBUG0("Using hypervisor call v2, sys ver6 dom ver5\n");
|
||||
goto done;
|
||||
}
|
||||
+ /* Xen 4.0 */
|
||||
+ dom_interface_version = 6; /* XEN_DOMCTL_INTERFACE_VERSION */
|
||||
+ if (virXen_getvcpusinfo(fd, 0, 0, ipt, NULL, 0) == 0){
|
||||
+ DEBUG0("Using hypervisor call v2, sys ver6 dom ver6\n");
|
||||
+ goto done;
|
||||
+ }
|
||||
}
|
||||
|
||||
hypervisor_version = 1;
|
@ -1,36 +0,0 @@
|
||||
From acba9b620128c4dcdbb95a1ea06604f3013a0518 Mon Sep 17 00:00:00 2001
|
||||
From: Jim Fehlig <jfehlig@novell.com>
|
||||
Date: Mon, 7 Dec 2009 14:24:21 -0700
|
||||
Subject: [PATCH] Plumb domain description tag in xend backend
|
||||
|
||||
xen-unstable changesets 20321 and 20521 added support for
|
||||
description in xend domain config. This patch extends that
|
||||
support in xend backend.
|
||||
---
|
||||
src/xen/xend_internal.c | 6 ++++++
|
||||
1 files changed, 6 insertions(+), 0 deletions(-)
|
||||
|
||||
Index: libvirt-0.7.4/src/xen/xend_internal.c
|
||||
===================================================================
|
||||
--- libvirt-0.7.4.orig/src/xen/xend_internal.c
|
||||
+++ libvirt-0.7.4/src/xen/xend_internal.c
|
||||
@@ -2360,6 +2360,9 @@ xenDaemonParseSxpr(virConnectPtr conn,
|
||||
}
|
||||
virUUIDParse(tmp, def->uuid);
|
||||
|
||||
+ if (sexpr_node_copy(root, "domain/description", &def->description) < 0)
|
||||
+ goto no_memory;
|
||||
+
|
||||
hvm = sexpr_lookup(root, "domain/image/hvm") ? 1 : 0;
|
||||
if (!hvm) {
|
||||
if (sexpr_node_copy(root, "domain/bootloader",
|
||||
@@ -5676,6 +5679,9 @@ xenDaemonFormatSxpr(virConnectPtr conn,
|
||||
virUUIDFormat(def->uuid, uuidstr);
|
||||
virBufferVSprintf(&buf, "(uuid '%s')", uuidstr);
|
||||
|
||||
+ if (def->description)
|
||||
+ virBufferVSprintf(&buf, "(description '%s')", def->description);
|
||||
+
|
||||
if (def->os.bootloader) {
|
||||
if (def->os.bootloader[0])
|
||||
virBufferVSprintf(&buf, "(bootloader '%s')", def->os.bootloader);
|
Loading…
Reference in New Issue
Block a user