Accepting request 959272 from home:jfehlig:branches:Virtualization

- qemu: Fix segmentation fault in qemuDomainUndefineFlags
  823a62ec-qemu-fix-undefine-crash.patch

- 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

OBS-URL: https://build.opensuse.org/request/show/959272
OBS-URL: https://build.opensuse.org/package/show/Virtualization/libvirt?expand=0&rev=925
This commit is contained in:
James Fehlig 2022-03-03 17:31:09 +00:00 committed by Git OBS Bridge
parent c7ef86dd34
commit 061a75b436
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.c
create mode 100644 src/conf/domain_stats.h 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 --- /dev/null
+++ libvirt-8.0.0/src/conf/domain_stats.c +++ libvirt-8.1.0/src/conf/domain_stats.c
@@ -0,0 +1,117 @@ @@ -0,0 +1,117 @@
+/* +/*
+ * domain_stats.c: domain stats extraction helpers + * 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 +#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 --- /dev/null
+++ libvirt-8.0.0/src/conf/domain_stats.h +++ libvirt-8.1.0/src/conf/domain_stats.h
@@ -0,0 +1,60 @@ @@ -0,0 +1,60 @@
+/* +/*
+ * domain_stats.h: domain stats extraction helpers + * domain_stats.h: domain stats extraction helpers
@ -205,10 +205,10 @@ Index: libvirt-8.0.0/src/conf/domain_stats.h
+ virTypedParamList *params); + virTypedParamList *params);
+ +
+#endif /* __DOMAIN_STATS_H */ +#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.1.0.orig/src/libvirt_private.syms
+++ libvirt-8.0.0/src/libvirt_private.syms +++ libvirt-8.1.0/src/libvirt_private.syms
@@ -772,6 +772,11 @@ virDomainConfNWFilterTeardown; @@ -772,6 +772,11 @@ virDomainConfNWFilterTeardown;
virDomainConfVMNWFilterTeardown; virDomainConfVMNWFilterTeardown;
@ -221,7 +221,7 @@ Index: libvirt-8.0.0/src/libvirt_private.syms
# conf/domain_validate.h # conf/domain_validate.h
virDomainActualNetDefValidate; virDomainActualNetDefValidate;
virDomainDefValidate; virDomainDefValidate;
@@ -1942,6 +1947,7 @@ virCgroupGetMemoryUsage; @@ -1963,6 +1968,7 @@ virCgroupGetMemoryUsage;
virCgroupGetMemSwapHardLimit; virCgroupGetMemSwapHardLimit;
virCgroupGetMemSwapUsage; virCgroupGetMemSwapUsage;
virCgroupGetPercpuStats; virCgroupGetPercpuStats;
@ -229,10 +229,10 @@ Index: libvirt-8.0.0/src/libvirt_private.syms
virCgroupHasController; virCgroupHasController;
virCgroupHasEmptyTasks; virCgroupHasEmptyTasks;
virCgroupKillPainfully; 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.1.0.orig/src/qemu/qemu_driver.c
+++ libvirt-8.0.0/src/qemu/qemu_driver.c +++ libvirt-8.1.0/src/qemu/qemu_driver.c
@@ -68,6 +68,7 @@ @@ -68,6 +68,7 @@
#include "virarptable.h" #include "virarptable.h"
#include "viruuid.h" #include "viruuid.h"
@ -241,7 +241,7 @@ Index: libvirt-8.0.0/src/qemu/qemu_driver.c
#include "domain_audit.h" #include "domain_audit.h"
#include "domain_cgroup.h" #include "domain_cgroup.h"
#include "domain_driver.h" #include "domain_driver.h"
@@ -17412,13 +17413,7 @@ qemuDomainGetStatsState(virQEMUDriver *d @@ -17422,13 +17423,7 @@ qemuDomainGetStatsState(virQEMUDriver *d
virTypedParamList *params, virTypedParamList *params,
unsigned int privflags G_GNUC_UNUSED) 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) virTypedParamList *params)
{ {
qemuDomainObjPrivate *priv = dom->privateData; qemuDomainObjPrivate *priv = dom->privateData;
@ -283,7 +283,7 @@ Index: libvirt-8.0.0/src/qemu/qemu_driver.c
} }
static int static int
@@ -17921,76 +17902,15 @@ qemuDomainGetStatsVcpu(virQEMUDriver *dr @@ -17931,76 +17912,15 @@ qemuDomainGetStatsVcpu(virQEMUDriver *dr
return ret; return ret;
} }
@ -361,10 +361,10 @@ Index: libvirt-8.0.0/src/qemu/qemu_driver.c
/* refresh information by opening images on the disk */ /* refresh information by opening images on the disk */
static int 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.1.0.orig/src/util/vircgroup.c
+++ libvirt-8.0.0/src/util/vircgroup.c +++ libvirt-8.1.0/src/util/vircgroup.c
@@ -3022,6 +3022,31 @@ virCgroupGetInode(virCgroup *cgroup) @@ -3022,6 +3022,31 @@ virCgroupGetInode(virCgroup *cgroup)
return st.st_ino; return st.st_ino;
} }
@ -412,10 +412,10 @@ Index: libvirt-8.0.0/src/util/vircgroup.c
int int
virCgroupNewPartition(const char *path G_GNUC_UNUSED, virCgroupNewPartition(const char *path G_GNUC_UNUSED,
bool create 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.1.0.orig/src/util/vircgroup.h
+++ libvirt-8.0.0/src/util/vircgroup.h +++ libvirt-8.1.0/src/util/vircgroup.h
@@ -23,6 +23,7 @@ @@ -23,6 +23,7 @@
#include "virbitmap.h" #include "virbitmap.h"
@ -432,10 +432,10 @@ Index: libvirt-8.0.0/src/util/vircgroup.h
+ virTypedParamList *params); + virTypedParamList *params);
+ +
int virCgroupGetInode(virCgroup *cgroup); 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.1.0.orig/src/conf/meson.build
+++ libvirt-8.0.0/src/conf/meson.build +++ libvirt-8.1.0/src/conf/meson.build
@@ -15,6 +15,7 @@ domain_conf_sources = [ @@ -15,6 +15,7 @@ domain_conf_sources = [
'domain_conf.c', 'domain_conf.c',
'domain_nwfilter.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 ++++++++++++++++++++++++++++++++++++++++++++++++ src/libxl/libxl_driver.c | 91 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 91 insertions(+) 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.1.0.orig/src/libxl/libxl_driver.c
+++ libvirt-8.0.0/src/libxl/libxl_driver.c +++ libvirt-8.1.0/src/libxl/libxl_driver.c
@@ -5264,6 +5264,95 @@ libxlDomainMemoryStats(virDomainPtr dom, @@ -5264,6 +5264,95 @@ libxlDomainMemoryStats(virDomainPtr dom,
#undef LIBXL_SET_MEMSTAT #undef LIBXL_SET_MEMSTAT
@ -119,7 +119,7 @@ Index: libvirt-8.0.0/src/libxl/libxl_driver.c
static int static int
libxlDomainGetJobInfo(virDomainPtr dom, libxlDomainGetJobInfo(virDomainPtr dom,
virDomainJobInfoPtr info) virDomainJobInfoPtr info)
@@ -6577,6 +6666,7 @@ static virHypervisorDriver libxlHypervis @@ -6586,6 +6675,7 @@ static virHypervisorDriver libxlHypervis
.domainGetNumaParameters = libxlDomainGetNumaParameters, /* 1.1.1 */ .domainGetNumaParameters = libxlDomainGetNumaParameters, /* 1.1.1 */
.nodeGetFreeMemory = libxlNodeGetFreeMemory, /* 0.9.0 */ .nodeGetFreeMemory = libxlNodeGetFreeMemory, /* 0.9.0 */
.nodeGetCellsFreeMemory = libxlNodeGetCellsFreeMemory, /* 1.1.1 */ .nodeGetCellsFreeMemory = libxlNodeGetCellsFreeMemory, /* 1.1.1 */
@ -127,10 +127,10 @@ Index: libvirt-8.0.0/src/libxl/libxl_driver.c
.domainGetJobInfo = libxlDomainGetJobInfo, /* 1.3.1 */ .domainGetJobInfo = libxlDomainGetJobInfo, /* 1.3.1 */
.domainGetJobStats = libxlDomainGetJobStats, /* 1.3.1 */ .domainGetJobStats = libxlDomainGetJobStats, /* 1.3.1 */
.domainMemoryStats = libxlDomainMemoryStats, /* 1.3.0 */ .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.1.0.orig/src/libxl/libxl_api_wrapper.h
+++ libvirt-8.0.0/src/libxl/libxl_api_wrapper.h +++ libvirt-8.1.0/src/libxl/libxl_api_wrapper.h
@@ -215,3 +215,18 @@ libxlSetMemoryTargetWrapper(libxl_ctx *c @@ -215,3 +215,18 @@ libxlSetMemoryTargetWrapper(libxl_ctx *c
return ret; return ret;

View File

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

View File

@ -9,10 +9,10 @@ them using the existing API.
src/lxc/lxc_driver.c | 138 +++++++++++++++++++++++++++++++++++++++++++++++++++ src/lxc/lxc_driver.c | 138 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 138 insertions(+) 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.1.0.orig/src/lxc/lxc_driver.c
+++ libvirt-8.0.0/src/lxc/lxc_driver.c +++ libvirt-8.1.0/src/lxc/lxc_driver.c
@@ -74,6 +74,8 @@ @@ -74,6 +74,8 @@
#include "netdev_bandwidth_conf.h" #include "netdev_bandwidth_conf.h"
#include "virsocket.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 #define VIR_FROM_THIS VIR_FROM_LXC
@@ -5036,6 +5038,128 @@ lxcDomainHasManagedSaveImage(virDomainPt @@ -5039,6 +5041,128 @@ lxcDomainHasManagedSaveImage(virDomainPt
return ret; return ret;
} }
@ -151,7 +151,7 @@ Index: libvirt-8.0.0/src/lxc/lxc_driver.c
/* Function Tables */ /* Function Tables */
static virHypervisorDriver lxcHypervisorDriver = { static virHypervisorDriver lxcHypervisorDriver = {
@@ -5133,6 +5257,7 @@ static virHypervisorDriver lxcHypervisor @@ -5136,6 +5260,7 @@ static virHypervisorDriver lxcHypervisor
.nodeGetFreePages = lxcNodeGetFreePages, /* 1.2.6 */ .nodeGetFreePages = lxcNodeGetFreePages, /* 1.2.6 */
.nodeAllocPages = lxcNodeAllocPages, /* 1.2.9 */ .nodeAllocPages = lxcNodeAllocPages, /* 1.2.9 */
.domainHasManagedSaveImage = lxcDomainHasManagedSaveImage, /* 1.2.13 */ .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> 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.1.0.orig/src/cpu_map/ppc64_POWER8.xml
+++ libvirt-8.0.0/src/cpu_map/ppc64_POWER8.xml +++ libvirt-8.1.0/src/cpu_map/ppc64_POWER8.xml
@@ -4,5 +4,7 @@ @@ -4,5 +4,7 @@
<pvr value='0x004b0000' mask='0xffff0000'/> <pvr value='0x004b0000' mask='0xffff0000'/>
<pvr value='0x004c0000' 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.1.0.orig/tools/virsh.c
+++ libvirt-8.0.0/tools/virsh.c +++ libvirt-8.1.0/tools/virsh.c
@@ -552,6 +552,8 @@ virshShowVersion(vshControl *ctl G_GNUC_ @@ -551,6 +551,8 @@ virshShowVersion(vshControl *ctl G_GNUC_
vshPrint(ctl, " Interface"); vshPrint(ctl, " Interface");
# if defined(WITH_NETCF) # if defined(WITH_NETCF)
vshPrint(ctl, " netcf"); vshPrint(ctl, " netcf");
@ -11,10 +11,10 @@ Index: libvirt-8.0.0/tools/virsh.c
# elif defined(WITH_UDEV) # elif defined(WITH_UDEV)
vshPrint(ctl, " udev"); vshPrint(ctl, " udev");
# endif # 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.1.0.orig/src/interface/interface_backend_netcf.c
+++ libvirt-8.0.0/src/interface/interface_backend_netcf.c +++ libvirt-8.1.0/src/interface/interface_backend_netcf.c
@@ -21,7 +21,12 @@ @@ -21,7 +21,12 @@
#include <config.h> #include <config.h>
@ -78,7 +78,7 @@ Index: libvirt-8.0.0/src/interface/interface_backend_netcf.c
/* open netcf */ /* open netcf */
if (ncf_init(&driver->netcf, NULL) != 0) { if (ncf_init(&driver->netcf, NULL) != 0) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s", virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
@@ -1093,6 +1133,7 @@ static int netcfInterfaceIsActive(virInt @@ -1089,6 +1129,7 @@ static int netcfInterfaceIsActive(virInt
return ret; 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) static int netcfInterfaceChangeBegin(virConnectPtr conn, unsigned int flags)
{ {
int ret; int ret;
@@ -1167,6 +1208,7 @@ static int netcfInterfaceChangeRollback( @@ -1163,6 +1204,7 @@ static int netcfInterfaceChangeRollback(
virObjectUnlock(driver); virObjectUnlock(driver);
return ret; return ret;
} }
@ -94,7 +94,7 @@ Index: libvirt-8.0.0/src/interface/interface_backend_netcf.c
static virInterfaceDriver interfaceDriver = { static virInterfaceDriver interfaceDriver = {
.name = INTERFACE_DRIVER_NAME, .name = INTERFACE_DRIVER_NAME,
@@ -1183,9 +1225,11 @@ static virInterfaceDriver interfaceDrive @@ -1179,9 +1221,11 @@ static virInterfaceDriver interfaceDrive
.interfaceCreate = netcfInterfaceCreate, /* 0.7.0 */ .interfaceCreate = netcfInterfaceCreate, /* 0.7.0 */
.interfaceDestroy = netcfInterfaceDestroy, /* 0.7.0 */ .interfaceDestroy = netcfInterfaceDestroy, /* 0.7.0 */
.interfaceIsActive = netcfInterfaceIsActive, /* 0.7.3 */ .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) int netcfIfaceRegister(void)
{ {
@ -126,10 +126,10 @@ Index: libvirt-8.0.0/src/interface/interface_backend_netcf.c
if (virRegisterConnectDriver(&interfaceConnectDriver, false) < 0) if (virRegisterConnectDriver(&interfaceConnectDriver, false) < 0)
return -1; return -1;
if (virSetSharedInterfaceDriver(&interfaceDriver) < 0) 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.1.0.orig/src/interface/interface_driver.c
+++ libvirt-8.0.0/src/interface/interface_driver.c +++ libvirt-8.1.0/src/interface/interface_driver.c
@@ -30,8 +30,15 @@ interfaceRegister(void) @@ -30,8 +30,15 @@ interfaceRegister(void)
if (netcfIfaceRegister() == 0) if (netcfIfaceRegister() == 0)
return 0; return 0;
@ -147,11 +147,11 @@ Index: libvirt-8.0.0/src/interface/interface_driver.c
if (udevIfaceRegister() == 0) if (udevIfaceRegister() == 0)
return 0; return 0;
#endif /* WITH_UDEV */ #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.1.0.orig/meson.build
+++ libvirt-8.0.0/meson.build +++ libvirt-8.1.0/meson.build
@@ -1098,6 +1098,12 @@ else @@ -1067,6 +1067,12 @@ else
netcf_dep = dependency('', required: false) netcf_dep = dependency('', required: false)
endif endif
@ -164,7 +164,7 @@ Index: libvirt-8.0.0/meson.build
have_gnu_gettext_tools = false have_gnu_gettext_tools = false
if not get_option('nls').disabled() if not get_option('nls').disabled()
have_gettext = cc.has_function('gettext') 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') error('openwsman is required for the Hyper-V driver')
endif endif
@ -177,7 +177,7 @@ Index: libvirt-8.0.0/meson.build
endif endif
if not get_option('driver_libxl').disabled() and conf.has('WITH_LIBVIRTD') 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(), 'libssh2': libssh2_dep.found(),
'libutil': libutil_dep.found(), 'libutil': libutil_dep.found(),
'netcf': conf.has('WITH_NETCF'), 'netcf': conf.has('WITH_NETCF'),
@ -185,10 +185,10 @@ Index: libvirt-8.0.0/meson.build
'NLS': have_gnu_gettext_tools, 'NLS': have_gnu_gettext_tools,
'numactl': numactl_dep.found(), 'numactl': numactl_dep.found(),
'openwsman': openwsman_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.1.0.orig/src/interface/meson.build
+++ libvirt-8.0.0/src/interface/meson.build +++ libvirt-8.1.0/src/interface/meson.build
@@ -2,7 +2,7 @@ interface_driver_sources = [ @@ -2,7 +2,7 @@ interface_driver_sources = [
'interface_driver.c', 'interface_driver.c',
] ]
@ -206,10 +206,10 @@ Index: libvirt-8.0.0/src/interface/meson.build
udev_dep, udev_dep,
], ],
'link_args': [ '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.1.0.orig/meson_options.txt
+++ libvirt-8.0.0/meson_options.txt +++ libvirt-8.1.0/meson_options.txt
@@ -29,6 +29,7 @@ option('libpcap', type: 'feature', value @@ -29,6 +29,7 @@ option('libpcap', type: 'feature', value
option('libssh', type: 'feature', value: 'auto', description: 'libssh support') option('libssh', type: 'feature', value: 'auto', description: 'libssh support')
option('libssh2', type: 'feature', value: 'auto', description: 'libssh2 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> Fri Feb 18 18:25:46 UTC 2022 - James Fehlig <jfehlig@suse.com>

View File

@ -158,7 +158,7 @@
Name: libvirt Name: libvirt
URL: http://libvirt.org/ URL: http://libvirt.org/
Version: 8.0.0 Version: 8.1.0
Release: 0 Release: 0
Summary: Library providing a virtualization API Summary: Library providing a virtualization API
License: LGPL-2.1-or-later License: LGPL-2.1-or-later
@ -233,7 +233,6 @@ BuildRequires: apparmor-rpm-macros
BuildRequires: libapparmor-devel BuildRequires: libapparmor-devel
%endif %endif
BuildRequires: cyrus-sasl-devel BuildRequires: cyrus-sasl-devel
BuildRequires: dnsmasq >= 2.41
BuildRequires: ebtables BuildRequires: ebtables
BuildRequires: iptables BuildRequires: iptables
BuildRequires: polkit >= 0.112 BuildRequires: polkit >= 0.112
@ -301,15 +300,7 @@ Source6: libvirtd-relocation-server.xml
Source99: baselibs.conf Source99: baselibs.conf
Source100: %{name}-rpmlintrc Source100: %{name}-rpmlintrc
# Upstream patches # Upstream patches
Patch0: 3be5ba11-libvirt-guests-install.patch Patch0: 823a62ec-qemu-fix-undefine-crash.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
# Patches pending upstream review # Patches pending upstream review
Patch100: libxl-dom-reset.patch Patch100: libxl-dom-reset.patch
Patch101: network-don-t-use-dhcp-authoritative-on-static-netwo.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 %install
%meson_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) # remove currently unsupported locale(s)
for dir in %{buildroot}/usr/share/locale/* for dir in %{buildroot}/usr/share/locale/*
do do
@ -1342,7 +1320,6 @@ fi
%{_sbindir}/virtlockd %{_sbindir}/virtlockd
%dir %{_libdir}/%{name} %dir %{_libdir}/%{name}
%attr(0755, root, root) %{_libdir}/%{name}/libvirt-guests.sh %attr(0755, root, root) %{_libdir}/%{name}/libvirt-guests.sh
%dir %attr(0700, root, root) %{_sysconfdir}/%{name}/
%dir %attr(0700, root, root) %{_sysconfdir}/%{name}/hooks %dir %attr(0700, root, root) %{_sysconfdir}/%{name}/hooks
%{_unitdir}/libvirtd.service %{_unitdir}/libvirtd.service
%{_unitdir}/libvirtd.socket %{_unitdir}/libvirtd.socket
@ -1393,6 +1370,7 @@ fi
%{_datadir}/augeas/lenses/tests/test_libvirt_lockd.aug %{_datadir}/augeas/lenses/tests/test_libvirt_lockd.aug
%{_datadir}/bash-completion/completions/virt-admin %{_datadir}/bash-completion/completions/virt-admin
%dir %{_localstatedir}/lib/%{name}/ %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}/images/
%dir %attr(0711, root, root) %{_localstatedir}/lib/%{name}/filesystems/ %dir %attr(0711, root, root) %{_localstatedir}/lib/%{name}/filesystems/
%dir %attr(0711, root, root) %{_localstatedir}/lib/%{name}/boot/ %dir %attr(0711, root, root) %{_localstatedir}/lib/%{name}/boot/
@ -1525,6 +1503,7 @@ fi
%{_unitdir}/virtsecretd-admin.socket %{_unitdir}/virtsecretd-admin.socket
%{_sbindir}/virtsecretd %{_sbindir}/virtsecretd
%{_sbindir}/rcvirtsecretd %{_sbindir}/rcvirtsecretd
%dir %attr(0700, root, root) %{_sysconfdir}/%{name}/secrets/
%dir %{_libdir}/%{name}/connection-driver %dir %{_libdir}/%{name}/connection-driver
%{_libdir}/%{name}/connection-driver/libvirt_driver_secret.so %{_libdir}/%{name}/connection-driver/libvirt_driver_secret.so
%doc %{_mandir}/man8/virtsecretd.8* %doc %{_mandir}/man8/virtsecretd.8*
@ -1542,6 +1521,8 @@ fi
%{_sbindir}/virtstoraged %{_sbindir}/virtstoraged
%{_sbindir}/rcvirtstoraged %{_sbindir}/rcvirtstoraged
%attr(0755, root, root) %{_libdir}/%{name}/libvirt_parthelper %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 %dir %{_libdir}/%{name}/connection-driver
%{_libdir}/%{name}/connection-driver/libvirt_driver_storage.so %{_libdir}/%{name}/connection-driver/libvirt_driver_storage.so
%dir %{_libdir}/%{name}/storage-backend %dir %{_libdir}/%{name}/storage-backend
@ -1603,6 +1584,7 @@ fi
%config(noreplace) %{_sysconfdir}/%{name}/qemu.conf %config(noreplace) %{_sysconfdir}/%{name}/qemu.conf
%config(noreplace) %{_sysconfdir}/%{name}/qemu-lockd.conf %config(noreplace) %{_sysconfdir}/%{name}/qemu-lockd.conf
%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.qemu %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(0751, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/%{name}/qemu/
%dir %attr(0750, root, root) %{_localstatedir}/cache/%{name}/qemu/ %dir %attr(0750, root, root) %{_localstatedir}/cache/%{name}/qemu/
%dir %attr(0700, root, root) %{_localstatedir}/log/%{name}/qemu/ %dir %attr(0700, root, root) %{_localstatedir}/log/%{name}/qemu/
@ -1631,6 +1613,8 @@ fi
%{_unitdir}/virtlxcd-admin.socket %{_unitdir}/virtlxcd-admin.socket
%{_sbindir}/virtlxcd %{_sbindir}/virtlxcd
%{_sbindir}/rcvirtlxcd %{_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}/%{name}/lxc.conf
%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.lxc %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.lxc
%dir %attr(0700, root, root) %{_localstatedir}/lib/%{name}/lxc/ %dir %attr(0700, root, root) %{_localstatedir}/lib/%{name}/lxc/
@ -1661,9 +1645,15 @@ fi
%config(noreplace) %{_sysconfdir}/%{name}/libxl.conf %config(noreplace) %{_sysconfdir}/%{name}/libxl.conf
%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.libxl %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.libxl
%config(noreplace) %{_sysconfdir}/%{name}/libxl-lockd.conf %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/libvirtd_libxl.aug
%{_datadir}/augeas/lenses/tests/test_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/
%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 %attr(0700, root, root) %{_localstatedir}/log/%{name}/libxl/
%dir %{_libdir}/%{name}/connection-driver %dir %{_libdir}/%{name}/connection-driver
%{_libdir}/%{name}/connection-driver/libvirt_driver_libxl.so %{_libdir}/%{name}/connection-driver/libvirt_driver_libxl.so
@ -1719,6 +1709,7 @@ fi
%dir %{_libdir}/%{name} %dir %{_libdir}/%{name}
%files libs -f %{name}.lang %files libs -f %{name}.lang
%dir %attr(0700, root, root) %{_sysconfdir}/%{name}/
%config(noreplace) %{_sysconfdir}/%{name}/libvirt.conf %config(noreplace) %{_sysconfdir}/%{name}/libvirt.conf
%config(noreplace) %{_sysconfdir}/%{name}/libvirt-admin.conf %config(noreplace) %{_sysconfdir}/%{name}/libvirt-admin.conf
%{_libdir}/libvirt.so.* %{_libdir}/libvirt.so.*
@ -1728,7 +1719,6 @@ fi
%dir %{_datadir}/%{name}/ %dir %{_datadir}/%{name}/
%dir %{_datadir}/%{name}/schemas/ %dir %{_datadir}/%{name}/schemas/
%dir %{_datadir}/%{name}/cpu_map/ %dir %{_datadir}/%{name}/cpu_map/
%dir %attr(0755, root, root) %{_localstatedir}/lib/%{name}/
%{_datadir}/systemtap/tapset/libvirt_probes*.stp %{_datadir}/systemtap/tapset/libvirt_probes*.stp
%{_datadir}/systemtap/tapset/libvirt_functions.stp %{_datadir}/systemtap/tapset/libvirt_functions.stp
%if %{with_qemu} %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 option, but domainReset can be implemented in the libxl driver by
forcibly destroying the domain and starting it again. 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.1.0.orig/src/libxl/libxl_driver.c
+++ libvirt-8.0.0/src/libxl/libxl_driver.c +++ libvirt-8.1.0/src/libxl/libxl_driver.c
@@ -1361,6 +1361,63 @@ libxlDomainReboot(virDomainPtr dom, unsi @@ -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, libxlDomainDestroyFlags(virDomainPtr dom,
unsigned int flags) unsigned int flags)
{ {
@@ -6455,6 +6512,7 @@ static virHypervisorDriver libxlHypervis @@ -6464,6 +6521,7 @@ static virHypervisorDriver libxlHypervis
.domainShutdown = libxlDomainShutdown, /* 0.9.0 */ .domainShutdown = libxlDomainShutdown, /* 0.9.0 */
.domainShutdownFlags = libxlDomainShutdownFlags, /* 0.9.10 */ .domainShutdownFlags = libxlDomainShutdownFlags, /* 0.9.10 */
.domainReboot = libxlDomainReboot, /* 0.9.0 */ .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 +++++++++++++++++++++++++ src/libxl/libxl_conf.c | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+) 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.1.0.orig/src/libxl/libxl_conf.c
+++ libvirt-8.0.0/src/libxl/libxl_conf.c +++ libvirt-8.1.0/src/libxl/libxl_conf.c
@@ -941,6 +941,28 @@ libxlDiskSetDiscard(libxl_device_disk *x @@ -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 * static char *
libxlMakeNetworkDiskSrcStr(virStorageSource *src, libxlMakeNetworkDiskSrcStr(virStorageSource *src,
const char *username, 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->readwrite = !l_disk->src->readonly;
x_disk->is_cdrom = l_disk->device == VIR_DOMAIN_DISK_DEVICE_CDROM ? 1 : 0; x_disk->is_cdrom = l_disk->device == VIR_DOMAIN_DISK_DEVICE_CDROM ? 1 : 0;
libxlDiskSetDiscard(x_disk, l_disk->discard); libxlDiskSetDiscard(x_disk, l_disk->discard);

View File

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

View File

@ -7,11 +7,11 @@ and npiv.
For more details, see bsc#954872 and FATE#319810 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.1.0.orig/src/libxl/libxl_conf.c
+++ libvirt-8.0.0/src/libxl/libxl_conf.c +++ libvirt-8.1.0/src/libxl/libxl_conf.c
@@ -942,6 +942,20 @@ libxlDiskSetDiscard(libxl_device_disk *x @@ -944,6 +944,20 @@ libxlDiskSetDiscard(libxl_device_disk *x
} }
static void static void
@ -32,7 +32,7 @@ Index: libvirt-8.0.0/src/libxl/libxl_conf.c
libxlDiskSetCacheMode(libxl_device_disk *x_disk, int cachemode) libxlDiskSetCacheMode(libxl_device_disk *x_disk, int cachemode)
{ {
switch (cachemode) { switch (cachemode) {
@@ -1084,6 +1098,7 @@ libxlMakeNetworkDiskSrc(virStorageSource @@ -1086,6 +1100,7 @@ libxlMakeNetworkDiskSrc(virStorageSource
int int
libxlMakeDisk(virDomainDiskDef *l_disk, libxl_device_disk *x_disk) 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); const char *driver = virDomainDiskGetDriver(l_disk);
int format = virDomainDiskGetFormat(l_disk); int format = virDomainDiskGetFormat(l_disk);
int actual_type = virStorageSourceGetActualType(l_disk->src); 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) if (libxlMakeNetworkDiskSrc(l_disk->src, &x_disk->pdev_path) < 0)
return -1; return -1;
} else { } else {
@ -49,7 +49,7 @@ Index: libvirt-8.0.0/src/libxl/libxl_conf.c
} }
x_disk->vdev = g_strdup(l_disk->dst); 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; x_disk->is_cdrom = l_disk->device == VIR_DOMAIN_DISK_DEVICE_CDROM ? 1 : 0;
libxlDiskSetDiscard(x_disk, l_disk->discard); libxlDiskSetDiscard(x_disk, l_disk->discard);
libxlDiskSetCacheMode(x_disk, l_disk->cachemode); 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 + src/lxc/lxc_process.c | 1 +
3 files changed, 4 insertions(+) 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.1.0.orig/src/lxc/lxc_controller.c
+++ libvirt-8.0.0/src/lxc/lxc_controller.c +++ libvirt-8.1.0/src/lxc/lxc_controller.c
@@ -2006,6 +2006,7 @@ static int virLXCControllerDeleteInterfa @@ -1998,6 +1998,7 @@ static int virLXCControllerDeleteInterfa
if (virNetDevVethDelete(ctrl->veths[i]) < 0) if (virNetDevVethDelete(ctrl->veths[i]) < 0)
ret = -1; ret = -1;
} }
@ -25,10 +25,10 @@ Index: libvirt-8.0.0/src/lxc/lxc_controller.c
return ret; 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.1.0.orig/src/lxc/lxc_driver.c
+++ libvirt-8.0.0/src/lxc/lxc_driver.c +++ libvirt-8.1.0/src/lxc/lxc_driver.c
@@ -67,6 +67,7 @@ @@ -67,6 +67,7 @@
#include "virtime.h" #include "virtime.h"
#include "virtypedparam.h" #include "virtypedparam.h"
@ -37,7 +37,7 @@ Index: libvirt-8.0.0/src/lxc/lxc_driver.c
#include "virstring.h" #include "virstring.h"
#include "viraccessapicheck.h" #include "viraccessapicheck.h"
#include "viraccessapichecklxc.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_NETWORK:
case VIR_DOMAIN_NET_TYPE_ETHERNET: case VIR_DOMAIN_NET_TYPE_ETHERNET:
ignore_value(virNetDevVethDelete(veth)); ignore_value(virNetDevVethDelete(veth));
@ -45,7 +45,7 @@ Index: libvirt-8.0.0/src/lxc/lxc_driver.c
break; break;
case VIR_DOMAIN_NET_TYPE_DIRECT: case VIR_DOMAIN_NET_TYPE_DIRECT:
@@ -3947,6 +3949,7 @@ lxcDomainDetachDeviceNetLive(virDomainOb @@ -3950,6 +3952,7 @@ lxcDomainDetachDeviceNetLive(virDomainOb
virDomainAuditNet(vm, detach, NULL, "detach", false); virDomainAuditNet(vm, detach, NULL, "detach", false);
goto cleanup; goto cleanup;
} }
@ -53,10 +53,10 @@ Index: libvirt-8.0.0/src/lxc/lxc_driver.c
break; break;
/* It'd be nice to support this, but with macvlan /* 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.1.0.orig/src/lxc/lxc_process.c
+++ libvirt-8.0.0/src/lxc/lxc_process.c +++ libvirt-8.1.0/src/lxc/lxc_process.c
@@ -51,6 +51,7 @@ @@ -51,6 +51,7 @@
#include "virstring.h" #include "virstring.h"
#include "virprocess.h" #include "virprocess.h"
@ -65,7 +65,7 @@ Index: libvirt-8.0.0/src/lxc/lxc_process.c
#include "netdev_bandwidth_conf.h" #include "netdev_bandwidth_conf.h"
#include "virutil.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)); 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 - tests/networkxml2confdata/dhcp6host-routed-network.conf | 1 -
2 files changed, 8 insertions(+), 2 deletions(-) 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.1.0.orig/src/network/bridge_driver.c
+++ libvirt-8.0.0/src/network/bridge_driver.c +++ libvirt-8.1.0/src/network/bridge_driver.c
@@ -1347,7 +1347,14 @@ networkDnsmasqConfContents(virNetworkObj @@ -1336,7 +1336,14 @@ networkDnsmasqConfContents(virNetworkObj
if (VIR_SOCKET_ADDR_IS_FAMILY(&ipdef->address, AF_INET)) { if (VIR_SOCKET_ADDR_IS_FAMILY(&ipdef->address, AF_INET)) {
if (ipdef->nranges || ipdef->nhosts) { if (ipdef->nranges || ipdef->nhosts) {
virBufferAddLit(&configbuf, "dhcp-no-override\n"); virBufferAddLit(&configbuf, "dhcp-no-override\n");
@ -37,10 +37,10 @@ Index: libvirt-8.0.0/src/network/bridge_driver.c
} }
if (ipdef->tftproot) { 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.1.0.orig/tests/networkxml2confdata/dhcp6host-routed-network.conf
+++ libvirt-8.0.0/tests/networkxml2confdata/dhcp6host-routed-network.conf +++ libvirt-8.1.0/tests/networkxml2confdata/dhcp6host-routed-network.conf
@@ -10,7 +10,6 @@ bind-dynamic @@ -10,7 +10,6 @@ bind-dynamic
interface=virbr1 interface=virbr1
dhcp-range=192.168.122.1,static dhcp-range=192.168.122.1,static

View File

@ -2,10 +2,10 @@ Canonicalize hostarch name ppc64le to ppc64
See bnc#894956 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.1.0.orig/src/util/virarch.c
+++ libvirt-8.0.0/src/util/virarch.c +++ libvirt-8.1.0/src/util/virarch.c
@@ -222,6 +222,8 @@ virArch virArchFromHost(void) @@ -222,6 +222,8 @@ virArch virArchFromHost(void)
arch = VIR_ARCH_X86_64; arch = VIR_ARCH_X86_64;
} else if (STREQ(ut.machine, "arm64")) { } 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.1.0.orig/src/security/apparmor/libvirt-qemu
+++ libvirt-8.0.0/src/security/apparmor/libvirt-qemu +++ libvirt-8.1.0/src/security/apparmor/libvirt-qemu
@@ -248,3 +248,6 @@ @@ -248,3 +248,6 @@
# /sys/bus/nd/devices # /sys/bus/nd/devices
/ r, # harmless on any lsb compliant system / r, # harmless on any lsb compliant system

View File

@ -1,9 +1,9 @@
Adjust libvirt-guests service to conform to SUSE standards 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.1.0.orig/tools/libvirt-guests.sh.in
+++ libvirt-8.0.0/tools/libvirt-guests.sh.in +++ libvirt-8.1.0/tools/libvirt-guests.sh.in
@@ -20,10 +20,6 @@ sysconfdir="@sysconfdir@" @@ -20,10 +20,6 @@ sysconfdir="@sysconfdir@"
localstatedir="@localstatedir@" localstatedir="@localstatedir@"
libvirtd="@sbindir@"/libvirtd 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 On SUSE distros, the default is for libvirtd to listen only on the
Unix Domain Socket. The libvirt client still provides remote access Unix Domain Socket. The libvirt client still provides remote access
via a SSH tunnel. 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.1.0.orig/src/remote/remote_daemon_config.c
+++ libvirt-8.0.0/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 @@ -98,7 +98,7 @@ daemonConfigNew(bool privileged G_GNUC_U
#ifdef WITH_IP #ifdef WITH_IP
@ -16,10 +16,10 @@ Index: libvirt-8.0.0/src/remote/remote_daemon_config.c
# else /* ! LIBVIRTD */ # else /* ! LIBVIRTD */
data->listen_tls = false; /* Always honoured, --listen doesn't exist. */ data->listen_tls = false; /* Always honoured, --listen doesn't exist. */
# endif /* ! LIBVIRTD */ # 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.1.0.orig/src/remote/libvirtd.conf.in
+++ libvirt-8.0.0/src/remote/libvirtd.conf.in +++ libvirt-8.1.0/src/remote/libvirtd.conf.in
@@ -17,8 +17,8 @@ @@ -17,8 +17,8 @@
# It is necessary to setup a CA and issue server certificates before # It is necessary to setup a CA and issue server certificates before
# using this capability. # using this capability.
@ -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. # 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 # 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.1.0.orig/src/remote/test_libvirtd.aug.in
+++ libvirt-8.0.0/src/remote/test_libvirtd.aug.in +++ libvirt-8.1.0/src/remote/test_libvirtd.aug.in
@@ -3,7 +3,7 @@ module Test_@DAEMON_NAME@ = @@ -3,7 +3,7 @@ module Test_@DAEMON_NAME@ =
test @DAEMON_NAME_UC@.lns get conf = 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 by default. It can only be enabled with the 'autoballoon' setting in
libxl.conf. See jsc#SLE-3059 for more details. 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.1.0.orig/src/libxl/libxl.conf
+++ libvirt-8.0.0/src/libxl/libxl.conf +++ libvirt-8.1.0/src/libxl/libxl.conf
@@ -4,12 +4,11 @@ @@ -4,12 +4,11 @@
# Enable autoballooning of domain0 # 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 # 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.1.0.orig/src/libxl/libxl_conf.c
+++ libvirt-8.0.0/src/libxl/libxl_conf.c +++ libvirt-8.1.0/src/libxl/libxl_conf.c
@@ -1746,15 +1746,12 @@ libxlMakeBuildInfoVfb(virPortAllocatorRa @@ -1732,15 +1732,12 @@ libxlMakeBuildInfoVfb(virPortAllocatorRa
/* /*
* Get domain0 autoballoon configuration. Honor user-specified * Get domain0 autoballoon configuration. Honor user-specified
* setting in libxl.conf first. If not specified, autoballooning * 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; int res;
res = virConfGetValueBool(conf, "autoballoon", &cfg->autoballoon); res = virConfGetValueBool(conf, "autoballoon", &cfg->autoballoon);
@@ -1763,15 +1760,8 @@ libxlGetAutoballoonConf(libxlDriverConfi @@ -1749,15 +1746,8 @@ libxlGetAutoballoonConf(libxlDriverConfi
else if (res == 1) else if (res == 1)
return 0; return 0;
@ -66,10 +66,10 @@ Index: libvirt-8.0.0/src/libxl/libxl_conf.c
return 0; 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.1.0.orig/src/libxl/test_libvirtd_libxl.aug.in
+++ libvirt-8.0.0/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 = @@ -2,7 +2,7 @@ module Test_libvirtd_libxl =
@CONFIG@ @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 etc.), but for now they are all lumped together in this
single patch. 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.1.0.orig/src/qemu/qemu.conf
+++ libvirt-8.0.0/src/qemu/qemu.conf +++ libvirt-8.1.0/src/qemu/qemu.conf
@@ -491,10 +491,19 @@ @@ -491,10 +491,19 @@
# isolation, but it cannot appear in a list of drivers. # 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" #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.1.0.orig/src/qemu/qemu_conf.c
+++ libvirt-8.0.0/src/qemu/qemu_conf.c +++ libvirt-8.1.0/src/qemu/qemu_conf.c
@@ -272,7 +272,7 @@ virQEMUDriverConfig *virQEMUDriverConfig @@ -272,7 +272,7 @@ virQEMUDriverConfig *virQEMUDriverConfig
cfg->slirpHelperName = g_strdup(QEMU_SLIRP_HELPER); cfg->slirpHelperName = g_strdup(QEMU_SLIRP_HELPER);
cfg->dbusDaemonName = g_strdup(QEMU_DBUS_DAEMON); 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->securityRequireConfined = false;
cfg->keepAliveInterval = 5; 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.1.0.orig/src/qemu/test_libvirtd_qemu.aug.in
+++ libvirt-8.0.0/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 = @@ -45,6 +45,7 @@ module Test_libvirtd_qemu =
{ "remote_websocket_port_min" = "5700" } { "remote_websocket_port_min" = "5700" }
{ "remote_websocket_port_max" = "65535" } { "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 removes the old DEFAULT_LOADER_NVRAM approach and associated code, this
patch will stay. 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.1.0.orig/src/qemu/qemu.conf
+++ libvirt-8.0.0/src/qemu/qemu.conf +++ libvirt-8.1.0/src/qemu/qemu.conf
@@ -857,10 +857,9 @@ @@ -857,10 +857,9 @@
# for x86_64 and i686, but it's AAVMF for aarch64. The libvirt default # for x86_64 and i686, but it's AAVMF for aarch64. The libvirt default
# follows this scheme. # 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 # 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.1.0.orig/src/qemu/qemu_conf.c
+++ libvirt-8.0.0/src/qemu/qemu_conf.c +++ libvirt-8.1.0/src/qemu/qemu_conf.c
@@ -98,10 +98,9 @@ qemuDriverUnlock(virQEMUDriver *driver) @@ -98,10 +98,9 @@ qemuDriverUnlock(virQEMUDriver *driver)
#ifndef DEFAULT_LOADER_NVRAM #ifndef DEFAULT_LOADER_NVRAM
@ -41,10 +41,10 @@ Index: libvirt-8.0.0/src/qemu/qemu_conf.c
#endif #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.1.0.orig/src/security/virt-aa-helper.c
+++ libvirt-8.0.0/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 @@ -480,7 +480,8 @@ valid_path(const char *path, const bool
"/usr/share/ovmf/", /* for OVMF images */ "/usr/share/ovmf/", /* for OVMF images */
"/usr/share/AAVMF/", /* for AAVMF 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 */ /* override the above with these */
const char * const override[] = { 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.1.0.orig/src/qemu/test_libvirtd_qemu.aug.in
+++ libvirt-8.0.0/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 = @@ -96,10 +96,9 @@ module Test_libvirtd_qemu =
{ "migration_port_max" = "49215" } { "migration_port_max" = "49215" }
{ "log_timestamp" = "0" } { "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. 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.1.0.orig/src/libxl/libxl_conf.c
+++ libvirt-8.0.0/src/libxl/libxl_conf.c +++ libvirt-8.1.0/src/libxl/libxl_conf.c
@@ -1797,7 +1797,7 @@ libxlDriverConfigNew(void) @@ -1783,7 +1783,7 @@ libxlDriverConfigNew(void)
cfg->firmwares = g_new0(virFirmware *, 1); cfg->firmwares = g_new0(virFirmware *, 1);
cfg->nfirmwares = 1; cfg->nfirmwares = 1;
cfg->firmwares[0] = g_new0(virFirmware, 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 --- /dev/null
+++ libvirt-8.0.0/tools/virt-create-rootfs +++ libvirt-8.1.0/tools/virt-create-rootfs
@@ -0,0 +1,236 @@ @@ -0,0 +1,236 @@
+#!/bin/sh +#!/bin/sh
+set -e +set -e
@ -239,10 +239,10 @@ Index: libvirt-8.0.0/tools/virt-create-rootfs
+ echo "pts/0" >> "$ROOT/etc/securetty" + echo "pts/0" >> "$ROOT/etc/securetty"
+ chroot "$ROOT" /usr/bin/passwd + chroot "$ROOT" /usr/bin/passwd
+fi +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 --- /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 @@ @@ -0,0 +1,88 @@
+================== +==================
+virt-create-rootfs +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/>`_ +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.1.0.orig/docs/manpages/meson.build
+++ libvirt-8.0.0/docs/manpages/meson.build +++ libvirt-8.1.0/docs/manpages/meson.build
@@ -20,6 +20,7 @@ docs_man_files = [ @@ -20,6 +20,7 @@ docs_man_files = [
{ 'name': 'virt-pki-validate', 'section': '1', 'install': true }, { 'name': 'virt-pki-validate', 'section': '1', 'install': true },
{ 'name': 'virt-qemu-run', 'section': '1', 'install': conf.has('WITH_QEMU') }, { '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': 'libvirt-guests', 'section': '8', 'install': conf.has('WITH_LIBVIRTD') },
{ 'name': 'libvirtd', '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.1.0.orig/tools/meson.build
+++ libvirt-8.0.0/tools/meson.build +++ libvirt-8.1.0/tools/meson.build
@@ -154,6 +154,8 @@ else @@ -154,6 +154,8 @@ else
virsh_icon_res = [] virsh_icon_res = []
endif endif