Accepting request 959273 from Virtualization

OBS-URL: https://build.opensuse.org/request/show/959273
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libvirt?expand=0&rev=350
This commit is contained in:
Dominique Leuenberger 2022-03-05 13:43:55 +00:00 committed by Git OBS Bridge
commit 32d43e5a5d
37 changed files with 307 additions and 1886 deletions

View File

@ -18,10 +18,10 @@ them.
create mode 100644 src/conf/domain_stats.c
create mode 100644 src/conf/domain_stats.h
Index: libvirt-8.0.0/src/conf/domain_stats.c
Index: libvirt-8.1.0/src/conf/domain_stats.c
===================================================================
--- /dev/null
+++ libvirt-8.0.0/src/conf/domain_stats.c
+++ libvirt-8.1.0/src/conf/domain_stats.c
@@ -0,0 +1,117 @@
+/*
+ * domain_stats.c: domain stats extraction helpers
@ -140,10 +140,10 @@ Index: libvirt-8.0.0/src/conf/domain_stats.c
+}
+
+#undef STATS_ADD_NET_PARAM
Index: libvirt-8.0.0/src/conf/domain_stats.h
Index: libvirt-8.1.0/src/conf/domain_stats.h
===================================================================
--- /dev/null
+++ libvirt-8.0.0/src/conf/domain_stats.h
+++ libvirt-8.1.0/src/conf/domain_stats.h
@@ -0,0 +1,60 @@
+/*
+ * domain_stats.h: domain stats extraction helpers
@ -205,10 +205,10 @@ Index: libvirt-8.0.0/src/conf/domain_stats.h
+ virTypedParamList *params);
+
+#endif /* __DOMAIN_STATS_H */
Index: libvirt-8.0.0/src/libvirt_private.syms
Index: libvirt-8.1.0/src/libvirt_private.syms
===================================================================
--- libvirt-8.0.0.orig/src/libvirt_private.syms
+++ libvirt-8.0.0/src/libvirt_private.syms
--- libvirt-8.1.0.orig/src/libvirt_private.syms
+++ libvirt-8.1.0/src/libvirt_private.syms
@@ -772,6 +772,11 @@ virDomainConfNWFilterTeardown;
virDomainConfVMNWFilterTeardown;
@ -221,7 +221,7 @@ Index: libvirt-8.0.0/src/libvirt_private.syms
# conf/domain_validate.h
virDomainActualNetDefValidate;
virDomainDefValidate;
@@ -1942,6 +1947,7 @@ virCgroupGetMemoryUsage;
@@ -1963,6 +1968,7 @@ virCgroupGetMemoryUsage;
virCgroupGetMemSwapHardLimit;
virCgroupGetMemSwapUsage;
virCgroupGetPercpuStats;
@ -229,10 +229,10 @@ Index: libvirt-8.0.0/src/libvirt_private.syms
virCgroupHasController;
virCgroupHasEmptyTasks;
virCgroupKillPainfully;
Index: libvirt-8.0.0/src/qemu/qemu_driver.c
Index: libvirt-8.1.0/src/qemu/qemu_driver.c
===================================================================
--- libvirt-8.0.0.orig/src/qemu/qemu_driver.c
+++ libvirt-8.0.0/src/qemu/qemu_driver.c
--- libvirt-8.1.0.orig/src/qemu/qemu_driver.c
+++ libvirt-8.1.0/src/qemu/qemu_driver.c
@@ -68,6 +68,7 @@
#include "virarptable.h"
#include "viruuid.h"
@ -241,7 +241,7 @@ Index: libvirt-8.0.0/src/qemu/qemu_driver.c
#include "domain_audit.h"
#include "domain_cgroup.h"
#include "domain_driver.h"
@@ -17412,13 +17413,7 @@ qemuDomainGetStatsState(virQEMUDriver *d
@@ -17422,13 +17423,7 @@ qemuDomainGetStatsState(virQEMUDriver *d
virTypedParamList *params,
unsigned int privflags G_GNUC_UNUSED)
{
@ -256,7 +256,7 @@ Index: libvirt-8.0.0/src/qemu/qemu_driver.c
}
@@ -17710,25 +17705,11 @@ qemuDomainGetStatsCpuCgroup(virDomainObj
@@ -17720,25 +17715,11 @@ qemuDomainGetStatsCpuCgroup(virDomainObj
virTypedParamList *params)
{
qemuDomainObjPrivate *priv = dom->privateData;
@ -283,7 +283,7 @@ Index: libvirt-8.0.0/src/qemu/qemu_driver.c
}
static int
@@ -17921,76 +17902,15 @@ qemuDomainGetStatsVcpu(virQEMUDriver *dr
@@ -17931,76 +17912,15 @@ qemuDomainGetStatsVcpu(virQEMUDriver *dr
return ret;
}
@ -361,10 +361,10 @@ Index: libvirt-8.0.0/src/qemu/qemu_driver.c
/* refresh information by opening images on the disk */
static int
Index: libvirt-8.0.0/src/util/vircgroup.c
Index: libvirt-8.1.0/src/util/vircgroup.c
===================================================================
--- libvirt-8.0.0.orig/src/util/vircgroup.c
+++ libvirt-8.0.0/src/util/vircgroup.c
--- libvirt-8.1.0.orig/src/util/vircgroup.c
+++ libvirt-8.1.0/src/util/vircgroup.c
@@ -3022,6 +3022,31 @@ virCgroupGetInode(virCgroup *cgroup)
return st.st_ino;
}
@ -412,10 +412,10 @@ Index: libvirt-8.0.0/src/util/vircgroup.c
int
virCgroupNewPartition(const char *path G_GNUC_UNUSED,
bool create G_GNUC_UNUSED,
Index: libvirt-8.0.0/src/util/vircgroup.h
Index: libvirt-8.1.0/src/util/vircgroup.h
===================================================================
--- libvirt-8.0.0.orig/src/util/vircgroup.h
+++ libvirt-8.0.0/src/util/vircgroup.h
--- libvirt-8.1.0.orig/src/util/vircgroup.h
+++ libvirt-8.1.0/src/util/vircgroup.h
@@ -23,6 +23,7 @@
#include "virbitmap.h"
@ -432,10 +432,10 @@ Index: libvirt-8.0.0/src/util/vircgroup.h
+ virTypedParamList *params);
+
int virCgroupGetInode(virCgroup *cgroup);
Index: libvirt-8.0.0/src/conf/meson.build
Index: libvirt-8.1.0/src/conf/meson.build
===================================================================
--- libvirt-8.0.0.orig/src/conf/meson.build
+++ libvirt-8.0.0/src/conf/meson.build
--- libvirt-8.1.0.orig/src/conf/meson.build
+++ libvirt-8.1.0/src/conf/meson.build
@@ -15,6 +15,7 @@ domain_conf_sources = [
'domain_conf.c',
'domain_nwfilter.c',

View File

@ -19,10 +19,10 @@ reworking this patch and submitting it to upstream libvirt.
src/libxl/libxl_driver.c | 91 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 91 insertions(+)
Index: libvirt-8.0.0/src/libxl/libxl_driver.c
Index: libvirt-8.1.0/src/libxl/libxl_driver.c
===================================================================
--- libvirt-8.0.0.orig/src/libxl/libxl_driver.c
+++ libvirt-8.0.0/src/libxl/libxl_driver.c
--- libvirt-8.1.0.orig/src/libxl/libxl_driver.c
+++ libvirt-8.1.0/src/libxl/libxl_driver.c
@@ -5264,6 +5264,95 @@ libxlDomainMemoryStats(virDomainPtr dom,
#undef LIBXL_SET_MEMSTAT
@ -119,7 +119,7 @@ Index: libvirt-8.0.0/src/libxl/libxl_driver.c
static int
libxlDomainGetJobInfo(virDomainPtr dom,
virDomainJobInfoPtr info)
@@ -6577,6 +6666,7 @@ static virHypervisorDriver libxlHypervis
@@ -6586,6 +6675,7 @@ static virHypervisorDriver libxlHypervis
.domainGetNumaParameters = libxlDomainGetNumaParameters, /* 1.1.1 */
.nodeGetFreeMemory = libxlNodeGetFreeMemory, /* 0.9.0 */
.nodeGetCellsFreeMemory = libxlNodeGetCellsFreeMemory, /* 1.1.1 */
@ -127,10 +127,10 @@ Index: libvirt-8.0.0/src/libxl/libxl_driver.c
.domainGetJobInfo = libxlDomainGetJobInfo, /* 1.3.1 */
.domainGetJobStats = libxlDomainGetJobStats, /* 1.3.1 */
.domainMemoryStats = libxlDomainMemoryStats, /* 1.3.0 */
Index: libvirt-8.0.0/src/libxl/libxl_api_wrapper.h
Index: libvirt-8.1.0/src/libxl/libxl_api_wrapper.h
===================================================================
--- libvirt-8.0.0.orig/src/libxl/libxl_api_wrapper.h
+++ libvirt-8.0.0/src/libxl/libxl_api_wrapper.h
--- libvirt-8.1.0.orig/src/libxl/libxl_api_wrapper.h
+++ libvirt-8.1.0/src/libxl/libxl_api_wrapper.h
@@ -215,3 +215,18 @@ libxlSetMemoryTargetWrapper(libxl_ctx *c
return ret;

View File

@ -18,10 +18,10 @@ Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
src/util/virpolkit.c | 3 +++
1 file changed, 3 insertions(+)
Index: libvirt-8.0.0/src/util/virpolkit.c
Index: libvirt-8.1.0/src/util/virpolkit.c
===================================================================
--- libvirt-8.0.0.orig/src/util/virpolkit.c
+++ libvirt-8.0.0/src/util/virpolkit.c
--- libvirt-8.1.0.orig/src/util/virpolkit.c
+++ libvirt-8.1.0/src/util/virpolkit.c
@@ -237,6 +237,9 @@ virPolkitAgentAvailable(void)
const char *termid = ctermid(NULL);
VIR_AUTOCLOSE fd = -1;

View File

@ -9,10 +9,10 @@ them using the existing API.
src/lxc/lxc_driver.c | 138 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 138 insertions(+)
Index: libvirt-8.0.0/src/lxc/lxc_driver.c
Index: libvirt-8.1.0/src/lxc/lxc_driver.c
===================================================================
--- libvirt-8.0.0.orig/src/lxc/lxc_driver.c
+++ libvirt-8.0.0/src/lxc/lxc_driver.c
--- libvirt-8.1.0.orig/src/lxc/lxc_driver.c
+++ libvirt-8.1.0/src/lxc/lxc_driver.c
@@ -74,6 +74,8 @@
#include "netdev_bandwidth_conf.h"
#include "virsocket.h"
@ -22,7 +22,7 @@ Index: libvirt-8.0.0/src/lxc/lxc_driver.c
#define VIR_FROM_THIS VIR_FROM_LXC
@@ -5036,6 +5038,128 @@ lxcDomainHasManagedSaveImage(virDomainPt
@@ -5039,6 +5041,128 @@ lxcDomainHasManagedSaveImage(virDomainPt
return ret;
}
@ -151,7 +151,7 @@ Index: libvirt-8.0.0/src/lxc/lxc_driver.c
/* Function Tables */
static virHypervisorDriver lxcHypervisorDriver = {
@@ -5133,6 +5257,7 @@ static virHypervisorDriver lxcHypervisor
@@ -5136,6 +5260,7 @@ static virHypervisorDriver lxcHypervisor
.nodeGetFreePages = lxcNodeGetFreePages, /* 1.2.6 */
.nodeAllocPages = lxcNodeAllocPages, /* 1.2.9 */
.domainHasManagedSaveImage = lxcDomainHasManagedSaveImage, /* 1.2.13 */

View File

@ -1,92 +0,0 @@
commit 105dace22cc7b5b18d72a4dcad4a2cf386ce5c99
Author: Michal Prívozník <mprivozn@redhat.com>
Date: Tue Jan 18 12:40:09 2022 +0100
Revert "report error when virProcessGetStatInfo() is unable to parse data"
This reverts commit 938382b60ae5bd1f83b5cb09e1ce68b9a88f679a.
Turns out, the commit did more harm than good. It changed
semantics on some public APIs. For instance, while
qemuDomainGetInfo() previously did not returned an error it does
now. While the calls to virProcessGetStatInfo() is guarded with
virDomainObjIsActive() it doesn't necessarily mean that QEMU's
PID is still alive. QEMU might be gone but we just haven't
realized it (e.g. because the eof handler thread is waiting for a
job).
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2041610
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
Index: libvirt-8.0.0/src/ch/ch_driver.c
===================================================================
--- libvirt-8.0.0.orig/src/ch/ch_driver.c
+++ libvirt-8.0.0/src/ch/ch_driver.c
@@ -1073,6 +1073,8 @@ chDomainHelperGetVcpus(virDomainObj *vm,
if (virProcessGetStatInfo(&vcpuinfo->cpuTime,
&vcpuinfo->cpu, NULL,
vm->pid, vcpupid) < 0) {
+ virReportSystemError(errno, "%s",
+ _("cannot get vCPU placement & pCPU time"));
return -1;
}
}
Index: libvirt-8.0.0/src/qemu/qemu_driver.c
===================================================================
--- libvirt-8.0.0.orig/src/qemu/qemu_driver.c
+++ libvirt-8.0.0/src/qemu/qemu_driver.c
@@ -1359,6 +1359,8 @@ qemuDomainHelperGetVcpus(virDomainObj *v
if (virProcessGetStatInfo(&vcpuinfo->cpuTime,
&vcpuinfo->cpu, NULL,
vm->pid, vcpupid) < 0) {
+ virReportSystemError(errno, "%s",
+ _("cannot get vCPU placement & pCPU time"));
return -1;
}
}
@@ -2519,6 +2521,8 @@ qemuDomainGetInfo(virDomainPtr dom,
if (virDomainObjIsActive(vm)) {
if (virProcessGetStatInfo(&(info->cpuTime), NULL, NULL,
vm->pid, 0) < 0) {
+ virReportError(VIR_ERR_OPERATION_FAILED, "%s",
+ _("cannot read cputime for domain"));
goto cleanup;
}
}
@@ -10526,7 +10530,8 @@ qemuDomainMemoryStatsInternal(virQEMUDri
}
if (virProcessGetStatInfo(NULL, NULL, &rss, vm->pid, 0) < 0) {
- virResetLastError();
+ virReportError(VIR_ERR_OPERATION_FAILED, "%s",
+ _("cannot get RSS for domain"));
} else {
stats[ret].tag = VIR_DOMAIN_MEMORY_STAT_RSS;
stats[ret].val = rss;
Index: libvirt-8.0.0/src/util/virprocess.c
===================================================================
--- libvirt-8.0.0.orig/src/util/virprocess.c
+++ libvirt-8.0.0/src/util/virprocess.c
@@ -1784,10 +1784,7 @@ virProcessGetStatInfo(unsigned long long
virStrToLong_ullp(proc_stat[VIR_PROCESS_STAT_STIME], NULL, 10, &systime) < 0 ||
virStrToLong_l(proc_stat[VIR_PROCESS_STAT_RSS], NULL, 10, &rss) < 0 ||
virStrToLong_i(proc_stat[VIR_PROCESS_STAT_PROCESSOR], NULL, 10, &cpu) < 0) {
- virReportError(VIR_ERR_INTERNAL_ERROR,
- _("cannot parse process status data for pid '%d/%d'"),
- (int) pid, (int) tid);
- return -1;
+ VIR_WARN("cannot parse process status data");
}
/* We got jiffies
@@ -1884,8 +1881,7 @@ virProcessGetStatInfo(unsigned long long
pid_t pid G_GNUC_UNUSED,
pid_t tid G_GNUC_UNUSED)
{
- virReportSystemError(ENOSYS, "%s",
- _("Process statistics data is not supported on this platform"));
+ errno = ENOSYS;
return -1;
}

View File

@ -1,214 +0,0 @@
commit 161727417a91bdddf8f3167cf70c3de2829be81c
Author: Jim Fehlig <jfehlig@suse.com>
Date: Fri Jan 7 14:35:10 2022 -0700
docs: Add man page for libvirt-guests
Signed-off-by: Jim Fehlig <jfehlig@suse.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
Index: libvirt-8.0.0/docs/manpages/index.rst
===================================================================
--- libvirt-8.0.0.orig/docs/manpages/index.rst
+++ libvirt-8.0.0/docs/manpages/index.rst
@@ -41,6 +41,7 @@ Tools
* `virt-admin(1) <virt-admin.html>`__ - daemon administration interface
* `virsh(1) <virsh.html>`__ - management user interface
* `virt-qemu-run(1) <virt-qemu-run.html>`__ - run standalone QEMU instances
+* `libvirt-guests(8) <libvirt-guests.html>`__ - suspend/resume running libvirt guests
Key codes
=========
Index: libvirt-8.0.0/docs/manpages/libvirt-guests.rst
===================================================================
--- /dev/null
+++ libvirt-8.0.0/docs/manpages/libvirt-guests.rst
@@ -0,0 +1,151 @@
+==============
+libvirt-guests
+==============
+
+-------------------------------------
+suspend/resume running libvirt guests
+-------------------------------------
+
+:Manual section: 8
+:Manual group: Virtualization Support
+
+.. contents::
+
+SYNOPSIS
+========
+
+``libvirt-guests`` *COMMAND*
+
+
+DESCRIPTION
+===========
+
+``libvirt-guests`` is a service that can be used to coordinate guest and host
+lifecyle actions. By default, ``libvirt-guests`` will suspend running guests
+when the host shuts down, and restore them to their pre-shutdown state when
+the host reboots.
+
+``libvirt-guests`` is typically under control of systemd. When
+``libvirt-guests.service`` is enabled, systemd will call ``libvirt-guests``
+with the ``start`` *COMMAND* when the host boots. Conversely, systemd will call
+``libvirt-guests`` with the ``stop`` *COMMAND* when the host shuts down.
+
+``libvirt-guests`` can be used directly. In addition to the ``start`` and
+``stop`` *COMMAND*\s, it also supports ``status``, ``restart``, ``condrestart``,
+``try-restart``, ``reload``, ``force-reload``, ``gueststatus``, and
+``shutdown`` *COMMAND*\s.
+
+
+FILES
+=====
+
+``libvirt-guests`` defines several variables to control service behavior.
+The default vaule of these variables can be overridden in:
+
+* ``@SYSCONFDIR@/sysconfig/libvirt-guests``
+
+The following variables are supported:
+
+- URIS=default
+
+ URIs to check for running guests. Example:
+ ``URIS='default xen:///system xen+tcp://host/system lxc:///system'``
+
+- ON_BOOT=start
+
+ Action taken on host boot
+
+ * start
+
+ All guests which were running on shutdown are started on boot regardless
+ of their autostart settings
+
+ * ignore
+
+ ``libvirt-guests`` won't start any guest on boot, however, guests marked
+ as autostart will still be automatically started by libvirtd
+
+- START_DELAY=0
+
+ Number of seconds to wait between each guest start. Set to 0 to allow parallel
+ startup.
+
+- ON_SHUTDOWN=suspend
+
+ Action taken on host shutdown
+
+ * suspend
+
+ All running guests are suspended using virsh managedsave
+
+ * shutdown
+
+ All running guests are asked to shutdown. Please be careful with this
+ settings since there is no way to distinguish between a guest which is
+ stuck or ignores shutdown requests and a guest which just needs a long
+ time to shutdown. When setting ON_SHUTDOWN=shutdown, you must also set
+ SHUTDOWN_TIMEOUT to a value suitable for your guests.
+
+- PARALLEL_SHUTDOWN=0
+
+ Number of guests will be shutdown concurrently, taking effect when
+ "ON_SHUTDOWN" is set to "shutdown". If Set to 0, guests will be shutdown one
+ after another. Number of guests on shutdown at any time will not exceed number
+ set in this variable.
+
+- SHUTDOWN_TIMEOUT=300
+
+ Number of seconds we're willing to wait for a guest to shut down. If parallel
+ shutdown is enabled, this timeout applies as a timeout for shutting down all
+ guests on a single URI defined in the variable URIS. If this is 0, then there
+ is no time out (use with caution, as guests might not respond to a shutdown
+ request). The default value is 300 seconds (5 minutes).
+
+- BYPASS_CACHE=0
+
+ If non-zero, try to bypass the file system cache when saving and
+ restoring guests, even though this may give slower operation for
+ some file systems.
+
+- SYNC_TIME=0
+
+ If non-zero, try to sync guest time on domain resume. Be aware, that
+ this requires guest agent with support for time synchronization
+ running in the guest. By default, this functionality is turned off.
+
+
+BUGS
+====
+
+Please report all bugs you discover. This should be done via either:
+
+#. the mailing list
+
+ `https://libvirt.org/contact.html <https://libvirt.org/contact.html>`_
+
+#. the bug tracker
+
+ `https://libvirt.org/bugs.html <https://libvirt.org/bugs.html>`_
+
+Alternatively, you may report bugs to your software distributor / vendor.
+
+
+AUTHORS
+=======
+
+Please refer to the AUTHORS file distributed with libvirt.
+
+
+LICENSE
+=======
+
+``libvirt-guests`` is distributed under the terms of the GNU LGPL v2.1+.
+This is free software; see the source for copying conditions. There
+is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE
+
+
+SEE ALSO
+========
+
+libvirtd(8), `https://libvirt.org/ <https://libvirt.org/>`_
Index: libvirt-8.0.0/docs/manpages/meson.build
===================================================================
--- libvirt-8.0.0.orig/docs/manpages/meson.build
+++ libvirt-8.0.0/docs/manpages/meson.build
@@ -21,6 +21,7 @@ docs_man_files = [
{ 'name': 'virt-qemu-run', 'section': '1', 'install': conf.has('WITH_QEMU') },
{ 'name': 'virt-xml-validate', 'section': '1', 'install': true },
+ { 'name': 'libvirt-guests', 'section': '8', 'install': conf.has('WITH_LIBVIRTD') },
{ 'name': 'libvirtd', 'section': '8', 'install': conf.has('WITH_LIBVIRTD') },
{ 'name': 'virt-sanlock-cleanup', 'section': '8', 'install': conf.has('WITH_SANLOCK') },
{ 'name': 'virt-ssh-helper', 'section': '8', 'install': conf.has('WITH_LIBVIRTD') },
Index: libvirt-8.0.0/libvirt.spec.in
===================================================================
--- libvirt-8.0.0.orig/libvirt.spec.in
+++ libvirt-8.0.0/libvirt.spec.in
@@ -1694,6 +1694,7 @@ exit 0
%{_mandir}/man1/virt-admin.1*
%{_mandir}/man1/virt-host-validate.1*
%{_mandir}/man8/virt-ssh-helper.8*
+%{_mandir}/man8/libvirt-guests.8*
%{_mandir}/man8/libvirtd.8*
%{_mandir}/man8/virtlogd.8*
%{_mandir}/man8/virtlockd.8*
Index: libvirt-8.0.0/tools/libvirt-guests.service.in
===================================================================
--- libvirt-8.0.0.orig/tools/libvirt-guests.service.in
+++ libvirt-8.0.0/tools/libvirt-guests.service.in
@@ -6,7 +6,7 @@ After=network.target
After=time-sync.target
After=libvirtd.service
After=virt-guest-shutdown.target
-Documentation=man:libvirtd(8)
+Documentation=man:libvirt-guests(8)
Documentation=https://libvirt.org
[Service]

View File

@ -1,69 +0,0 @@
commit 18ec405a36e24c86abe1104699c0bffdc91d5169
Author: Jim Fehlig <jfehlig@suse.com>
Date: Mon Feb 7 13:57:07 2022 -0700
libxl: Release auto-allocated spice ports
While VNC ports auto-allocated by the libxl driver are released in
libxlDomainCleanup, spice ports are overlooked. Rework the existing
logic to release any auto-allocated graphics ports, not just the VNC
port of the first graphics device.
Signed-off-by: Jim Fehlig <jfehlig@suse.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Index: libvirt-8.0.0/src/libxl/libxl_domain.c
===================================================================
--- libvirt-8.0.0.orig/src/libxl/libxl_domain.c
+++ libvirt-8.0.0/src/libxl/libxl_domain.c
@@ -906,10 +906,10 @@ libxlDomainCleanup(libxlDriverPrivate *d
{
libxlDomainObjPrivate *priv = vm->privateData;
g_autoptr(libxlDriverConfig) cfg = libxlDriverConfigGet(driver);
- int vnc_port;
char *file;
virHostdevManager *hostdev_mgr = driver->hostdevMgr;
unsigned int hostdev_flags = VIR_HOSTDEV_SP_PCI;
+ size_t i;
VIR_DEBUG("Cleaning up domain with id '%d' and name '%s'",
vm->def->id, vm->def->name);
@@ -944,13 +944,31 @@ libxlDomainCleanup(libxlDriverPrivate *d
if (!!g_atomic_int_dec_and_test(&driver->nactive) && driver->inhibitCallback)
driver->inhibitCallback(false, driver->inhibitOpaque);
- if ((vm->def->ngraphics == 1) &&
- vm->def->graphics[0]->type == VIR_DOMAIN_GRAPHICS_TYPE_VNC &&
- vm->def->graphics[0]->data.vnc.autoport) {
- vnc_port = vm->def->graphics[0]->data.vnc.port;
- if (vnc_port >= LIBXL_VNC_PORT_MIN) {
- if (virPortAllocatorRelease(vnc_port) < 0)
- VIR_DEBUG("Could not mark port %d as unused", vnc_port);
+ /* Release auto-allocated graphics ports */
+ for (i = 0; i < vm->def->ngraphics; i++) {
+ virDomainGraphicsDef *graphics = vm->def->graphics[i];
+ int gport = -1;
+
+ switch (graphics->type) {
+ case VIR_DOMAIN_GRAPHICS_TYPE_VNC:
+ if (graphics->data.vnc.autoport &&
+ graphics->data.vnc.port >= LIBXL_VNC_PORT_MIN)
+ gport = graphics->data.vnc.port;
+ break;
+ case VIR_DOMAIN_GRAPHICS_TYPE_SPICE:
+ if (graphics->data.spice.autoport)
+ gport = graphics->data.spice.port;
+ break;
+ case VIR_DOMAIN_GRAPHICS_TYPE_SDL:
+ case VIR_DOMAIN_GRAPHICS_TYPE_RDP:
+ case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP:
+ case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS:
+ case VIR_DOMAIN_GRAPHICS_TYPE_LAST:
+ break;
+ }
+ if (gport != -1) {
+ if (virPortAllocatorRelease(gport) < 0)
+ VIR_DEBUG("Could not mark port %d as unused", gport);
}
}

View File

@ -1,42 +0,0 @@
commit 31e937fb3b7d0aa040a879394eff700bc1108251
Author: Jim Fehlig <jfehlig@suse.com>
Date: Mon Jan 24 12:03:20 2022 -0700
libxl: Add lock process indicator to saved VM state
Commit fa58f571ee added a lock processes indicator to the
libxlDomainObjPrivate struct to note that a lock process was
successfully started for the VM. However, the commit neglected to
add the indicator to the VM's saved state file. As a result, the
indicator is lost on libvirtd restart, along with the knowledge of
whether a lock process was started for the VM.
This change adds support for the indicator in the domainObjPrivate
data parse and format callbacks, ensuring its value survives libvirtd
restarts.
Signed-off-by: Jim Fehlig <jfehlig@suse.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Index: libvirt-8.0.0/src/libxl/libxl_domain.c
===================================================================
--- libvirt-8.0.0.orig/src/libxl/libxl_domain.c
+++ libvirt-8.0.0/src/libxl/libxl_domain.c
@@ -226,6 +226,7 @@ libxlDomainObjPrivateXMLParse(xmlXPathCo
libxlDomainObjPrivate *priv = vm->privateData;
priv->lockState = virXPathString("string(./lockstate)", ctxt);
+ priv->lockProcessRunning = virXPathBoolean("boolean(./lockProcessRunning)", ctxt);
return 0;
}
@@ -239,6 +240,9 @@ libxlDomainObjPrivateXMLFormat(virBuffer
if (priv->lockState)
virBufferAsprintf(buf, "<lockstate>%s</lockstate>\n", priv->lockState);
+ if (priv->lockProcessRunning)
+ virBufferAddLit(buf, "<lockProcessRunning/>\n");
+
return 0;
}

View File

@ -1,66 +0,0 @@
commit 3be5ba11a2c6fcb2dfdffa03ab4f847113f36b85
Author: Jim Fehlig <jfehlig@suse.com>
Date: Mon Jan 10 11:42:58 2022 -0700
build: Only install libvirt-guests when building libvirtd
libvirt-guests was already moved to the libvirt daemon package in commit
d800c50349. It only needs to be installed when building libvirtd.
Signed-off-by: Jim Fehlig <jfehlig@suse.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
Index: libvirt-8.0.0/tools/meson.build
===================================================================
--- libvirt-8.0.0.orig/tools/meson.build
+++ libvirt-8.0.0/tools/meson.build
@@ -297,29 +297,31 @@ if conf.has('WITH_SANLOCK')
)
endif
-configure_file(
- input: 'libvirt-guests.sh.in',
- output: '@BASENAME@',
- configuration: tools_conf,
- install: true,
- install_dir: libexecdir,
- install_mode: 'rwxrwxr-x',
-)
-
-if init_script == 'systemd'
- install_data(
- 'libvirt-guests.sysconf',
- install_dir: sysconfdir / 'sysconfig',
- rename: 'libvirt-guests',
- )
-
+if conf.has('WITH_LIBVIRTD')
configure_file(
- input: 'libvirt-guests.service.in',
+ input: 'libvirt-guests.sh.in',
output: '@BASENAME@',
configuration: tools_conf,
install: true,
- install_dir: prefix / 'lib' / 'systemd' / 'system',
+ install_dir: libexecdir,
+ install_mode: 'rwxrwxr-x',
)
+
+ if init_script == 'systemd'
+ install_data(
+ 'libvirt-guests.sysconf',
+ install_dir: sysconfdir / 'sysconfig',
+ rename: 'libvirt-guests',
+ )
+
+ configure_file(
+ input: 'libvirt-guests.service.in',
+ output: '@BASENAME@',
+ configuration: tools_conf,
+ install: true,
+ install_dir: prefix / 'lib' / 'systemd' / 'system',
+ )
+ endif
endif
if bash_completion_dep.found()

View File

@ -1,27 +0,0 @@
commit 454b927d1e33a1fe9dca535db2c97300fdae62cc
Author: Jim Fehlig <jfehlig@suse.com>
Date: Thu Feb 17 11:48:13 2022 -0700
libxl: Fix libvirtd crash on domain restore
Commit cc2a3c2a94 missed one case in the libxl driver where virDomainDef
is returned from libxlDomainSaveImageOpen and a g_steal_pointer is needed.
Without it, the virDomainDef object is freed and the driver crashes later
in the restore process when accessing the object.
Signed-off-by: Jim Fehlig <jfehlig@suse.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Index: libvirt-8.0.0/src/libxl/libxl_domain.c
===================================================================
--- libvirt-8.0.0.orig/src/libxl/libxl_domain.c
+++ libvirt-8.0.0/src/libxl/libxl_domain.c
@@ -811,7 +811,7 @@ libxlDomainSaveImageOpen(libxlDriverPriv
VIR_DOMAIN_DEF_PARSE_SKIP_VALIDATE)))
goto error;
- *ret_def = def;
+ *ret_def = g_steal_pointer(&def);
*ret_hdr = hdr;
return fd;

View File

@ -1,30 +0,0 @@
commit 76deb656132bb8817ddae4b7f417930c4db824c9
Author: Ján Tomko <jtomko@redhat.com>
Date: Thu Jan 20 14:53:33 2022 +0100
qemu: fix inactive snapshot revert
The commit splitting out the qemuSnapshotRevertInactive function
dropped the 'defined = true' line by accident and instead
returned -1, leaving the user with a cryptic error:
error: An error occurred, but the cause is unknown
https://bugzilla.redhat.com/show_bug.cgi?id=2039136
https://gitlab.com/libvirt/libvirt/-/issues/266
Fixes: 85e4a13c3f19078fb6af5ffb4a80022c142cbc7e
Signed-off-by: Ján Tomko <jtomko@redhat.com>
Index: libvirt-8.0.0/src/qemu/qemu_snapshot.c
===================================================================
--- libvirt-8.0.0.orig/src/qemu/qemu_snapshot.c
+++ libvirt-8.0.0/src/qemu/qemu_snapshot.c
@@ -2193,7 +2193,7 @@ qemuSnapshotRevertInactive(virDomainObj
if (*inactiveConfig) {
virDomainObjAssignDef(vm, inactiveConfig, false, NULL);
- return -1;
+ defined = true;
}
if (flags & (VIR_DOMAIN_SNAPSHOT_REVERT_RUNNING |

View File

@ -0,0 +1,42 @@
commit 823a62ec8aac4fb75e6e281164f3eb56ae47597c
Author: Boris Fiuczynski <fiuczy@linux.ibm.com>
Date: Tue Mar 1 18:47:59 2022 +0100
qemu: segmentation fault in virtqemud executing qemuDomainUndefineFlags
Commit 5adfb3472342741c443ac91dee0abb18b5a3d038 causes a segmentation fault.
Stack trace of thread 664419:
#0 0x000003ff62ec553c in qemuDomainUndefineFlags (dom=0x3ff6c002810, flags=<optimized out>) at ../src/qemu/qemu_driver.c:6618
#1 0x000003ff876a7e5c in virDomainUndefineFlags (domain=domain@entry=0x3ff6c002810, flags=<optimized out>) at ../src/libvirt-domain.c:6519
#2 0x000002aa2b64a808 in remoteDispatchDomainUndefineFlags (server=0x2aa2c3d7880, msg=0x2aa2c3d2770, args=<optimized out>, rerr=0x3ff8287b950, client=<optimized out>)
at src/remote/remote_daemon_dispatch_stubs.h:13080
#3 remoteDispatchDomainUndefineFlagsHelper (server=0x2aa2c3d7880, client=<optimized out>, msg=0x2aa2c3d2770, rerr=0x3ff8287b950, args=<optimized out>, ret=0x0)
at src/remote/remote_daemon_dispatch_stubs.h:13059
#4 0x000003ff8758bbf4 in virNetServerProgramDispatchCall (msg=0x2aa2c3d2770, client=0x2aa2c3e3050, server=0x2aa2c3d7880, prog=0x2aa2c3d8010)
at ../src/rpc/virnetserverprogram.c:428
#5 virNetServerProgramDispatch (prog=0x2aa2c3d8010, server=server@entry=0x2aa2c3d7880, client=0x2aa2c3e3050, msg=0x2aa2c3d2770) at ../src/rpc/virnetserverprogram.c:302
#6 0x000003ff8758c260 in virNetServerProcessMsg (msg=<optimized out>, prog=<optimized out>, client=<optimized out>, srv=0x2aa2c3d7880) at ../src/rpc/virnetserver.c:140
#7 virNetServerHandleJob (jobOpaque=0x2aa2c3e2d30, opaque=0x2aa2c3d7880) at ../src/rpc/virnetserver.c:160
#8 0x000003ff874c49aa in virThreadPoolWorker (opaque=<optimized out>) at ../src/util/virthreadpool.c:164
#9 0x000003ff874c3f62 in virThreadHelper (data=<optimized out>) at ../src/util/virthread.c:256
#10 0x000003ff86c1cf8c in start_thread () from /lib64/libc.so.6
#11 0x000003ff86c9650e in thread_start () from /lib64/libc.so.6
Signed-off-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
Reviewed-by: Jim Fehlig <jfehlig@suse.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Index: libvirt-8.1.0/src/qemu/qemu_driver.c
===================================================================
--- libvirt-8.1.0.orig/src/qemu/qemu_driver.c
+++ libvirt-8.1.0/src/qemu/qemu_driver.c
@@ -6615,7 +6615,7 @@ qemuDomainUndefineFlags(virDomainPtr dom
}
}
- if (vm->def->os.loader->nvram) {
+ if (vm->def->os.loader && vm->def->os.loader->nvram) {
nvram_path = g_strdup(vm->def->os.loader->nvram);
} else if (vm->def->os.firmware == VIR_DOMAIN_OS_DEF_FIRMWARE_EFI) {
qemuDomainNVRAMPathFormat(cfg, vm->def, &nvram_path);

File diff suppressed because it is too large Load Diff

View File

@ -1,60 +0,0 @@
commit e0241f334d4e8da2e36cda48c225d5a6edcc3a50
Author: Jim Fehlig <jfehlig@suse.com>
Date: Tue Feb 1 17:03:11 2022 -0700
libxl: Set auto-allocated graphics ports to used on reconnect
The libxl driver reconnects to all running VMs when libvirtd is restarted,
but it failed to mark auto-allocated graphics ports as set in the port
allocator. If many VMs are running that use port auto-allocation and
libvirtd is restarted, the port allocator is likely to hand out a port
already in use when a new VM is created that uses auto-allocation. VM
creation will fail due to the port clash.
When reconnecting to running VMs after a libvirtd restart, let the port
allocator know about previously allocated ports.
Signed-off-by: Jim Fehlig <jfehlig@suse.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Index: libvirt-8.0.0/src/libxl/libxl_driver.c
===================================================================
--- libvirt-8.0.0.orig/src/libxl/libxl_driver.c
+++ libvirt-8.0.0/src/libxl/libxl_driver.c
@@ -393,6 +393,7 @@ libxlReconnectDomain(virDomainObj *vm,
virHostdevManager *hostdev_mgr = driver->hostdevMgr;
unsigned int hostdev_flags = VIR_HOSTDEV_SP_PCI;
int ret = -1;
+ size_t i;
hostdev_flags |= VIR_HOSTDEV_SP_USB;
@@ -447,6 +448,28 @@ libxlReconnectDomain(virDomainObj *vm,
libxlReconnectNotifyNets(vm->def);
+ /* Set any auto-allocated graphics ports to used */
+ for (i = 0; i < vm->def->ngraphics; i++) {
+ virDomainGraphicsDef *graphics = vm->def->graphics[i];
+
+ switch (graphics->type) {
+ case VIR_DOMAIN_GRAPHICS_TYPE_VNC:
+ if (graphics->data.vnc.autoport)
+ virPortAllocatorSetUsed(graphics->data.vnc.port);
+ break;
+ case VIR_DOMAIN_GRAPHICS_TYPE_SPICE:
+ if (graphics->data.spice.autoport)
+ virPortAllocatorSetUsed(graphics->data.spice.port);
+ break;
+ case VIR_DOMAIN_GRAPHICS_TYPE_SDL:
+ case VIR_DOMAIN_GRAPHICS_TYPE_RDP:
+ case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP:
+ case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS:
+ case VIR_DOMAIN_GRAPHICS_TYPE_LAST:
+ break;
+ }
+ }
+
if (virDomainObjSave(vm, driver->xmlopt, cfg->stateDir) < 0)
VIR_WARN("Cannot update XML for running Xen guest %s", vm->def->name);

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:51e6e8ff04bafe96d7e314b213dcd41fb1163d9b4f0f75cdab01e663728f4cf6
size 8860124

View File

@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEERTtlMQWVVihVRxGZymi+gBAITJwFAmHhhg0ACgkQymi+gBAI
TJyHTA/9F7mEVTE7lu/5Jtk738golxj2/75H+vurBFZM5gIDPHBlNPH7RLPHtxNw
nS4rtWR0ThajITQ+3lP2ttjLE6jvsMpIhKIizHqoyVEcW/LlR55RxGfR6K+0+lrh
CE7ycJujl0CVvkfjt7fFp1IkVD6mtxOciVwjRg5VtHBdNnmh6HWJQV+D9MfDhod5
3ayzq3y3NZDfgWtOt4ZbTyhKh22VgTdIue0iHI+eRPI9xdp67bRjDh+rvjJ3SEGc
inEXaa1aj4O/VPcrsyjwBdg+O52YLZN/KG3cpZ/kmbQdFNiYOti8APM9t9NShNf7
4egKeQthG90S3d2mFsyuVoIN7xk26NyMC3fgwKZeTEaMPbG1P+Y2f1k/efzVVqL0
q6tCY74oQXbQ6XF/hANaM/HRvQnlt2JjWiTZ6DJ/+U0jW9MAEwzt/WRqrZfhT8i4
gtemB/sYoZo1BTjZuW5e+pNRmaxyxZkzGUFwIJz+q86mvxi8IDWCGy9NOuypHUWQ
iavGE8vULDgZczd1fWMrmjWzDXe49L1b0mLqLOFdNpjbWxSnF3Bj7AR8GjTM0Bsu
5JpQ1Tjgz6IiW2DnL3EMZ4pKGMXiTgcqL/lYJH4a8yNJ4sV2+coVGijhhfQ2JW+O
x0ymOq77z/VyMI+ZffMeV00tiQF3TYZnwvaqU3e9TnVxmr3Ghx8=
=6QUv
-----END PGP SIGNATURE-----

3
libvirt-8.1.0.tar.xz Normal file
View File

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

16
libvirt-8.1.0.tar.xz.asc Normal file
View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEERTtlMQWVVihVRxGZymi+gBAITJwFAmId5HcACgkQymi+gBAI
TJyDjw//Z6xV7+IFYQBsWqYNztVyxbIUtLHkWBy43N8O32S552d0qiHxjinSWcQf
1rgWPeC4Gs7WDHThUnuSw1BPSXNYkMo9gLJqZsnl0dkP0dw6fBhyKV7X18AV9fPg
q8cmMy1gN9k70nbkJID234ysNJQWfCYtCHBJydgvlFZ4awupk61vnhM4bBxTpVcY
nUK4lPhObGXMtO0J6hB0DJJq0JpMs6Pr4e89b+dxh8YYdexroedAD4+WeVBoSmb/
bMZlsJNGDhu6ixmGKqY+ZyQ+zldiiontejREHVpA9brp3ERc1durkV33XnE/hVYb
yDQIrnyz6ldlqBdGRjCfq+yBNJEMITvp6uqRPF19N0DS7RkvnJQVjulMY55y4Oic
7ozv03Dp0yQBLznxO7nowG1Z+zIdyG6cPh8+FIadTlU5IFxqa2wjYC9oKrwTEtCm
coU0qWVglObdOsyo9uauIlhPqNdcei8lEbVwgWR53MLVKwqcheGq3TJH74Uw/QM4
xjDhCWAyE1duS4iK5GB3AxO7kl+RPkPXZ9erFjBVemofuSsPFdSZx6mQJrp/GrDX
/VMPCOLgLtGENyqRkWh+xjWJWuZ8+Qa3ZpTzfe6IANelsdMfzjSpOyygv20GMWsO
s35XeB+za1nzwPA1cVHpR8dURdTMZKxkz3aXtE9/6B8Fkcc7bSo=
=KtlB
-----END PGP SIGNATURE-----

View File

@ -2,10 +2,10 @@ Add POWER8 v2.0 and v2.1 to cpu map XML
From: <ro@suse.de>
Index: libvirt-8.0.0/src/cpu_map/ppc64_POWER8.xml
Index: libvirt-8.1.0/src/cpu_map/ppc64_POWER8.xml
===================================================================
--- libvirt-8.0.0.orig/src/cpu_map/ppc64_POWER8.xml
+++ libvirt-8.0.0/src/cpu_map/ppc64_POWER8.xml
--- libvirt-8.1.0.orig/src/cpu_map/ppc64_POWER8.xml
+++ libvirt-8.1.0/src/cpu_map/ppc64_POWER8.xml
@@ -4,5 +4,7 @@
<pvr value='0x004b0000' mask='0xffff0000'/>
<pvr value='0x004c0000' mask='0xffff0000'/>

View File

@ -1,8 +1,8 @@
Index: libvirt-8.0.0/tools/virsh.c
Index: libvirt-8.1.0/tools/virsh.c
===================================================================
--- libvirt-8.0.0.orig/tools/virsh.c
+++ libvirt-8.0.0/tools/virsh.c
@@ -552,6 +552,8 @@ virshShowVersion(vshControl *ctl G_GNUC_
--- libvirt-8.1.0.orig/tools/virsh.c
+++ libvirt-8.1.0/tools/virsh.c
@@ -551,6 +551,8 @@ virshShowVersion(vshControl *ctl G_GNUC_
vshPrint(ctl, " Interface");
# if defined(WITH_NETCF)
vshPrint(ctl, " netcf");
@ -11,10 +11,10 @@ Index: libvirt-8.0.0/tools/virsh.c
# elif defined(WITH_UDEV)
vshPrint(ctl, " udev");
# endif
Index: libvirt-8.0.0/src/interface/interface_backend_netcf.c
Index: libvirt-8.1.0/src/interface/interface_backend_netcf.c
===================================================================
--- libvirt-8.0.0.orig/src/interface/interface_backend_netcf.c
+++ libvirt-8.0.0/src/interface/interface_backend_netcf.c
--- libvirt-8.1.0.orig/src/interface/interface_backend_netcf.c
+++ libvirt-8.1.0/src/interface/interface_backend_netcf.c
@@ -21,7 +21,12 @@
#include <config.h>
@ -78,7 +78,7 @@ Index: libvirt-8.0.0/src/interface/interface_backend_netcf.c
/* open netcf */
if (ncf_init(&driver->netcf, NULL) != 0) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
@@ -1093,6 +1133,7 @@ static int netcfInterfaceIsActive(virInt
@@ -1089,6 +1129,7 @@ static int netcfInterfaceIsActive(virInt
return ret;
}
@ -86,7 +86,7 @@ Index: libvirt-8.0.0/src/interface/interface_backend_netcf.c
static int netcfInterfaceChangeBegin(virConnectPtr conn, unsigned int flags)
{
int ret;
@@ -1167,6 +1208,7 @@ static int netcfInterfaceChangeRollback(
@@ -1163,6 +1204,7 @@ static int netcfInterfaceChangeRollback(
virObjectUnlock(driver);
return ret;
}
@ -94,7 +94,7 @@ Index: libvirt-8.0.0/src/interface/interface_backend_netcf.c
static virInterfaceDriver interfaceDriver = {
.name = INTERFACE_DRIVER_NAME,
@@ -1183,9 +1225,11 @@ static virInterfaceDriver interfaceDrive
@@ -1179,9 +1221,11 @@ static virInterfaceDriver interfaceDrive
.interfaceCreate = netcfInterfaceCreate, /* 0.7.0 */
.interfaceDestroy = netcfInterfaceDestroy, /* 0.7.0 */
.interfaceIsActive = netcfInterfaceIsActive, /* 0.7.3 */
@ -106,7 +106,7 @@ Index: libvirt-8.0.0/src/interface/interface_backend_netcf.c
};
@@ -1216,6 +1260,19 @@ static virStateDriver interfaceStateDriv
@@ -1212,6 +1256,19 @@ static virStateDriver interfaceStateDriv
int netcfIfaceRegister(void)
{
@ -126,10 +126,10 @@ Index: libvirt-8.0.0/src/interface/interface_backend_netcf.c
if (virRegisterConnectDriver(&interfaceConnectDriver, false) < 0)
return -1;
if (virSetSharedInterfaceDriver(&interfaceDriver) < 0)
Index: libvirt-8.0.0/src/interface/interface_driver.c
Index: libvirt-8.1.0/src/interface/interface_driver.c
===================================================================
--- libvirt-8.0.0.orig/src/interface/interface_driver.c
+++ libvirt-8.0.0/src/interface/interface_driver.c
--- libvirt-8.1.0.orig/src/interface/interface_driver.c
+++ libvirt-8.1.0/src/interface/interface_driver.c
@@ -30,8 +30,15 @@ interfaceRegister(void)
if (netcfIfaceRegister() == 0)
return 0;
@ -147,11 +147,11 @@ Index: libvirt-8.0.0/src/interface/interface_driver.c
if (udevIfaceRegister() == 0)
return 0;
#endif /* WITH_UDEV */
Index: libvirt-8.0.0/meson.build
Index: libvirt-8.1.0/meson.build
===================================================================
--- libvirt-8.0.0.orig/meson.build
+++ libvirt-8.0.0/meson.build
@@ -1098,6 +1098,12 @@ else
--- libvirt-8.1.0.orig/meson.build
+++ libvirt-8.1.0/meson.build
@@ -1067,6 +1067,12 @@ else
netcf_dep = dependency('', required: false)
endif
@ -164,7 +164,7 @@ Index: libvirt-8.0.0/meson.build
have_gnu_gettext_tools = false
if not get_option('nls').disabled()
have_gettext = cc.has_function('gettext')
@@ -1505,10 +1511,10 @@ elif get_option('driver_hyperv').enabled
@@ -1474,10 +1480,10 @@ elif get_option('driver_hyperv').enabled
error('openwsman is required for the Hyper-V driver')
endif
@ -177,7 +177,7 @@ Index: libvirt-8.0.0/meson.build
endif
if not get_option('driver_libxl').disabled() and conf.has('WITH_LIBVIRTD')
@@ -2345,6 +2351,7 @@ libs_summary = {
@@ -2307,6 +2313,7 @@ libs_summary = {
'libssh2': libssh2_dep.found(),
'libutil': libutil_dep.found(),
'netcf': conf.has('WITH_NETCF'),
@ -185,10 +185,10 @@ Index: libvirt-8.0.0/meson.build
'NLS': have_gnu_gettext_tools,
'numactl': numactl_dep.found(),
'openwsman': openwsman_dep.found(),
Index: libvirt-8.0.0/src/interface/meson.build
Index: libvirt-8.1.0/src/interface/meson.build
===================================================================
--- libvirt-8.0.0.orig/src/interface/meson.build
+++ libvirt-8.0.0/src/interface/meson.build
--- libvirt-8.1.0.orig/src/interface/meson.build
+++ libvirt-8.1.0/src/interface/meson.build
@@ -2,7 +2,7 @@ interface_driver_sources = [
'interface_driver.c',
]
@ -206,10 +206,10 @@ Index: libvirt-8.0.0/src/interface/meson.build
udev_dep,
],
'link_args': [
Index: libvirt-8.0.0/meson_options.txt
Index: libvirt-8.1.0/meson_options.txt
===================================================================
--- libvirt-8.0.0.orig/meson_options.txt
+++ libvirt-8.0.0/meson_options.txt
--- libvirt-8.1.0.orig/meson_options.txt
+++ libvirt-8.1.0/meson_options.txt
@@ -29,6 +29,7 @@ option('libpcap', type: 'feature', value
option('libssh', type: 'feature', value: 'auto', description: 'libssh support')
option('libssh2', type: 'feature', value: 'auto', description: 'libssh2 support')

View File

@ -1,3 +1,26 @@
-------------------------------------------------------------------
Thu Mar 3 15:25:50 UTC 2022 - James Fehlig <jfehlig@suse.com>
- qemu: Fix segmentation fault in qemuDomainUndefineFlags
823a62ec-qemu-fix-undefine-crash.patch
-------------------------------------------------------------------
Tue Mar 1 16:15:32 UTC 2022 - James Fehlig <jfehlig@suse.com>
- Update to libvirt 8.1.0
- Many incremental improvements and bug fixes, see
https://libvirt.org/news.html#v8-1-0-2022-03-01
- Dropped patches:
3be5ba11-libvirt-guests-install.patch,
16172741-libvirt-guests-manpage.patch,
8eb44616-remove-sysconfig-files.patch,
31e937fb-libxl-save-lock-indicator.patch,
105dace2-revert-virProcessGetStatInfo.patch,
e0241f33-libxl-mark-allocated-graphics-ports.patch,
18ec405a-libxl-release-graphics-ports.patch,
76deb656-qemu-fix-snapshot-revert.patch,
454b927d-libxl-fix-dom-restore.patch
-------------------------------------------------------------------
Fri Feb 18 18:25:46 UTC 2022 - James Fehlig <jfehlig@suse.com>

View File

@ -158,7 +158,7 @@
Name: libvirt
URL: http://libvirt.org/
Version: 8.0.0
Version: 8.1.0
Release: 0
Summary: Library providing a virtualization API
License: LGPL-2.1-or-later
@ -233,7 +233,6 @@ BuildRequires: apparmor-rpm-macros
BuildRequires: libapparmor-devel
%endif
BuildRequires: cyrus-sasl-devel
BuildRequires: dnsmasq >= 2.41
BuildRequires: ebtables
BuildRequires: iptables
BuildRequires: polkit >= 0.112
@ -301,15 +300,7 @@ Source6: libvirtd-relocation-server.xml
Source99: baselibs.conf
Source100: %{name}-rpmlintrc
# Upstream patches
Patch0: 3be5ba11-libvirt-guests-install.patch
Patch1: 16172741-libvirt-guests-manpage.patch
Patch2: 8eb44616-remove-sysconfig-files.patch
Patch3: 31e937fb-libxl-save-lock-indicator.patch
Patch4: 105dace2-revert-virProcessGetStatInfo.patch
Patch5: e0241f33-libxl-mark-allocated-graphics-ports.patch
Patch6: 18ec405a-libxl-release-graphics-ports.patch
Patch7: 76deb656-qemu-fix-snapshot-revert.patch
Patch8: 454b927d-libxl-fix-dom-restore.patch
Patch0: 823a62ec-qemu-fix-undefine-crash.patch
# Patches pending upstream review
Patch100: libxl-dom-reset.patch
Patch101: network-don-t-use-dhcp-authoritative-on-static-netwo.patch
@ -1032,19 +1023,6 @@ libvirt plugin for NSS for translating domain names into IP addresses.
%install
%meson_install
rm -f %{buildroot}/%{_libdir}/*.la
rm -f %{buildroot}/%{_libdir}/*.a
rm -f %{buildroot}/%{_libdir}/%{name}/lock-driver/*.la
rm -f %{buildroot}/%{_libdir}/%{name}/lock-driver/*.a
rm -f %{buildroot}/%{_libdir}/%{name}/connection-driver/*.la
rm -f %{buildroot}/%{_libdir}/%{name}/connection-driver/*.a
rm -f %{buildroot}/%{_libdir}/%{name}/storage-backend/*.la
rm -f %{buildroot}/%{_libdir}/%{name}/storage-backend/*.a
rm -f %{buildroot}/%{_libdir}/%{name}/storage-file/*.la
rm -f %{buildroot}/%{_libdir}/%{name}/storage-file/*.a
%if %{with_wireshark}
rm -f %{buildroot}/%{wireshark_plugindir}/libvirt.la
%endif
# remove currently unsupported locale(s)
for dir in %{buildroot}/usr/share/locale/*
do
@ -1342,7 +1320,6 @@ fi
%{_sbindir}/virtlockd
%dir %{_libdir}/%{name}
%attr(0755, root, root) %{_libdir}/%{name}/libvirt-guests.sh
%dir %attr(0700, root, root) %{_sysconfdir}/%{name}/
%dir %attr(0700, root, root) %{_sysconfdir}/%{name}/hooks
%{_unitdir}/libvirtd.service
%{_unitdir}/libvirtd.socket
@ -1393,6 +1370,7 @@ fi
%{_datadir}/augeas/lenses/tests/test_libvirt_lockd.aug
%{_datadir}/bash-completion/completions/virt-admin
%dir %{_localstatedir}/lib/%{name}/
%dir %attr(0755, root, root) %{_localstatedir}/lib/%{name}/
%dir %attr(0711, root, root) %{_localstatedir}/lib/%{name}/images/
%dir %attr(0711, root, root) %{_localstatedir}/lib/%{name}/filesystems/
%dir %attr(0711, root, root) %{_localstatedir}/lib/%{name}/boot/
@ -1525,6 +1503,7 @@ fi
%{_unitdir}/virtsecretd-admin.socket
%{_sbindir}/virtsecretd
%{_sbindir}/rcvirtsecretd
%dir %attr(0700, root, root) %{_sysconfdir}/%{name}/secrets/
%dir %{_libdir}/%{name}/connection-driver
%{_libdir}/%{name}/connection-driver/libvirt_driver_secret.so
%doc %{_mandir}/man8/virtsecretd.8*
@ -1542,6 +1521,8 @@ fi
%{_sbindir}/virtstoraged
%{_sbindir}/rcvirtstoraged
%attr(0755, root, root) %{_libdir}/%{name}/libvirt_parthelper
%dir %attr(0700, root, root) %{_sysconfdir}/%{name}/storage/
%dir %attr(0700, root, root) %{_sysconfdir}/%{name}/storage/autostart/
%dir %{_libdir}/%{name}/connection-driver
%{_libdir}/%{name}/connection-driver/libvirt_driver_storage.so
%dir %{_libdir}/%{name}/storage-backend
@ -1603,6 +1584,7 @@ fi
%config(noreplace) %{_sysconfdir}/%{name}/qemu.conf
%config(noreplace) %{_sysconfdir}/%{name}/qemu-lockd.conf
%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.qemu
%dir %attr(0700, root, root) %{_sysconfdir}/%{name}/qemu/autostart/
%dir %attr(0751, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/%{name}/qemu/
%dir %attr(0750, root, root) %{_localstatedir}/cache/%{name}/qemu/
%dir %attr(0700, root, root) %{_localstatedir}/log/%{name}/qemu/
@ -1631,6 +1613,8 @@ fi
%{_unitdir}/virtlxcd-admin.socket
%{_sbindir}/virtlxcd
%{_sbindir}/rcvirtlxcd
%dir %attr(0700, root, root) %{_sysconfdir}/%{name}/lxc/
%dir %attr(0700, root, root) %{_sysconfdir}/%{name}/lxc/autostart/
%config(noreplace) %{_sysconfdir}/%{name}/lxc.conf
%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.lxc
%dir %attr(0700, root, root) %{_localstatedir}/lib/%{name}/lxc/
@ -1661,9 +1645,15 @@ fi
%config(noreplace) %{_sysconfdir}/%{name}/libxl.conf
%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.libxl
%config(noreplace) %{_sysconfdir}/%{name}/libxl-lockd.conf
%dir %attr(0700, root, root) %{_sysconfdir}/%{name}/libxl/
%dir %attr(0700, root, root) %{_sysconfdir}/%{name}/libxl/autostart/
%{_datadir}/augeas/lenses/libvirtd_libxl.aug
%{_datadir}/augeas/lenses/tests/test_libvirtd_libxl.aug
%dir %attr(0700, root, root) %{_localstatedir}/lib/%{name}/libxl/
%dir %attr(0700, root, root) %{_localstatedir}/lib/%{name}/libxl/channel/
%dir %attr(0700, root, root) %{_localstatedir}/lib/%{name}/libxl/channel/target/
%dir %attr(0700, root, root) %{_localstatedir}/lib/%{name}/libxl/dump/
%dir %attr(0700, root, root) %{_localstatedir}/lib/%{name}/libxl/save/
%dir %attr(0700, root, root) %{_localstatedir}/log/%{name}/libxl/
%dir %{_libdir}/%{name}/connection-driver
%{_libdir}/%{name}/connection-driver/libvirt_driver_libxl.so
@ -1719,6 +1709,7 @@ fi
%dir %{_libdir}/%{name}
%files libs -f %{name}.lang
%dir %attr(0700, root, root) %{_sysconfdir}/%{name}/
%config(noreplace) %{_sysconfdir}/%{name}/libvirt.conf
%config(noreplace) %{_sysconfdir}/%{name}/libvirt-admin.conf
%{_libdir}/libvirt.so.*
@ -1728,7 +1719,6 @@ fi
%dir %{_datadir}/%{name}/
%dir %{_datadir}/%{name}/schemas/
%dir %{_datadir}/%{name}/cpu_map/
%dir %attr(0755, root, root) %{_localstatedir}/lib/%{name}/
%{_datadir}/systemtap/tapset/libvirt_probes*.stp
%{_datadir}/systemtap/tapset/libvirt_functions.stp
%if %{with_qemu}

View File

@ -8,10 +8,10 @@ Date: Mon Jun 23 15:51:20 2014 -0600
option, but domainReset can be implemented in the libxl driver by
forcibly destroying the domain and starting it again.
Index: libvirt-8.0.0/src/libxl/libxl_driver.c
Index: libvirt-8.1.0/src/libxl/libxl_driver.c
===================================================================
--- libvirt-8.0.0.orig/src/libxl/libxl_driver.c
+++ libvirt-8.0.0/src/libxl/libxl_driver.c
--- libvirt-8.1.0.orig/src/libxl/libxl_driver.c
+++ libvirt-8.1.0/src/libxl/libxl_driver.c
@@ -1361,6 +1361,63 @@ libxlDomainReboot(virDomainPtr dom, unsi
}
@ -76,7 +76,7 @@ Index: libvirt-8.0.0/src/libxl/libxl_driver.c
libxlDomainDestroyFlags(virDomainPtr dom,
unsigned int flags)
{
@@ -6455,6 +6512,7 @@ static virHypervisorDriver libxlHypervis
@@ -6464,6 +6521,7 @@ static virHypervisorDriver libxlHypervis
.domainShutdown = libxlDomainShutdown, /* 0.9.0 */
.domainShutdownFlags = libxlDomainShutdownFlags, /* 0.9.10 */
.domainReboot = libxlDomainReboot, /* 0.9.0 */

View File

@ -3,11 +3,11 @@ https://bugzilla.novell.com/show_bug.cgi?id=879425
src/libxl/libxl_conf.c | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
Index: libvirt-8.0.0/src/libxl/libxl_conf.c
Index: libvirt-8.1.0/src/libxl/libxl_conf.c
===================================================================
--- libvirt-8.0.0.orig/src/libxl/libxl_conf.c
+++ libvirt-8.0.0/src/libxl/libxl_conf.c
@@ -941,6 +941,28 @@ libxlDiskSetDiscard(libxl_device_disk *x
--- libvirt-8.1.0.orig/src/libxl/libxl_conf.c
+++ libvirt-8.1.0/src/libxl/libxl_conf.c
@@ -943,6 +943,28 @@ libxlDiskSetDiscard(libxl_device_disk *x
}
}
@ -36,7 +36,7 @@ Index: libvirt-8.0.0/src/libxl/libxl_conf.c
static char *
libxlMakeNetworkDiskSrcStr(virStorageSource *src,
const char *username,
@@ -1180,6 +1202,7 @@ libxlMakeDisk(virDomainDiskDef *l_disk,
@@ -1182,6 +1204,7 @@ libxlMakeDisk(virDomainDiskDef *l_disk,
x_disk->readwrite = !l_disk->src->readonly;
x_disk->is_cdrom = l_disk->device == VIR_DOMAIN_DISK_DEVICE_CDROM ? 1 : 0;
libxlDiskSetDiscard(x_disk, l_disk->discard);

View File

@ -16,11 +16,11 @@ Signed-off-by: Jim Fehlig <jfehlig@suse.com>
tools/virsh.pod | 8 ++++++++
6 files changed, 125 insertions(+), 6 deletions(-)
Index: libvirt-8.0.0/docs/manpages/virsh.rst
Index: libvirt-8.1.0/docs/manpages/virsh.rst
===================================================================
--- libvirt-8.0.0.orig/docs/manpages/virsh.rst
+++ libvirt-8.0.0/docs/manpages/virsh.rst
@@ -3237,6 +3237,7 @@ migrate
--- libvirt-8.1.0.orig/docs/manpages/virsh.rst
+++ libvirt-8.1.0/docs/manpages/virsh.rst
@@ -3246,6 +3246,7 @@ migrate
[--parallel [--parallel-connections connections]]
[--bandwidth bandwidth] [--tls-destination hostname]
[--disks-uri URI] [--copy-storage-synchronous-writes]
@ -28,7 +28,7 @@ Index: libvirt-8.0.0/docs/manpages/virsh.rst
Migrate domain to another host. Add *--live* for live migration; <--p2p>
for peer-2-peer migration; *--direct* for direct migration; or *--tunnelled*
@@ -3354,6 +3355,12 @@ parallel connections. The number of such
@@ -3363,6 +3364,12 @@ parallel connections. The number of such
network link between the source and the target and thus speeding up the
migration.
@ -41,11 +41,11 @@ Index: libvirt-8.0.0/docs/manpages/virsh.rst
Running migration can be canceled by interrupting virsh (usually using
``Ctrl-C``) or by ``domjobabort`` command sent from another virsh instance.
Index: libvirt-8.0.0/include/libvirt/libvirt-domain.h
Index: libvirt-8.1.0/include/libvirt/libvirt-domain.h
===================================================================
--- libvirt-8.0.0.orig/include/libvirt/libvirt-domain.h
+++ libvirt-8.0.0/include/libvirt/libvirt-domain.h
@@ -1089,6 +1089,25 @@ typedef enum {
--- libvirt-8.1.0.orig/include/libvirt/libvirt-domain.h
+++ libvirt-8.1.0/include/libvirt/libvirt-domain.h
@@ -1090,6 +1090,25 @@ typedef enum {
*/
# define VIR_MIGRATE_PARAM_TLS_DESTINATION "tls.destination"
@ -71,11 +71,11 @@ Index: libvirt-8.0.0/include/libvirt/libvirt-domain.h
/* Domain migration. */
virDomainPtr virDomainMigrate (virDomainPtr domain, virConnectPtr dconn,
unsigned long flags, const char *dname,
Index: libvirt-8.0.0/src/libxl/libxl_driver.c
Index: libvirt-8.1.0/src/libxl/libxl_driver.c
===================================================================
--- libvirt-8.0.0.orig/src/libxl/libxl_driver.c
+++ libvirt-8.0.0/src/libxl/libxl_driver.c
@@ -5996,6 +5996,9 @@ libxlDomainMigratePerform3Params(virDoma
--- libvirt-8.1.0.orig/src/libxl/libxl_driver.c
+++ libvirt-8.1.0/src/libxl/libxl_driver.c
@@ -6005,6 +6005,9 @@ libxlDomainMigratePerform3Params(virDoma
const char *dname = NULL;
const char *uri = NULL;
int ret = -1;
@ -85,7 +85,7 @@ Index: libvirt-8.0.0/src/libxl/libxl_driver.c
#ifdef LIBXL_HAVE_NO_SUSPEND_RESUME
virReportUnsupportedError();
@@ -6012,6 +6015,15 @@ libxlDomainMigratePerform3Params(virDoma
@@ -6021,6 +6024,15 @@ libxlDomainMigratePerform3Params(virDoma
virTypedParamsGetString(params, nparams,
VIR_MIGRATE_PARAM_DEST_NAME,
&dname) < 0 ||
@ -101,7 +101,7 @@ Index: libvirt-8.0.0/src/libxl/libxl_driver.c
virTypedParamsGetString(params, nparams,
VIR_MIGRATE_PARAM_URI,
&uri) < 0)
@@ -6026,11 +6038,11 @@ libxlDomainMigratePerform3Params(virDoma
@@ -6035,11 +6047,11 @@ libxlDomainMigratePerform3Params(virDoma
if ((flags & (VIR_MIGRATE_TUNNELLED | VIR_MIGRATE_PEER2PEER))) {
if (libxlDomainMigrationSrcPerformP2P(driver, vm, dom->conn, dom_xml,
@ -115,11 +115,11 @@ Index: libvirt-8.0.0/src/libxl/libxl_driver.c
goto cleanup;
}
Index: libvirt-8.0.0/src/libxl/libxl_migration.c
Index: libvirt-8.1.0/src/libxl/libxl_migration.c
===================================================================
--- libvirt-8.0.0.orig/src/libxl/libxl_migration.c
+++ libvirt-8.0.0/src/libxl/libxl_migration.c
@@ -334,18 +334,38 @@ libxlMigrateDstReceive(virNetSocket *soc
--- libvirt-8.1.0.orig/src/libxl/libxl_migration.c
+++ libvirt-8.1.0/src/libxl/libxl_migration.c
@@ -332,18 +332,38 @@ libxlMigrateDstReceive(virNetSocket *soc
static int
libxlDoMigrateSrcSend(libxlDriverPrivate *driver,
virDomainObj *vm,
@ -160,7 +160,7 @@ Index: libvirt-8.0.0/src/libxl/libxl_migration.c
if (ret != 0) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("Failed to send migration data to destination host"));
@@ -884,7 +904,7 @@ struct libxlTunnelControl {
@@ -882,7 +902,7 @@ struct libxlTunnelControl {
static int
libxlMigrationSrcStartTunnel(libxlDriverPrivate *driver,
virDomainObj *vm,
@ -169,7 +169,7 @@ Index: libvirt-8.0.0/src/libxl/libxl_migration.c
virStreamPtr st,
struct libxlTunnelControl **tnl)
{
@@ -917,7 +937,7 @@ libxlMigrationSrcStartTunnel(libxlDriver
@@ -915,7 +935,7 @@ libxlMigrationSrcStartTunnel(libxlDriver
virObjectUnlock(vm);
/* Send data to pipe */
@ -178,7 +178,7 @@ Index: libvirt-8.0.0/src/libxl/libxl_migration.c
virObjectLock(vm);
/* libxlMigrationSrcStopTunnel will be called in libxlDoMigrateSrcP2P
@@ -952,7 +972,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivate
@@ -950,7 +970,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivate
const char *dconnuri G_GNUC_UNUSED,
const char *dname,
const char *uri,
@ -187,7 +187,7 @@ Index: libvirt-8.0.0/src/libxl/libxl_migration.c
{
virDomainPtr ddomain = NULL;
virTypedParameterPtr params = NULL;
@@ -997,11 +1017,11 @@ libxlDoMigrateSrcP2P(libxlDriverPrivate
@@ -995,11 +1015,11 @@ libxlDoMigrateSrcP2P(libxlDriverPrivate
/* We don't require the destination to have P2P support
* as it looks to be normal migration from the receiver perspective.
*/
@ -201,7 +201,7 @@ Index: libvirt-8.0.0/src/libxl/libxl_migration.c
if (!(st = virStreamNew(dconn, 0)))
goto confirm;
ret = dconn->driver->domainMigratePrepareTunnel3Params
@@ -1015,7 +1035,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivate
@@ -1013,7 +1033,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivate
if (ret == -1)
goto confirm;
@ -210,7 +210,7 @@ Index: libvirt-8.0.0/src/libxl/libxl_migration.c
if (uri_out) {
if (virTypedParamsReplaceString(&params, &nparams,
VIR_MIGRATE_PARAM_URI, uri_out) < 0) {
@@ -1030,11 +1050,11 @@ libxlDoMigrateSrcP2P(libxlDriverPrivate
@@ -1028,11 +1048,11 @@ libxlDoMigrateSrcP2P(libxlDriverPrivate
}
VIR_DEBUG("Perform3 uri=%s", NULLSTR(uri_out));
@ -225,7 +225,7 @@ Index: libvirt-8.0.0/src/libxl/libxl_migration.c
if (ret < 0) {
notify_source = false;
virErrorPreserveLast(&orig_err);
@@ -1069,7 +1089,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivate
@@ -1067,7 +1087,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivate
confirm:
if (notify_source) {
VIR_DEBUG("Confirm3 cancelled=%d vm=%p", cancelled, vm);
@ -234,7 +234,7 @@ Index: libvirt-8.0.0/src/libxl/libxl_migration.c
if (ret < 0)
VIR_WARN("Guest %s probably left in 'paused' state on source",
@@ -1077,7 +1097,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivate
@@ -1075,7 +1095,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivate
}
cleanup:
@ -243,7 +243,7 @@ Index: libvirt-8.0.0/src/libxl/libxl_migration.c
libxlMigrationSrcStopTunnel(tc);
virObjectUnref(st);
}
@@ -1121,7 +1141,7 @@ libxlDomainMigrationSrcPerformP2P(libxlD
@@ -1119,7 +1139,7 @@ libxlDomainMigrationSrcPerformP2P(libxlD
const char *dconnuri,
const char *uri_str G_GNUC_UNUSED,
const char *dname,
@ -252,7 +252,7 @@ Index: libvirt-8.0.0/src/libxl/libxl_migration.c
{
int ret = -1;
int useParams;
@@ -1155,7 +1175,7 @@ libxlDomainMigrationSrcPerformP2P(libxlD
@@ -1153,7 +1173,7 @@ libxlDomainMigrationSrcPerformP2P(libxlD
}
ret = libxlDoMigrateSrcP2P(driver, vm, sconn, xmlin, dconn, dconnuri,
@ -261,7 +261,7 @@ Index: libvirt-8.0.0/src/libxl/libxl_migration.c
if (ret < 0) {
/*
@@ -1182,7 +1202,7 @@ libxlDomainMigrationSrcPerform(libxlDriv
@@ -1180,7 +1200,7 @@ libxlDomainMigrationSrcPerform(libxlDriv
const char *dconnuri G_GNUC_UNUSED,
const char *uri_str,
const char *dname G_GNUC_UNUSED,
@ -270,7 +270,7 @@ Index: libvirt-8.0.0/src/libxl/libxl_migration.c
{
libxlDomainObjPrivate *priv = vm->privateData;
char *hostname = NULL;
@@ -1218,7 +1238,7 @@ libxlDomainMigrationSrcPerform(libxlDriv
@@ -1216,7 +1236,7 @@ libxlDomainMigrationSrcPerform(libxlDriv
/* suspend vm and send saved data to dst through socket fd */
virObjectUnlock(vm);
@ -279,10 +279,10 @@ Index: libvirt-8.0.0/src/libxl/libxl_migration.c
virObjectLock(vm);
if (ret == 0) {
Index: libvirt-8.0.0/src/libxl/libxl_migration.h
Index: libvirt-8.1.0/src/libxl/libxl_migration.h
===================================================================
--- libvirt-8.0.0.orig/src/libxl/libxl_migration.h
+++ libvirt-8.0.0/src/libxl/libxl_migration.h
--- libvirt-8.1.0.orig/src/libxl/libxl_migration.h
+++ libvirt-8.1.0/src/libxl/libxl_migration.h
@@ -35,6 +35,9 @@
VIR_MIGRATE_PARAM_URI, VIR_TYPED_PARAM_STRING, \
VIR_MIGRATE_PARAM_DEST_NAME, VIR_TYPED_PARAM_STRING, \
@ -325,11 +325,11 @@ Index: libvirt-8.0.0/src/libxl/libxl_migration.h
virDomainPtr
libxlDomainMigrationDstFinish(virConnectPtr dconn,
Index: libvirt-8.0.0/tools/virsh-domain.c
Index: libvirt-8.1.0/tools/virsh-domain.c
===================================================================
--- libvirt-8.0.0.orig/tools/virsh-domain.c
+++ libvirt-8.0.0/tools/virsh-domain.c
@@ -10841,6 +10841,18 @@ static const vshCmdOptDef opts_migrate[]
--- libvirt-8.1.0.orig/tools/virsh-domain.c
+++ libvirt-8.1.0/tools/virsh-domain.c
@@ -10863,6 +10863,18 @@ static const vshCmdOptDef opts_migrate[]
.completer = virshCompleteEmpty,
.help = N_("override the destination host name used for TLS verification")
},
@ -348,7 +348,7 @@ Index: libvirt-8.0.0/tools/virsh-domain.c
{.name = NULL}
};
@@ -10861,6 +10873,7 @@ doMigrate(void *opaque)
@@ -10883,6 +10895,7 @@ doMigrate(void *opaque)
unsigned long long ullOpt = 0;
int rv;
virConnectPtr dconn = data->dconn;
@ -356,7 +356,7 @@ Index: libvirt-8.0.0/tools/virsh-domain.c
#ifndef WIN32
sigset_t sigmask, oldsigmask;
@@ -10991,6 +11004,22 @@ doMigrate(void *opaque)
@@ -11013,6 +11026,22 @@ doMigrate(void *opaque)
goto save_error;
}

View File

@ -7,11 +7,11 @@ and npiv.
For more details, see bsc#954872 and FATE#319810
Index: libvirt-8.0.0/src/libxl/libxl_conf.c
Index: libvirt-8.1.0/src/libxl/libxl_conf.c
===================================================================
--- libvirt-8.0.0.orig/src/libxl/libxl_conf.c
+++ libvirt-8.0.0/src/libxl/libxl_conf.c
@@ -942,6 +942,20 @@ libxlDiskSetDiscard(libxl_device_disk *x
--- libvirt-8.1.0.orig/src/libxl/libxl_conf.c
+++ libvirt-8.1.0/src/libxl/libxl_conf.c
@@ -944,6 +944,20 @@ libxlDiskSetDiscard(libxl_device_disk *x
}
static void
@ -32,7 +32,7 @@ Index: libvirt-8.0.0/src/libxl/libxl_conf.c
libxlDiskSetCacheMode(libxl_device_disk *x_disk, int cachemode)
{
switch (cachemode) {
@@ -1084,6 +1098,7 @@ libxlMakeNetworkDiskSrc(virStorageSource
@@ -1086,6 +1100,7 @@ libxlMakeNetworkDiskSrc(virStorageSource
int
libxlMakeDisk(virDomainDiskDef *l_disk, libxl_device_disk *x_disk)
{
@ -40,7 +40,7 @@ Index: libvirt-8.0.0/src/libxl/libxl_conf.c
const char *driver = virDomainDiskGetDriver(l_disk);
int format = virDomainDiskGetFormat(l_disk);
int actual_type = virStorageSourceGetActualType(l_disk->src);
@@ -1097,7 +1112,7 @@ libxlMakeDisk(virDomainDiskDef *l_disk,
@@ -1099,7 +1114,7 @@ libxlMakeDisk(virDomainDiskDef *l_disk,
if (libxlMakeNetworkDiskSrc(l_disk->src, &x_disk->pdev_path) < 0)
return -1;
} else {
@ -49,7 +49,7 @@ Index: libvirt-8.0.0/src/libxl/libxl_conf.c
}
x_disk->vdev = g_strdup(l_disk->dst);
@@ -1203,6 +1218,8 @@ libxlMakeDisk(virDomainDiskDef *l_disk,
@@ -1205,6 +1220,8 @@ libxlMakeDisk(virDomainDiskDef *l_disk,
x_disk->is_cdrom = l_disk->device == VIR_DOMAIN_DISK_DEVICE_CDROM ? 1 : 0;
libxlDiskSetDiscard(x_disk, l_disk->discard);
libxlDiskSetCacheMode(x_disk, l_disk->cachemode);

View File

@ -13,11 +13,11 @@ device with the same name that is being created.
src/lxc/lxc_process.c | 1 +
3 files changed, 4 insertions(+)
Index: libvirt-8.0.0/src/lxc/lxc_controller.c
Index: libvirt-8.1.0/src/lxc/lxc_controller.c
===================================================================
--- libvirt-8.0.0.orig/src/lxc/lxc_controller.c
+++ libvirt-8.0.0/src/lxc/lxc_controller.c
@@ -2006,6 +2006,7 @@ static int virLXCControllerDeleteInterfa
--- libvirt-8.1.0.orig/src/lxc/lxc_controller.c
+++ libvirt-8.1.0/src/lxc/lxc_controller.c
@@ -1998,6 +1998,7 @@ static int virLXCControllerDeleteInterfa
if (virNetDevVethDelete(ctrl->veths[i]) < 0)
ret = -1;
}
@ -25,10 +25,10 @@ Index: libvirt-8.0.0/src/lxc/lxc_controller.c
return ret;
}
Index: libvirt-8.0.0/src/lxc/lxc_driver.c
Index: libvirt-8.1.0/src/lxc/lxc_driver.c
===================================================================
--- libvirt-8.0.0.orig/src/lxc/lxc_driver.c
+++ libvirt-8.0.0/src/lxc/lxc_driver.c
--- libvirt-8.1.0.orig/src/lxc/lxc_driver.c
+++ libvirt-8.1.0/src/lxc/lxc_driver.c
@@ -67,6 +67,7 @@
#include "virtime.h"
#include "virtypedparam.h"
@ -37,7 +37,7 @@ Index: libvirt-8.0.0/src/lxc/lxc_driver.c
#include "virstring.h"
#include "viraccessapicheck.h"
#include "viraccessapichecklxc.h"
@@ -3508,6 +3509,7 @@ lxcDomainAttachDeviceNetLive(virLXCDrive
@@ -3511,6 +3512,7 @@ lxcDomainAttachDeviceNetLive(virLXCDrive
case VIR_DOMAIN_NET_TYPE_NETWORK:
case VIR_DOMAIN_NET_TYPE_ETHERNET:
ignore_value(virNetDevVethDelete(veth));
@ -45,7 +45,7 @@ Index: libvirt-8.0.0/src/lxc/lxc_driver.c
break;
case VIR_DOMAIN_NET_TYPE_DIRECT:
@@ -3947,6 +3949,7 @@ lxcDomainDetachDeviceNetLive(virDomainOb
@@ -3950,6 +3952,7 @@ lxcDomainDetachDeviceNetLive(virDomainOb
virDomainAuditNet(vm, detach, NULL, "detach", false);
goto cleanup;
}
@ -53,10 +53,10 @@ Index: libvirt-8.0.0/src/lxc/lxc_driver.c
break;
/* It'd be nice to support this, but with macvlan
Index: libvirt-8.0.0/src/lxc/lxc_process.c
Index: libvirt-8.1.0/src/lxc/lxc_process.c
===================================================================
--- libvirt-8.0.0.orig/src/lxc/lxc_process.c
+++ libvirt-8.0.0/src/lxc/lxc_process.c
--- libvirt-8.1.0.orig/src/lxc/lxc_process.c
+++ libvirt-8.1.0/src/lxc/lxc_process.c
@@ -51,6 +51,7 @@
#include "virstring.h"
#include "virprocess.h"
@ -65,7 +65,7 @@ Index: libvirt-8.0.0/src/lxc/lxc_process.c
#include "netdev_bandwidth_conf.h"
#include "virutil.h"
@@ -249,6 +250,7 @@ static void virLXCProcessCleanup(virLXCD
@@ -245,6 +246,7 @@ static void virLXCProcessCleanup(virLXCD
VIR_WARN("Unable to release network device '%s'", NULLSTR(iface->ifname));
}
}

View File

@ -17,11 +17,11 @@ Signed-off-by: Martin Wilck <mwilck@suse.com>
tests/networkxml2confdata/dhcp6host-routed-network.conf | 1 -
2 files changed, 8 insertions(+), 2 deletions(-)
Index: libvirt-8.0.0/src/network/bridge_driver.c
Index: libvirt-8.1.0/src/network/bridge_driver.c
===================================================================
--- libvirt-8.0.0.orig/src/network/bridge_driver.c
+++ libvirt-8.0.0/src/network/bridge_driver.c
@@ -1347,7 +1347,14 @@ networkDnsmasqConfContents(virNetworkObj
--- libvirt-8.1.0.orig/src/network/bridge_driver.c
+++ libvirt-8.1.0/src/network/bridge_driver.c
@@ -1336,7 +1336,14 @@ networkDnsmasqConfContents(virNetworkObj
if (VIR_SOCKET_ADDR_IS_FAMILY(&ipdef->address, AF_INET)) {
if (ipdef->nranges || ipdef->nhosts) {
virBufferAddLit(&configbuf, "dhcp-no-override\n");
@ -37,10 +37,10 @@ Index: libvirt-8.0.0/src/network/bridge_driver.c
}
if (ipdef->tftproot) {
Index: libvirt-8.0.0/tests/networkxml2confdata/dhcp6host-routed-network.conf
Index: libvirt-8.1.0/tests/networkxml2confdata/dhcp6host-routed-network.conf
===================================================================
--- libvirt-8.0.0.orig/tests/networkxml2confdata/dhcp6host-routed-network.conf
+++ libvirt-8.0.0/tests/networkxml2confdata/dhcp6host-routed-network.conf
--- libvirt-8.1.0.orig/tests/networkxml2confdata/dhcp6host-routed-network.conf
+++ libvirt-8.1.0/tests/networkxml2confdata/dhcp6host-routed-network.conf
@@ -10,7 +10,6 @@ bind-dynamic
interface=virbr1
dhcp-range=192.168.122.1,static

View File

@ -2,10 +2,10 @@ Canonicalize hostarch name ppc64le to ppc64
See bnc#894956
Index: libvirt-8.0.0/src/util/virarch.c
Index: libvirt-8.1.0/src/util/virarch.c
===================================================================
--- libvirt-8.0.0.orig/src/util/virarch.c
+++ libvirt-8.0.0/src/util/virarch.c
--- libvirt-8.1.0.orig/src/util/virarch.c
+++ libvirt-8.1.0/src/util/virarch.c
@@ -222,6 +222,8 @@ virArch virArchFromHost(void)
arch = VIR_ARCH_X86_64;
} else if (STREQ(ut.machine, "arm64")) {

View File

@ -1,7 +1,7 @@
Index: libvirt-8.0.0/src/security/apparmor/libvirt-qemu
Index: libvirt-8.1.0/src/security/apparmor/libvirt-qemu
===================================================================
--- libvirt-8.0.0.orig/src/security/apparmor/libvirt-qemu
+++ libvirt-8.0.0/src/security/apparmor/libvirt-qemu
--- libvirt-8.1.0.orig/src/security/apparmor/libvirt-qemu
+++ libvirt-8.1.0/src/security/apparmor/libvirt-qemu
@@ -248,3 +248,6 @@
# /sys/bus/nd/devices
/ r, # harmless on any lsb compliant system

View File

@ -1,9 +1,9 @@
Adjust libvirt-guests service to conform to SUSE standards
Index: libvirt-8.0.0/tools/libvirt-guests.sh.in
Index: libvirt-8.1.0/tools/libvirt-guests.sh.in
===================================================================
--- libvirt-8.0.0.orig/tools/libvirt-guests.sh.in
+++ libvirt-8.0.0/tools/libvirt-guests.sh.in
--- libvirt-8.1.0.orig/tools/libvirt-guests.sh.in
+++ libvirt-8.1.0/tools/libvirt-guests.sh.in
@@ -20,10 +20,6 @@ sysconfdir="@sysconfdir@"
localstatedir="@localstatedir@"
libvirtd="@sbindir@"/libvirtd

View File

@ -3,10 +3,10 @@ Disable TLS by default
On SUSE distros, the default is for libvirtd to listen only on the
Unix Domain Socket. The libvirt client still provides remote access
via a SSH tunnel.
Index: libvirt-8.0.0/src/remote/remote_daemon_config.c
Index: libvirt-8.1.0/src/remote/remote_daemon_config.c
===================================================================
--- libvirt-8.0.0.orig/src/remote/remote_daemon_config.c
+++ libvirt-8.0.0/src/remote/remote_daemon_config.c
--- libvirt-8.1.0.orig/src/remote/remote_daemon_config.c
+++ libvirt-8.1.0/src/remote/remote_daemon_config.c
@@ -98,7 +98,7 @@ daemonConfigNew(bool privileged G_GNUC_U
#ifdef WITH_IP
@ -16,10 +16,10 @@ Index: libvirt-8.0.0/src/remote/remote_daemon_config.c
# else /* ! LIBVIRTD */
data->listen_tls = false; /* Always honoured, --listen doesn't exist. */
# endif /* ! LIBVIRTD */
Index: libvirt-8.0.0/src/remote/libvirtd.conf.in
Index: libvirt-8.1.0/src/remote/libvirtd.conf.in
===================================================================
--- libvirt-8.0.0.orig/src/remote/libvirtd.conf.in
+++ libvirt-8.0.0/src/remote/libvirtd.conf.in
--- libvirt-8.1.0.orig/src/remote/libvirtd.conf.in
+++ libvirt-8.1.0/src/remote/libvirtd.conf.in
@@ -17,8 +17,8 @@
# It is necessary to setup a CA and issue server certificates before
# using this capability.
@ -31,10 +31,10 @@ Index: libvirt-8.0.0/src/remote/libvirtd.conf.in
# Listen for unencrypted TCP connections on the public TCP/IP port.
# NB, must pass the --listen flag to the @DAEMON_NAME@ process for this to
Index: libvirt-8.0.0/src/remote/test_libvirtd.aug.in
Index: libvirt-8.1.0/src/remote/test_libvirtd.aug.in
===================================================================
--- libvirt-8.0.0.orig/src/remote/test_libvirtd.aug.in
+++ libvirt-8.0.0/src/remote/test_libvirtd.aug.in
--- libvirt-8.1.0.orig/src/remote/test_libvirtd.aug.in
+++ libvirt-8.1.0/src/remote/test_libvirtd.aug.in
@@ -3,7 +3,7 @@ module Test_@DAEMON_NAME@ =
test @DAEMON_NAME_UC@.lns get conf =

View File

@ -6,10 +6,10 @@ autoballooning. This patch changes libvirt to also disable autoballooning
by default. It can only be enabled with the 'autoballoon' setting in
libxl.conf. See jsc#SLE-3059 for more details.
Index: libvirt-8.0.0/src/libxl/libxl.conf
Index: libvirt-8.1.0/src/libxl/libxl.conf
===================================================================
--- libvirt-8.0.0.orig/src/libxl/libxl.conf
+++ libvirt-8.0.0/src/libxl/libxl.conf
--- libvirt-8.1.0.orig/src/libxl/libxl.conf
+++ libvirt-8.1.0/src/libxl/libxl.conf
@@ -4,12 +4,11 @@
# Enable autoballooning of domain0
@ -27,11 +27,11 @@ Index: libvirt-8.0.0/src/libxl/libxl.conf
# In order to prevent accidentally starting two domains that
Index: libvirt-8.0.0/src/libxl/libxl_conf.c
Index: libvirt-8.1.0/src/libxl/libxl_conf.c
===================================================================
--- libvirt-8.0.0.orig/src/libxl/libxl_conf.c
+++ libvirt-8.0.0/src/libxl/libxl_conf.c
@@ -1746,15 +1746,12 @@ libxlMakeBuildInfoVfb(virPortAllocatorRa
--- libvirt-8.1.0.orig/src/libxl/libxl_conf.c
+++ libvirt-8.1.0/src/libxl/libxl_conf.c
@@ -1732,15 +1732,12 @@ libxlMakeBuildInfoVfb(virPortAllocatorRa
/*
* Get domain0 autoballoon configuration. Honor user-specified
* setting in libxl.conf first. If not specified, autoballooning
@ -48,7 +48,7 @@ Index: libvirt-8.0.0/src/libxl/libxl_conf.c
int res;
res = virConfGetValueBool(conf, "autoballoon", &cfg->autoballoon);
@@ -1763,15 +1760,8 @@ libxlGetAutoballoonConf(libxlDriverConfi
@@ -1749,15 +1746,8 @@ libxlGetAutoballoonConf(libxlDriverConfi
else if (res == 1)
return 0;
@ -66,10 +66,10 @@ Index: libvirt-8.0.0/src/libxl/libxl_conf.c
return 0;
}
Index: libvirt-8.0.0/src/libxl/test_libvirtd_libxl.aug.in
Index: libvirt-8.1.0/src/libxl/test_libvirtd_libxl.aug.in
===================================================================
--- libvirt-8.0.0.orig/src/libxl/test_libvirtd_libxl.aug.in
+++ libvirt-8.0.0/src/libxl/test_libvirtd_libxl.aug.in
--- libvirt-8.1.0.orig/src/libxl/test_libvirtd_libxl.aug.in
+++ libvirt-8.1.0/src/libxl/test_libvirtd_libxl.aug.in
@@ -2,7 +2,7 @@ module Test_libvirtd_libxl =
@CONFIG@

View File

@ -7,10 +7,10 @@ suse-qemu-conf-secdriver.patch, suse-qemu-conf-lockmgr.patch,
etc.), but for now they are all lumped together in this
single patch.
Index: libvirt-8.0.0/src/qemu/qemu.conf
Index: libvirt-8.1.0/src/qemu/qemu.conf
===================================================================
--- libvirt-8.0.0.orig/src/qemu/qemu.conf
+++ libvirt-8.0.0/src/qemu/qemu.conf
--- libvirt-8.1.0.orig/src/qemu/qemu.conf
+++ libvirt-8.1.0/src/qemu/qemu.conf
@@ -491,10 +491,19 @@
# isolation, but it cannot appear in a list of drivers.
#
@ -60,10 +60,10 @@ Index: libvirt-8.0.0/src/qemu/qemu.conf
#
#lock_manager = "lockd"
Index: libvirt-8.0.0/src/qemu/qemu_conf.c
Index: libvirt-8.1.0/src/qemu/qemu_conf.c
===================================================================
--- libvirt-8.0.0.orig/src/qemu/qemu_conf.c
+++ libvirt-8.0.0/src/qemu/qemu_conf.c
--- libvirt-8.1.0.orig/src/qemu/qemu_conf.c
+++ libvirt-8.1.0/src/qemu/qemu_conf.c
@@ -272,7 +272,7 @@ virQEMUDriverConfig *virQEMUDriverConfig
cfg->slirpHelperName = g_strdup(QEMU_SLIRP_HELPER);
cfg->dbusDaemonName = g_strdup(QEMU_DBUS_DAEMON);
@ -73,10 +73,10 @@ Index: libvirt-8.0.0/src/qemu/qemu_conf.c
cfg->securityRequireConfined = false;
cfg->keepAliveInterval = 5;
Index: libvirt-8.0.0/src/qemu/test_libvirtd_qemu.aug.in
Index: libvirt-8.1.0/src/qemu/test_libvirtd_qemu.aug.in
===================================================================
--- libvirt-8.0.0.orig/src/qemu/test_libvirtd_qemu.aug.in
+++ libvirt-8.0.0/src/qemu/test_libvirtd_qemu.aug.in
--- libvirt-8.1.0.orig/src/qemu/test_libvirtd_qemu.aug.in
+++ libvirt-8.1.0/src/qemu/test_libvirtd_qemu.aug.in
@@ -45,6 +45,7 @@ module Test_libvirtd_qemu =
{ "remote_websocket_port_min" = "5700" }
{ "remote_websocket_port_max" = "65535" }

View File

@ -5,10 +5,10 @@ advertised and used by libvirt are automatically detected. Until upstream
removes the old DEFAULT_LOADER_NVRAM approach and associated code, this
patch will stay.
Index: libvirt-8.0.0/src/qemu/qemu.conf
Index: libvirt-8.1.0/src/qemu/qemu.conf
===================================================================
--- libvirt-8.0.0.orig/src/qemu/qemu.conf
+++ libvirt-8.0.0/src/qemu/qemu.conf
--- libvirt-8.1.0.orig/src/qemu/qemu.conf
+++ libvirt-8.1.0/src/qemu/qemu.conf
@@ -857,10 +857,9 @@
# for x86_64 and i686, but it's AAVMF for aarch64. The libvirt default
# follows this scheme.
@ -23,10 +23,10 @@ Index: libvirt-8.0.0/src/qemu/qemu.conf
#]
# The backend to use for handling stdout/stderr output from
Index: libvirt-8.0.0/src/qemu/qemu_conf.c
Index: libvirt-8.1.0/src/qemu/qemu_conf.c
===================================================================
--- libvirt-8.0.0.orig/src/qemu/qemu_conf.c
+++ libvirt-8.0.0/src/qemu/qemu_conf.c
--- libvirt-8.1.0.orig/src/qemu/qemu_conf.c
+++ libvirt-8.1.0/src/qemu/qemu_conf.c
@@ -98,10 +98,9 @@ qemuDriverUnlock(virQEMUDriver *driver)
#ifndef DEFAULT_LOADER_NVRAM
@ -41,10 +41,10 @@ Index: libvirt-8.0.0/src/qemu/qemu_conf.c
#endif
Index: libvirt-8.0.0/src/security/virt-aa-helper.c
Index: libvirt-8.1.0/src/security/virt-aa-helper.c
===================================================================
--- libvirt-8.0.0.orig/src/security/virt-aa-helper.c
+++ libvirt-8.0.0/src/security/virt-aa-helper.c
--- libvirt-8.1.0.orig/src/security/virt-aa-helper.c
+++ libvirt-8.1.0/src/security/virt-aa-helper.c
@@ -480,7 +480,8 @@ valid_path(const char *path, const bool
"/usr/share/ovmf/", /* for OVMF images */
"/usr/share/AAVMF/", /* for AAVMF images */
@ -55,10 +55,10 @@ Index: libvirt-8.0.0/src/security/virt-aa-helper.c
};
/* override the above with these */
const char * const override[] = {
Index: libvirt-8.0.0/src/qemu/test_libvirtd_qemu.aug.in
Index: libvirt-8.1.0/src/qemu/test_libvirtd_qemu.aug.in
===================================================================
--- libvirt-8.0.0.orig/src/qemu/test_libvirtd_qemu.aug.in
+++ libvirt-8.0.0/src/qemu/test_libvirtd_qemu.aug.in
--- libvirt-8.1.0.orig/src/qemu/test_libvirtd_qemu.aug.in
+++ libvirt-8.1.0/src/qemu/test_libvirtd_qemu.aug.in
@@ -96,10 +96,9 @@ module Test_libvirtd_qemu =
{ "migration_port_max" = "49215" }
{ "log_timestamp" = "0" }

View File

@ -5,11 +5,11 @@ June 2021 ovmf only supports one firmware for Xen. This patch adjusts
the firmware path to match the one provided by the ovmf package.
Index: libvirt-8.0.0/src/libxl/libxl_conf.c
Index: libvirt-8.1.0/src/libxl/libxl_conf.c
===================================================================
--- libvirt-8.0.0.orig/src/libxl/libxl_conf.c
+++ libvirt-8.0.0/src/libxl/libxl_conf.c
@@ -1797,7 +1797,7 @@ libxlDriverConfigNew(void)
--- libvirt-8.1.0.orig/src/libxl/libxl_conf.c
+++ libvirt-8.1.0/src/libxl/libxl_conf.c
@@ -1783,7 +1783,7 @@ libxlDriverConfigNew(void)
cfg->firmwares = g_new0(virFirmware *, 1);
cfg->nfirmwares = 1;
cfg->firmwares[0] = g_new0(virFirmware, 1);

View File

@ -1,7 +1,7 @@
Index: libvirt-8.0.0/tools/virt-create-rootfs
Index: libvirt-8.1.0/tools/virt-create-rootfs
===================================================================
--- /dev/null
+++ libvirt-8.0.0/tools/virt-create-rootfs
+++ libvirt-8.1.0/tools/virt-create-rootfs
@@ -0,0 +1,236 @@
+#!/bin/sh
+set -e
@ -239,10 +239,10 @@ Index: libvirt-8.0.0/tools/virt-create-rootfs
+ echo "pts/0" >> "$ROOT/etc/securetty"
+ chroot "$ROOT" /usr/bin/passwd
+fi
Index: libvirt-8.0.0/docs/manpages/virt-create-rootfs.rst
Index: libvirt-8.1.0/docs/manpages/virt-create-rootfs.rst
===================================================================
--- /dev/null
+++ libvirt-8.0.0/docs/manpages/virt-create-rootfs.rst
+++ libvirt-8.1.0/docs/manpages/virt-create-rootfs.rst
@@ -0,0 +1,88 @@
+==================
+virt-create-rootfs
@ -332,10 +332,10 @@ Index: libvirt-8.0.0/docs/manpages/virt-create-rootfs.rst
+========
+
+virsh(1), `https://libvirt.org/ <https://libvirt.org/>`_
Index: libvirt-8.0.0/docs/manpages/meson.build
Index: libvirt-8.1.0/docs/manpages/meson.build
===================================================================
--- libvirt-8.0.0.orig/docs/manpages/meson.build
+++ libvirt-8.0.0/docs/manpages/meson.build
--- libvirt-8.1.0.orig/docs/manpages/meson.build
+++ libvirt-8.1.0/docs/manpages/meson.build
@@ -20,6 +20,7 @@ docs_man_files = [
{ 'name': 'virt-pki-validate', 'section': '1', 'install': true },
{ 'name': 'virt-qemu-run', 'section': '1', 'install': conf.has('WITH_QEMU') },
@ -344,10 +344,10 @@ Index: libvirt-8.0.0/docs/manpages/meson.build
{ 'name': 'libvirt-guests', 'section': '8', 'install': conf.has('WITH_LIBVIRTD') },
{ 'name': 'libvirtd', 'section': '8', 'install': conf.has('WITH_LIBVIRTD') },
Index: libvirt-8.0.0/tools/meson.build
Index: libvirt-8.1.0/tools/meson.build
===================================================================
--- libvirt-8.0.0.orig/tools/meson.build
+++ libvirt-8.0.0/tools/meson.build
--- libvirt-8.1.0.orig/tools/meson.build
+++ libvirt-8.1.0/tools/meson.build
@@ -154,6 +154,8 @@ else
virsh_icon_res = []
endif