SHA256
1
0
forked from pool/libvirt

Accepting request 791854 from home:jfehlig:branches:Virtualization

- libxl: fix crash when initializing driver
  88011ed2-libxl-driver-crash-fix.patch

- Update to libvirt 6.2.0
  - Many incremental improvements and bug fixes, see
    https://libvirt.org/news.html
  - Dropped patches:
    a30078cb-qemu-create-mp-target.patch,
    aeb909bf-qemu-multipath-fix.patch

OBS-URL: https://build.opensuse.org/request/show/791854
OBS-URL: https://build.opensuse.org/package/show/Virtualization/libvirt?expand=0&rev=818
This commit is contained in:
James Fehlig 2020-04-06 20:29:49 +00:00 committed by Git OBS Bridge
parent 81480eae55
commit 9940daa715
35 changed files with 276 additions and 631 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-6.1.0/src/conf/domain_stats.c Index: libvirt-6.2.0/src/conf/domain_stats.c
=================================================================== ===================================================================
--- /dev/null --- /dev/null
+++ libvirt-6.1.0/src/conf/domain_stats.c +++ libvirt-6.2.0/src/conf/domain_stats.c
@@ -0,0 +1,119 @@ @@ -0,0 +1,119 @@
+/* +/*
+ * domain_stats.c: domain stats extraction helpers + * domain_stats.c: domain stats extraction helpers
@ -142,10 +142,10 @@ Index: libvirt-6.1.0/src/conf/domain_stats.c
+} +}
+ +
+#undef STATS_ADD_NET_PARAM +#undef STATS_ADD_NET_PARAM
Index: libvirt-6.1.0/src/conf/domain_stats.h Index: libvirt-6.2.0/src/conf/domain_stats.h
=================================================================== ===================================================================
--- /dev/null --- /dev/null
+++ libvirt-6.1.0/src/conf/domain_stats.h +++ libvirt-6.2.0/src/conf/domain_stats.h
@@ -0,0 +1,62 @@ @@ -0,0 +1,62 @@
+/* +/*
+ * domain_stats.h: domain stats extraction helpers + * domain_stats.h: domain stats extraction helpers
@ -209,10 +209,10 @@ Index: libvirt-6.1.0/src/conf/domain_stats.h
+ virTypedParamListPtr params); + virTypedParamListPtr params);
+ +
+#endif /* __DOMAIN_STATS_H */ +#endif /* __DOMAIN_STATS_H */
Index: libvirt-6.1.0/src/libvirt_private.syms Index: libvirt-6.2.0/src/libvirt_private.syms
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/src/libvirt_private.syms --- libvirt-6.2.0.orig/src/libvirt_private.syms
+++ libvirt-6.1.0/src/libvirt_private.syms +++ libvirt-6.2.0/src/libvirt_private.syms
@@ -725,6 +725,9 @@ virDomainConfNWFilterInstantiate; @@ -725,6 +725,9 @@ virDomainConfNWFilterInstantiate;
virDomainConfNWFilterTeardown; virDomainConfNWFilterTeardown;
virDomainConfVMNWFilterTeardown; virDomainConfVMNWFilterTeardown;
@ -223,7 +223,7 @@ Index: libvirt-6.1.0/src/libvirt_private.syms
# conf/interface_conf.h # conf/interface_conf.h
virInterfaceDefFormat; virInterfaceDefFormat;
@@ -1752,6 +1755,7 @@ virCgroupGetMemoryUsage; @@ -1751,6 +1754,7 @@ virCgroupGetMemoryUsage;
virCgroupGetMemSwapHardLimit; virCgroupGetMemSwapHardLimit;
virCgroupGetMemSwapUsage; virCgroupGetMemSwapUsage;
virCgroupGetPercpuStats; virCgroupGetPercpuStats;
@ -231,10 +231,10 @@ Index: libvirt-6.1.0/src/libvirt_private.syms
virCgroupHasController; virCgroupHasController;
virCgroupHasEmptyTasks; virCgroupHasEmptyTasks;
virCgroupKillPainfully; virCgroupKillPainfully;
Index: libvirt-6.1.0/src/qemu/qemu_driver.c Index: libvirt-6.2.0/src/qemu/qemu_driver.c
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/src/qemu/qemu_driver.c --- libvirt-6.2.0.orig/src/qemu/qemu_driver.c
+++ libvirt-6.1.0/src/qemu/qemu_driver.c +++ libvirt-6.2.0/src/qemu/qemu_driver.c
@@ -64,6 +64,7 @@ @@ -64,6 +64,7 @@
#include "virarptable.h" #include "virarptable.h"
#include "viruuid.h" #include "viruuid.h"
@ -243,7 +243,7 @@ Index: libvirt-6.1.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"
@@ -20458,13 +20459,7 @@ qemuDomainGetStatsState(virQEMUDriverPtr @@ -20642,13 +20643,7 @@ qemuDomainGetStatsState(virQEMUDriverPtr
virTypedParamListPtr params, virTypedParamListPtr params,
unsigned int privflags G_GNUC_UNUSED) unsigned int privflags G_GNUC_UNUSED)
{ {
@ -258,7 +258,7 @@ Index: libvirt-6.1.0/src/qemu/qemu_driver.c
} }
@@ -20767,17 +20762,7 @@ qemuDomainGetStatsCpuCgroup(virDomainObj @@ -20951,17 +20946,7 @@ qemuDomainGetStatsCpuCgroup(virDomainObj
if (!priv->cgroup) if (!priv->cgroup)
return 0; return 0;
@ -277,7 +277,7 @@ Index: libvirt-6.1.0/src/qemu/qemu_driver.c
} }
@@ -20945,76 +20930,15 @@ qemuDomainGetStatsVcpu(virQEMUDriverPtr @@ -21129,76 +21114,15 @@ qemuDomainGetStatsVcpu(virQEMUDriverPtr
return ret; return ret;
} }
@ -355,10 +355,10 @@ Index: libvirt-6.1.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-6.1.0/src/util/vircgroup.c Index: libvirt-6.2.0/src/util/vircgroup.c
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/src/util/vircgroup.c --- libvirt-6.2.0.orig/src/util/vircgroup.c
+++ libvirt-6.1.0/src/util/vircgroup.c +++ libvirt-6.2.0/src/util/vircgroup.c
@@ -2779,6 +2779,31 @@ virCgroupControllerAvailable(int control @@ -2779,6 +2779,31 @@ virCgroupControllerAvailable(int control
return ret; return ret;
} }
@ -406,10 +406,10 @@ Index: libvirt-6.1.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-6.1.0/src/util/vircgroup.h Index: libvirt-6.2.0/src/util/vircgroup.h
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/src/util/vircgroup.h --- libvirt-6.2.0.orig/src/util/vircgroup.h
+++ libvirt-6.1.0/src/util/vircgroup.h +++ libvirt-6.2.0/src/util/vircgroup.h
@@ -23,6 +23,7 @@ @@ -23,6 +23,7 @@
#include "virbitmap.h" #include "virbitmap.h"
@ -425,10 +425,10 @@ Index: libvirt-6.1.0/src/util/vircgroup.h
+ +
+int virCgroupGetStatsCpu(virCgroupPtr cgroup, +int virCgroupGetStatsCpu(virCgroupPtr cgroup,
+ virTypedParamListPtr params); + virTypedParamListPtr params);
Index: libvirt-6.1.0/src/conf/Makefile.inc.am Index: libvirt-6.2.0/src/conf/Makefile.inc.am
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/src/conf/Makefile.inc.am --- libvirt-6.2.0.orig/src/conf/Makefile.inc.am
+++ libvirt-6.1.0/src/conf/Makefile.inc.am +++ libvirt-6.2.0/src/conf/Makefile.inc.am
@@ -28,6 +28,8 @@ DOMAIN_CONF_SOURCES = \ @@ -28,6 +28,8 @@ DOMAIN_CONF_SOURCES = \
conf/domain_audit.h \ conf/domain_audit.h \
conf/domain_nwfilter.c \ conf/domain_nwfilter.c \

View File

@ -19,11 +19,11 @@ 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-6.1.0/src/libxl/libxl_driver.c Index: libvirt-6.2.0/src/libxl/libxl_driver.c
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/src/libxl/libxl_driver.c --- libvirt-6.2.0.orig/src/libxl/libxl_driver.c
+++ libvirt-6.1.0/src/libxl/libxl_driver.c +++ libvirt-6.2.0/src/libxl/libxl_driver.c
@@ -5288,6 +5288,96 @@ libxlDomainMemoryStats(virDomainPtr dom, @@ -5287,6 +5287,96 @@ libxlDomainMemoryStats(virDomainPtr dom,
#undef LIBXL_SET_MEMSTAT #undef LIBXL_SET_MEMSTAT
@ -120,7 +120,7 @@ Index: libvirt-6.1.0/src/libxl/libxl_driver.c
static int static int
libxlDomainGetJobInfo(virDomainPtr dom, libxlDomainGetJobInfo(virDomainPtr dom,
virDomainJobInfoPtr info) virDomainJobInfoPtr info)
@@ -6706,6 +6796,7 @@ static virHypervisorDriver libxlHypervis @@ -6756,6 +6846,7 @@ static virHypervisorDriver libxlHypervis
#endif #endif
.nodeGetFreeMemory = libxlNodeGetFreeMemory, /* 0.9.0 */ .nodeGetFreeMemory = libxlNodeGetFreeMemory, /* 0.9.0 */
.nodeGetCellsFreeMemory = libxlNodeGetCellsFreeMemory, /* 1.1.1 */ .nodeGetCellsFreeMemory = libxlNodeGetCellsFreeMemory, /* 1.1.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-6.1.0/src/lxc/lxc_driver.c Index: libvirt-6.2.0/src/lxc/lxc_driver.c
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/src/lxc/lxc_driver.c --- libvirt-6.2.0.orig/src/lxc/lxc_driver.c
+++ libvirt-6.1.0/src/lxc/lxc_driver.c +++ libvirt-6.2.0/src/lxc/lxc_driver.c
@@ -74,6 +74,7 @@ @@ -74,6 +74,7 @@
#include "netdev_bandwidth_conf.h" #include "netdev_bandwidth_conf.h"
#include "virsocket.h" #include "virsocket.h"

View File

@ -0,0 +1,38 @@
commit 88011ed280c4f946a7b8e7ffcea2335eb075de60
Author: Jim Fehlig <jfehlig@suse.com>
Date: Fri Apr 3 15:51:48 2020 -0600
libxl: fix crash when initializing driver
Commit 54a401af478 split out DriverConfigInit from DriverConfigNew, but
then called it a bit late from libxlStateInitialize. The cfg is used in
libxlDriverConfigLoadFile and when uninitialized results in a crash.
Calling DriverConfigInit immediately after DriverConfigNew fixes the
crash.
Signed-off-by: Jim Fehlig <jfehlig@suse.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Index: libvirt-6.2.0/src/libxl/libxl_driver.c
===================================================================
--- libvirt-6.2.0.orig/src/libxl/libxl_driver.c
+++ libvirt-6.2.0/src/libxl/libxl_driver.c
@@ -702,14 +702,14 @@ libxlStateInitialize(bool privileged,
if (!(cfg = libxlDriverConfigNew()))
goto error;
+ if (libxlDriverConfigInit(cfg) < 0)
+ goto error;
+
driverConf = g_strdup_printf("%s/libxl.conf", cfg->configBaseDir);
if (libxlDriverConfigLoadFile(cfg, driverConf) < 0)
goto error;
- if (libxlDriverConfigInit(cfg) < 0)
- goto error;
-
/* Register the callbacks providing access to libvirt's event loop */
libxl_osevent_register_hooks(cfg->ctx, &libxl_osevent_callbacks, cfg->ctx);

View File

@ -1,336 +0,0 @@
commit a30078cb832646177defd256e77c632905f1e6d0
Author: Michal Prívozník <mprivozn@redhat.com>
Date: Wed Nov 13 15:34:50 2019 +0100
qemu: Create multipath targets for PRs
If a disk has persistent reservations enabled, qemu-pr-helper
might open not only /dev/mapper/control but also individual
targets of the multipath device. We are already querying for them
in CGroups, but now we have to create them in the namespace too.
This was brought up in [1].
1: https://bugzilla.redhat.com/show_bug.cgi?id=1711045#c61
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Tested-by: Lin Ma <LMa@suse.com>
Reviewed-by: Jim Fehlig <jfehlig@suse.com>
Index: libvirt-6.1.0/src/qemu/qemu_domain.c
===================================================================
--- libvirt-6.1.0.orig/src/qemu/qemu_domain.c
+++ libvirt-6.1.0/src/qemu/qemu_domain.c
@@ -62,6 +62,7 @@
#include "virdomaincheckpointobjlist.h"
#include "backup_conf.h"
#include "virutil.h"
+#include "virdevmapper.h"
#ifdef __linux__
# include <sys/sysmacros.h>
@@ -14495,6 +14496,9 @@ qemuDomainSetupDisk(virQEMUDriverConfigP
bool hasNVMe = false;
for (next = disk->src; virStorageSourceIsBacking(next); next = next->backingStore) {
+ VIR_AUTOSTRINGLIST targetPaths = NULL;
+ size_t i;
+
if (next->type == VIR_STORAGE_TYPE_NVME) {
g_autofree char *nvmePath = NULL;
@@ -14513,6 +14517,19 @@ qemuDomainSetupDisk(virQEMUDriverConfigP
if (qemuDomainCreateDevice(next->path, data, false) < 0)
return -1;
+
+ if (virDevMapperGetTargets(next->path, &targetPaths) < 0 &&
+ errno != ENOSYS && errno != EBADF) {
+ virReportSystemError(errno,
+ _("Unable to get devmapper targets for %s"),
+ next->path);
+ return -1;
+ }
+
+ for (i = 0; targetPaths && targetPaths[i]; i++) {
+ if (qemuDomainCreateDevice(targetPaths[i], data, false) < 0)
+ return -1;
+ }
}
}
@@ -15528,21 +15545,19 @@ qemuDomainNamespaceSetupDisk(virDomainOb
virStorageSourcePtr src)
{
virStorageSourcePtr next;
- char **paths = NULL;
+ VIR_AUTOSTRINGLIST paths = NULL;
size_t npaths = 0;
bool hasNVMe = false;
- g_autofree char *dmPath = NULL;
- g_autofree char *vfioPath = NULL;
- int ret = -1;
for (next = src; virStorageSourceIsBacking(next); next = next->backingStore) {
+ VIR_AUTOSTRINGLIST targetPaths = NULL;
g_autofree char *tmpPath = NULL;
if (next->type == VIR_STORAGE_TYPE_NVME) {
hasNVMe = true;
if (!(tmpPath = virPCIDeviceAddressGetIOMMUGroupDev(&next->nvme->pciAddr)))
- goto cleanup;
+ return -1;
} else {
if (virStorageSourceIsEmpty(next) ||
!virStorageSourceIsLocalStorage(next)) {
@@ -15553,30 +15568,35 @@ qemuDomainNamespaceSetupDisk(virDomainOb
tmpPath = g_strdup(next->path);
}
- if (VIR_APPEND_ELEMENT(paths, npaths, tmpPath) < 0)
- goto cleanup;
+ if (virStringListAdd(&paths, tmpPath) < 0)
+ return -1;
+
+ if (virDevMapperGetTargets(next->path, &targetPaths) < 0 &&
+ errno != ENOSYS && errno != EBADF) {
+ virReportSystemError(errno,
+ _("Unable to get devmapper targets for %s"),
+ next->path);
+ return -1;
+ }
+
+ if (virStringListMerge(&paths, &targetPaths) < 0)
+ return -1;
}
/* qemu-pr-helper might require access to /dev/mapper/control. */
- if (src->pr) {
- dmPath = g_strdup(QEMU_DEVICE_MAPPER_CONTROL_PATH);
- if (VIR_APPEND_ELEMENT_COPY(paths, npaths, dmPath) < 0)
- goto cleanup;
- }
+ if (src->pr &&
+ virStringListAdd(&paths, QEMU_DEVICE_MAPPER_CONTROL_PATH) < 0)
+ return -1;
- if (hasNVMe) {
- vfioPath = g_strdup(QEMU_DEV_VFIO);
- if (VIR_APPEND_ELEMENT(paths, npaths, vfioPath) < 0)
- goto cleanup;
- }
+ if (hasNVMe &&
+ virStringListAdd(&paths, QEMU_DEV_VFIO) < 0)
+ return -1;
+ npaths = virStringListLength((const char **) paths);
if (qemuDomainNamespaceMknodPaths(vm, (const char **) paths, npaths) < 0)
- goto cleanup;
+ return -1;
- ret = 0;
- cleanup:
- virStringListFreeCount(paths, npaths);
- return ret;
+ return 0;
}
Index: libvirt-6.1.0/src/util/virdevmapper.h
===================================================================
--- libvirt-6.1.0.orig/src/util/virdevmapper.h
+++ libvirt-6.1.0/src/util/virdevmapper.h
@@ -20,6 +20,8 @@
#pragma once
+#include "internal.h"
+
int
virDevMapperGetTargets(const char *path,
- char ***devPaths);
+ char ***devPaths) G_GNUC_NO_INLINE;
Index: libvirt-6.1.0/src/util/virutil.h
===================================================================
--- libvirt-6.1.0.orig/src/util/virutil.h
+++ libvirt-6.1.0/src/util/virutil.h
@@ -120,7 +120,7 @@ bool virValidateWWN(const char *wwn);
int virGetDeviceID(const char *path,
int *maj,
- int *min);
+ int *min) G_GNUC_NO_INLINE;
int virSetDeviceUnprivSGIO(const char *path,
const char *sysfs_dir,
int unpriv_sgio);
Index: libvirt-6.1.0/tests/qemuhotplugmock.c
===================================================================
--- libvirt-6.1.0.orig/tests/qemuhotplugmock.c
+++ libvirt-6.1.0/tests/qemuhotplugmock.c
@@ -19,7 +19,24 @@
#include <config.h>
#include "qemu/qemu_hotplug.h"
+#include "qemu/qemu_process.h"
#include "conf/domain_conf.h"
+#include "virdevmapper.h"
+#include "virutil.h"
+#include "virmock.h"
+
+static int (*real_virGetDeviceID)(const char *path, int *maj, int *min);
+static bool (*real_virFileExists)(const char *path);
+
+static void
+init_syms(void)
+{
+ if (real_virFileExists)
+ return;
+
+ VIR_MOCK_REAL_INIT(virGetDeviceID);
+ VIR_MOCK_REAL_INIT(virFileExists);
+}
unsigned long long
qemuDomainGetUnplugTimeout(virDomainObjPtr vm G_GNUC_UNUSED)
@@ -31,3 +48,61 @@ qemuDomainGetUnplugTimeout(virDomainObjP
return 200;
return 100;
}
+
+
+int
+virDevMapperGetTargets(const char *path,
+ char ***devPaths)
+{
+ *devPaths = NULL;
+
+ if (STREQ(path, "/dev/mapper/virt")) {
+ *devPaths = g_new(char *, 4);
+ (*devPaths)[0] = g_strdup("/dev/block/8:0"); /* /dev/sda */
+ (*devPaths)[1] = g_strdup("/dev/block/8:16"); /* /dev/sdb */
+ (*devPaths)[2] = g_strdup("/dev/block/8:32"); /* /dev/sdc */
+ (*devPaths)[3] = NULL;
+ }
+
+ return 0;
+}
+
+
+int
+virGetDeviceID(const char *path, int *maj, int *min)
+{
+ init_syms();
+
+ if (STREQ(path, "/dev/mapper/virt")) {
+ *maj = 254;
+ *min = 0;
+ return 0;
+ }
+
+ return real_virGetDeviceID(path, maj, min);
+}
+
+
+bool
+virFileExists(const char *path)
+{
+ init_syms();
+
+ if (STREQ(path, "/dev/mapper/virt"))
+ return true;
+
+ return real_virFileExists(path);
+}
+
+
+int
+qemuProcessStartManagedPRDaemon(virDomainObjPtr vm G_GNUC_UNUSED)
+{
+ return 0;
+}
+
+
+void
+qemuProcessKillManagedPRDaemon(virDomainObjPtr vm G_GNUC_UNUSED)
+{
+}
Index: libvirt-6.1.0/tests/qemuhotplugtestdevices/qemuhotplug-disk-scsi-multipath.xml
===================================================================
--- /dev/null
+++ libvirt-6.1.0/tests/qemuhotplugtestdevices/qemuhotplug-disk-scsi-multipath.xml
@@ -0,0 +1,8 @@
+<disk type='block' device='lun'>
+ <driver name='qemu' type='raw'/>
+ <source dev='/dev/mapper/virt'>
+ <reservations managed='yes'/>
+ </source>
+ <target dev='sda' bus='scsi'/>
+ <address type='drive' controller='0' bus='0' target='0' unit='0'/>
+</disk>
Index: libvirt-6.1.0/tests/qemuhotplugtestdomains/qemuhotplug-base-live+disk-scsi-multipath.xml
===================================================================
--- /dev/null
+++ libvirt-6.1.0/tests/qemuhotplugtestdomains/qemuhotplug-base-live+disk-scsi-multipath.xml
@@ -0,0 +1,62 @@
+<domain type='kvm' id='7'>
+ <name>hotplug</name>
+ <uuid>d091ea82-29e6-2e34-3005-f02617b36e87</uuid>
+ <memory unit='KiB'>4194304</memory>
+ <currentMemory unit='KiB'>4194304</currentMemory>
+ <vcpu placement='static'>4</vcpu>
+ <os>
+ <type arch='x86_64' machine='pc'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <features>
+ <acpi/>
+ <apic/>
+ <pae/>
+ </features>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>restart</on_crash>
+ <devices>
+ <emulator>/usr/bin/qemu-system-x86_64</emulator>
+ <disk type='block' device='lun'>
+ <driver name='qemu' type='raw'/>
+ <source dev='/dev/mapper/virt'>
+ <reservations managed='yes'>
+ <source type='unix' path='/tmp/lib/domain-7-hotplug/pr-helper0.sock' mode='client'/>
+ </reservations>
+ </source>
+ <backingStore/>
+ <target dev='sda' bus='scsi'/>
+ <alias name='scsi0-0-0-0'/>
+ <address type='drive' controller='0' bus='0' target='0' unit='0'/>
+ </disk>
+ <controller type='usb' index='0'>
+ <alias name='usb'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
+ </controller>
+ <controller type='ide' index='0'>
+ <alias name='ide'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
+ </controller>
+ <controller type='scsi' index='0' model='virtio-scsi'>
+ <alias name='scsi0'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
+ </controller>
+ <controller type='pci' index='0' model='pci-root'>
+ <alias name='pci'/>
+ </controller>
+ <controller type='virtio-serial' index='0'>
+ <alias name='virtio-serial0'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
+ </controller>
+ <input type='mouse' bus='ps2'>
+ <alias name='input0'/>
+ </input>
+ <input type='keyboard' bus='ps2'>
+ <alias name='input1'/>
+ </input>
+ <memballoon model='none'/>
+ </devices>
+ <seclabel type='none' model='none'/>
+</domain>

View File

@ -1,71 +0,0 @@
commit aeb909bf9b4c3fa48d017475545df94f7c5d3b3a
Author: Michal Prívozník <mprivozn@redhat.com>
Date: Thu Mar 19 12:51:55 2020 +0100
qemu: Don't crash when getting targets for a multipath
In one of my previous commits I've introduced code that creates
all devices for given (possible) multipath target. But I've made
a mistake there - the code accesses 'next->path' without checking
if the disk source is local. Note that the 'next->path' is
NULL/doesn't make sense for VIR_STORAGE_TYPE_NVME.
Fixes: a30078cb832646177defd256e77c632905f1e6d0
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1814947
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Index: libvirt-6.1.0/src/qemu/qemu_domain.c
===================================================================
--- libvirt-6.1.0.orig/src/qemu/qemu_domain.c
+++ libvirt-6.1.0/src/qemu/qemu_domain.c
@@ -15550,7 +15550,6 @@ qemuDomainNamespaceSetupDisk(virDomainOb
bool hasNVMe = false;
for (next = src; virStorageSourceIsBacking(next); next = next->backingStore) {
- VIR_AUTOSTRINGLIST targetPaths = NULL;
g_autofree char *tmpPath = NULL;
if (next->type == VIR_STORAGE_TYPE_NVME) {
@@ -15559,6 +15558,8 @@ qemuDomainNamespaceSetupDisk(virDomainOb
if (!(tmpPath = virPCIDeviceAddressGetIOMMUGroupDev(&next->nvme->pciAddr)))
return -1;
} else {
+ VIR_AUTOSTRINGLIST targetPaths = NULL;
+
if (virStorageSourceIsEmpty(next) ||
!virStorageSourceIsLocalStorage(next)) {
/* Not creating device. Just continue. */
@@ -15566,20 +15567,20 @@ qemuDomainNamespaceSetupDisk(virDomainOb
}
tmpPath = g_strdup(next->path);
- }
- if (virStringListAdd(&paths, tmpPath) < 0)
- return -1;
+ if (virDevMapperGetTargets(next->path, &targetPaths) < 0 &&
+ errno != ENOSYS && errno != EBADF) {
+ virReportSystemError(errno,
+ _("Unable to get devmapper targets for %s"),
+ next->path);
+ return -1;
+ }
- if (virDevMapperGetTargets(next->path, &targetPaths) < 0 &&
- errno != ENOSYS && errno != EBADF) {
- virReportSystemError(errno,
- _("Unable to get devmapper targets for %s"),
- next->path);
- return -1;
+ if (virStringListMerge(&paths, &targetPaths) < 0)
+ return -1;
}
- if (virStringListMerge(&paths, &targetPaths) < 0)
+ if (virStringListAdd(&paths, tmpPath) < 0)
return -1;
}

View File

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

View File

@ -1,11 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQEzBAABCAAdFiEE20ZoG7ka3OoXD6LUFViLJllr6l0FAl5eV20ACgkQFViLJllr
6l2vngf/Vb7A4RA9HzmrysjfCD7yRYnjX9NzgApyQMsKOursQlXxeAHE9cKpc9hM
NyQ4+f9SVJnJ+Wd2Z8bZDY976Bg6obDdXnEuL00QBrBe+gsTEXf5fc4fRnV8/l3b
en1MEZ+VYFH6mmKUheumybOaPPc0DlgCBRXZj50UDHTdEqB4pQWxL2bIEOVIlepn
WEXv0v3CoWdsVUzvsVz2vNNPt3PW+hFHU4nAcTTMF/IJwbLIGMY3JTVV0imPD1PV
qLb3wSi0INrKLRfOJC51j2ILj1GQe33OTmVmxqJSFDBOvb7yf1j2VQ5T3jfIIpay
oWAnznrtezmG9Pq/hXPIABV7piYAYA==
=7yxg
-----END PGP SIGNATURE-----

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

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

11
libvirt-6.2.0.tar.xz.asc Normal file
View File

@ -0,0 +1,11 @@
-----BEGIN PGP SIGNATURE-----
iQEzBAABCAAdFiEE20ZoG7ka3OoXD6LUFViLJllr6l0FAl6GOV8ACgkQFViLJllr
6l10PAgAi2s7PQLVyGL7xHK12AO7HfH/e2jNoE+LDJfJa1SQITYLW2x3zdEV27JW
SN8Hokf9dgRke0uJTBsQxcUxyRXFJkaGJ9pkUwkMuiUFA7fUWUPzBlBV8seaEqaf
102Zr/VWsP90FmrZ8oQ14VOEw8IB6Jmi07hd+9I6uY+PdBeUz5YtZ1pQYOda9v+a
yMsCDRusZKnpmVxbN1mlbmowq4rlJWDGouDpOFeB/u6RimdbAucYSfDF0RMz46Jt
wqUne7gAeCeP0GprHrM5/gURFcepXC9muB2iUY/uQyMN96bfVyjU9M1xlSQcGiOZ
Uuv0UCXfBYXFnhwb75RG91hxTGrlUg==
=wKUd
-----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-6.1.0/src/cpu_map/ppc64_POWER8.xml Index: libvirt-6.2.0/src/cpu_map/ppc64_POWER8.xml
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/src/cpu_map/ppc64_POWER8.xml --- libvirt-6.2.0.orig/src/cpu_map/ppc64_POWER8.xml
+++ libvirt-6.1.0/src/cpu_map/ppc64_POWER8.xml +++ libvirt-6.2.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,7 +1,7 @@
Index: libvirt-6.1.0/configure.ac Index: libvirt-6.2.0/configure.ac
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/configure.ac --- libvirt-6.2.0.orig/configure.ac
+++ libvirt-6.1.0/configure.ac +++ libvirt-6.2.0/configure.ac
@@ -278,6 +278,7 @@ LIBVIRT_ARG_LIBSSH @@ -278,6 +278,7 @@ LIBVIRT_ARG_LIBSSH
LIBVIRT_ARG_LIBXML LIBVIRT_ARG_LIBXML
LIBVIRT_ARG_MACVTAP LIBVIRT_ARG_MACVTAP
@ -26,10 +26,10 @@ Index: libvirt-6.1.0/configure.ac
LIBVIRT_RESULT_NLS LIBVIRT_RESULT_NLS
LIBVIRT_RESULT_NSS LIBVIRT_RESULT_NSS
LIBVIRT_RESULT_NUMACTL LIBVIRT_RESULT_NUMACTL
Index: libvirt-6.1.0/tools/virsh.c Index: libvirt-6.2.0/tools/virsh.c
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/tools/virsh.c --- libvirt-6.2.0.orig/tools/virsh.c
+++ libvirt-6.1.0/tools/virsh.c +++ libvirt-6.2.0/tools/virsh.c
@@ -547,6 +547,8 @@ virshShowVersion(vshControl *ctl G_GNUC_ @@ -547,6 +547,8 @@ virshShowVersion(vshControl *ctl G_GNUC_
vshPrint(ctl, " Interface"); vshPrint(ctl, " Interface");
# if defined(WITH_NETCF) # if defined(WITH_NETCF)
@ -39,10 +39,10 @@ Index: libvirt-6.1.0/tools/virsh.c
# elif defined(WITH_UDEV) # elif defined(WITH_UDEV)
vshPrint(ctl, " udev"); vshPrint(ctl, " udev");
# endif # endif
Index: libvirt-6.1.0/src/interface/interface_backend_netcf.c Index: libvirt-6.2.0/src/interface/interface_backend_netcf.c
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/src/interface/interface_backend_netcf.c --- libvirt-6.2.0.orig/src/interface/interface_backend_netcf.c
+++ libvirt-6.1.0/src/interface/interface_backend_netcf.c +++ libvirt-6.2.0/src/interface/interface_backend_netcf.c
@@ -21,7 +21,12 @@ @@ -21,7 +21,12 @@
#include <config.h> #include <config.h>
@ -154,10 +154,10 @@ Index: libvirt-6.1.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-6.1.0/src/interface/interface_driver.c Index: libvirt-6.2.0/src/interface/interface_driver.c
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/src/interface/interface_driver.c --- libvirt-6.2.0.orig/src/interface/interface_driver.c
+++ libvirt-6.1.0/src/interface/interface_driver.c +++ libvirt-6.2.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;
@ -175,10 +175,10 @@ Index: libvirt-6.1.0/src/interface/interface_driver.c
if (udevIfaceRegister() == 0) if (udevIfaceRegister() == 0)
return 0; return 0;
#endif /* WITH_UDEV */ #endif /* WITH_UDEV */
Index: libvirt-6.1.0/m4/virt-netcontrol.m4 Index: libvirt-6.2.0/m4/virt-netcontrol.m4
=================================================================== ===================================================================
--- /dev/null --- /dev/null
+++ libvirt-6.1.0/m4/virt-netcontrol.m4 +++ libvirt-6.2.0/m4/virt-netcontrol.m4
@@ -0,0 +1,39 @@ @@ -0,0 +1,39 @@
+dnl The libnetcontrol library +dnl The libnetcontrol library
+dnl +dnl
@ -219,10 +219,10 @@ Index: libvirt-6.1.0/m4/virt-netcontrol.m4
+AC_DEFUN([LIBVIRT_RESULT_NETCONTROL],[ +AC_DEFUN([LIBVIRT_RESULT_NETCONTROL],[
+ LIBVIRT_RESULT_LIB([NETCONTROL]) + LIBVIRT_RESULT_LIB([NETCONTROL])
+]) +])
Index: libvirt-6.1.0/src/interface/Makefile.inc.am Index: libvirt-6.2.0/src/interface/Makefile.inc.am
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/src/interface/Makefile.inc.am --- libvirt-6.2.0.orig/src/interface/Makefile.inc.am
+++ libvirt-6.1.0/src/interface/Makefile.inc.am +++ libvirt-6.2.0/src/interface/Makefile.inc.am
@@ -6,6 +6,7 @@ INTERFACE_DRIVER_SOURCES = \ @@ -6,6 +6,7 @@ INTERFACE_DRIVER_SOURCES = \
$(NULL) $(NULL)

View File

@ -1,3 +1,19 @@
-------------------------------------------------------------------
Mon Apr 6 14:30:29 UTC 2020 - James Fehlig <jfehlig@suse.com>
- libxl: fix crash when initializing driver
88011ed2-libxl-driver-crash-fix.patch
-------------------------------------------------------------------
Fri Apr 3 20:47:27 UTC 2020 - James Fehlig <jfehlig@suse.com>
- Update to libvirt 6.2.0
- Many incremental improvements and bug fixes, see
https://libvirt.org/news.html
- Dropped patches:
a30078cb-qemu-create-mp-target.patch,
aeb909bf-qemu-multipath-fix.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Thu Mar 19 22:59:45 UTC 2020 - James Fehlig <jfehlig@suse.com> Thu Mar 19 22:59:45 UTC 2020 - James Fehlig <jfehlig@suse.com>

View File

@ -185,7 +185,7 @@
Name: libvirt Name: libvirt
URL: http://libvirt.org/ URL: http://libvirt.org/
Version: 6.1.0 Version: 6.2.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
@ -338,8 +338,7 @@ Source6: libvirtd-relocation-server.xml
Source99: baselibs.conf Source99: baselibs.conf
Source100: %{name}-rpmlintrc Source100: %{name}-rpmlintrc
# Upstream patches # Upstream patches
Patch0: a30078cb-qemu-create-mp-target.patch Patch0: 88011ed2-libxl-driver-crash-fix.patch
Patch1: aeb909bf-qemu-multipath-fix.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
@ -875,7 +874,6 @@ libvirt plugin for NSS for translating domain names into IP addresses.
%prep %prep
%setup -q %setup -q
%patch0 -p1 %patch0 -p1
%patch1 -p1
%patch100 -p1 %patch100 -p1
%patch101 -p1 %patch101 -p1
%patch150 -p1 %patch150 -p1

View File

@ -8,11 +8,11 @@ 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-6.1.0/src/libxl/libxl_driver.c Index: libvirt-6.2.0/src/libxl/libxl_driver.c
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/src/libxl/libxl_driver.c --- libvirt-6.2.0.orig/src/libxl/libxl_driver.c
+++ libvirt-6.1.0/src/libxl/libxl_driver.c +++ libvirt-6.2.0/src/libxl/libxl_driver.c
@@ -1372,6 +1372,61 @@ libxlDomainReboot(virDomainPtr dom, unsi @@ -1371,6 +1371,61 @@ libxlDomainReboot(virDomainPtr dom, unsi
} }
static int static int
@ -74,7 +74,7 @@ Index: libvirt-6.1.0/src/libxl/libxl_driver.c
libxlDomainDestroyFlags(virDomainPtr dom, libxlDomainDestroyFlags(virDomainPtr dom,
unsigned int flags) unsigned int flags)
{ {
@@ -6581,6 +6636,7 @@ static virHypervisorDriver libxlHypervis @@ -6631,6 +6686,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,10 +3,10 @@ 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-6.1.0/src/libxl/libxl_conf.c Index: libvirt-6.2.0/src/libxl/libxl_conf.c
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/src/libxl/libxl_conf.c --- libvirt-6.2.0.orig/src/libxl/libxl_conf.c
+++ libvirt-6.1.0/src/libxl/libxl_conf.c +++ libvirt-6.2.0/src/libxl/libxl_conf.c
@@ -866,6 +866,30 @@ libxlDiskSetDiscard(libxl_device_disk *x @@ -866,6 +866,30 @@ libxlDiskSetDiscard(libxl_device_disk *x
#endif #endif
} }

View File

@ -16,10 +16,10 @@ 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-6.1.0/include/libvirt/libvirt-domain.h Index: libvirt-6.2.0/include/libvirt/libvirt-domain.h
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/include/libvirt/libvirt-domain.h --- libvirt-6.2.0.orig/include/libvirt/libvirt-domain.h
+++ libvirt-6.1.0/include/libvirt/libvirt-domain.h +++ libvirt-6.2.0/include/libvirt/libvirt-domain.h
@@ -1065,6 +1065,31 @@ typedef enum { @@ -1065,6 +1065,31 @@ typedef enum {
*/ */
# define VIR_MIGRATE_PARAM_TLS_DESTINATION "tls.destination" # define VIR_MIGRATE_PARAM_TLS_DESTINATION "tls.destination"
@ -52,11 +52,11 @@ Index: libvirt-6.1.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-6.1.0/src/libxl/libxl_driver.c Index: libvirt-6.2.0/src/libxl/libxl_driver.c
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/src/libxl/libxl_driver.c --- libvirt-6.2.0.orig/src/libxl/libxl_driver.c
+++ libvirt-6.1.0/src/libxl/libxl_driver.c +++ libvirt-6.2.0/src/libxl/libxl_driver.c
@@ -6146,6 +6146,9 @@ libxlDomainMigratePerform3Params(virDoma @@ -6196,6 +6196,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;
@ -66,7 +66,7 @@ Index: libvirt-6.1.0/src/libxl/libxl_driver.c
#ifdef LIBXL_HAVE_NO_SUSPEND_RESUME #ifdef LIBXL_HAVE_NO_SUSPEND_RESUME
virReportUnsupportedError(); virReportUnsupportedError();
@@ -6162,6 +6165,18 @@ libxlDomainMigratePerform3Params(virDoma @@ -6212,6 +6215,18 @@ libxlDomainMigratePerform3Params(virDoma
virTypedParamsGetString(params, nparams, virTypedParamsGetString(params, nparams,
VIR_MIGRATE_PARAM_DEST_NAME, VIR_MIGRATE_PARAM_DEST_NAME,
&dname) < 0 || &dname) < 0 ||
@ -85,7 +85,7 @@ Index: libvirt-6.1.0/src/libxl/libxl_driver.c
virTypedParamsGetString(params, nparams, virTypedParamsGetString(params, nparams,
VIR_MIGRATE_PARAM_URI, VIR_MIGRATE_PARAM_URI,
&uri) < 0) &uri) < 0)
@@ -6176,11 +6191,11 @@ libxlDomainMigratePerform3Params(virDoma @@ -6226,11 +6241,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,
@ -99,11 +99,11 @@ Index: libvirt-6.1.0/src/libxl/libxl_driver.c
goto cleanup; goto cleanup;
} }
Index: libvirt-6.1.0/src/libxl/libxl_migration.c Index: libvirt-6.2.0/src/libxl/libxl_migration.c
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/src/libxl/libxl_migration.c --- libvirt-6.2.0.orig/src/libxl/libxl_migration.c
+++ libvirt-6.1.0/src/libxl/libxl_migration.c +++ libvirt-6.2.0/src/libxl/libxl_migration.c
@@ -339,18 +339,39 @@ libxlMigrateDstReceive(virNetSocketPtr s @@ -345,18 +345,39 @@ libxlMigrateDstReceive(virNetSocketPtr s
static int static int
libxlDoMigrateSrcSend(libxlDriverPrivatePtr driver, libxlDoMigrateSrcSend(libxlDriverPrivatePtr driver,
virDomainObjPtr vm, virDomainObjPtr vm,
@ -145,7 +145,7 @@ Index: libvirt-6.1.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"));
@@ -903,7 +924,7 @@ struct libxlTunnelControl { @@ -913,7 +934,7 @@ struct libxlTunnelControl {
static int static int
libxlMigrationSrcStartTunnel(libxlDriverPrivatePtr driver, libxlMigrationSrcStartTunnel(libxlDriverPrivatePtr driver,
virDomainObjPtr vm, virDomainObjPtr vm,
@ -154,7 +154,7 @@ Index: libvirt-6.1.0/src/libxl/libxl_migration.c
virStreamPtr st, virStreamPtr st,
struct libxlTunnelControl **tnl) struct libxlTunnelControl **tnl)
{ {
@@ -934,7 +955,7 @@ libxlMigrationSrcStartTunnel(libxlDriver @@ -947,7 +968,7 @@ libxlMigrationSrcStartTunnel(libxlDriver
virObjectUnlock(vm); virObjectUnlock(vm);
/* Send data to pipe */ /* Send data to pipe */
@ -163,7 +163,7 @@ Index: libvirt-6.1.0/src/libxl/libxl_migration.c
virObjectLock(vm); virObjectLock(vm);
out: out:
@@ -970,7 +991,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP @@ -983,7 +1004,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
const char *dconnuri G_GNUC_UNUSED, const char *dconnuri G_GNUC_UNUSED,
const char *dname, const char *dname,
const char *uri, const char *uri,
@ -172,7 +172,7 @@ Index: libvirt-6.1.0/src/libxl/libxl_migration.c
{ {
virDomainPtr ddomain = NULL; virDomainPtr ddomain = NULL;
virTypedParameterPtr params = NULL; virTypedParameterPtr params = NULL;
@@ -1015,11 +1036,11 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP @@ -1028,11 +1049,11 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
/* 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.
*/ */
@ -186,7 +186,7 @@ Index: libvirt-6.1.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
@@ -1033,7 +1054,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP @@ -1046,7 +1067,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
if (ret == -1) if (ret == -1)
goto confirm; goto confirm;
@ -195,7 +195,7 @@ Index: libvirt-6.1.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) {
@@ -1048,11 +1069,11 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP @@ -1061,11 +1082,11 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
} }
VIR_DEBUG("Perform3 uri=%s", NULLSTR(uri_out)); VIR_DEBUG("Perform3 uri=%s", NULLSTR(uri_out));
@ -210,7 +210,7 @@ Index: libvirt-6.1.0/src/libxl/libxl_migration.c
if (ret < 0) { if (ret < 0) {
notify_source = false; notify_source = false;
virErrorPreserveLast(&orig_err); virErrorPreserveLast(&orig_err);
@@ -1087,7 +1108,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP @@ -1100,7 +1121,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
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);
@ -219,7 +219,7 @@ Index: libvirt-6.1.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",
@@ -1095,7 +1116,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP @@ -1108,7 +1129,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
} }
cleanup: cleanup:
@ -228,7 +228,7 @@ Index: libvirt-6.1.0/src/libxl/libxl_migration.c
libxlMigrationSrcStopTunnel(tc); libxlMigrationSrcStopTunnel(tc);
virObjectUnref(st); virObjectUnref(st);
} }
@@ -1139,7 +1160,7 @@ libxlDomainMigrationSrcPerformP2P(libxlD @@ -1152,7 +1173,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,
@ -237,7 +237,7 @@ Index: libvirt-6.1.0/src/libxl/libxl_migration.c
{ {
int ret = -1; int ret = -1;
bool useParams; bool useParams;
@@ -1174,7 +1195,7 @@ libxlDomainMigrationSrcPerformP2P(libxlD @@ -1187,7 +1208,7 @@ libxlDomainMigrationSrcPerformP2P(libxlD
} }
ret = libxlDoMigrateSrcP2P(driver, vm, sconn, xmlin, dconn, dconnuri, ret = libxlDoMigrateSrcP2P(driver, vm, sconn, xmlin, dconn, dconnuri,
@ -246,7 +246,7 @@ Index: libvirt-6.1.0/src/libxl/libxl_migration.c
if (ret < 0) { if (ret < 0) {
/* /*
@@ -1201,7 +1222,7 @@ libxlDomainMigrationSrcPerform(libxlDriv @@ -1214,7 +1235,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,
@ -255,7 +255,7 @@ Index: libvirt-6.1.0/src/libxl/libxl_migration.c
{ {
libxlDomainObjPrivatePtr priv = vm->privateData; libxlDomainObjPrivatePtr priv = vm->privateData;
char *hostname = NULL; char *hostname = NULL;
@@ -1237,7 +1258,7 @@ libxlDomainMigrationSrcPerform(libxlDriv @@ -1250,7 +1271,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);
@ -264,10 +264,10 @@ Index: libvirt-6.1.0/src/libxl/libxl_migration.c
virObjectLock(vm); virObjectLock(vm);
if (ret == 0) { if (ret == 0) {
Index: libvirt-6.1.0/src/libxl/libxl_migration.h Index: libvirt-6.2.0/src/libxl/libxl_migration.h
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/src/libxl/libxl_migration.h --- libvirt-6.2.0.orig/src/libxl/libxl_migration.h
+++ libvirt-6.1.0/src/libxl/libxl_migration.h +++ libvirt-6.2.0/src/libxl/libxl_migration.h
@@ -35,6 +35,10 @@ @@ -35,6 +35,10 @@
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, \
@ -312,11 +312,11 @@ Index: libvirt-6.1.0/src/libxl/libxl_migration.h
virDomainPtr virDomainPtr
libxlDomainMigrationDstFinish(virConnectPtr dconn, libxlDomainMigrationDstFinish(virConnectPtr dconn,
Index: libvirt-6.1.0/tools/virsh-domain.c Index: libvirt-6.2.0/tools/virsh-domain.c
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/tools/virsh-domain.c --- libvirt-6.2.0.orig/tools/virsh-domain.c
+++ libvirt-6.1.0/tools/virsh-domain.c +++ libvirt-6.2.0/tools/virsh-domain.c
@@ -10713,6 +10713,22 @@ static const vshCmdOptDef opts_migrate[] @@ -10716,6 +10716,22 @@ static const vshCmdOptDef opts_migrate[]
.type = VSH_OT_STRING, .type = VSH_OT_STRING,
.help = N_("override the destination host name used for TLS verification") .help = N_("override the destination host name used for TLS verification")
}, },
@ -339,7 +339,7 @@ Index: libvirt-6.1.0/tools/virsh-domain.c
{.name = NULL} {.name = NULL}
}; };
@@ -10735,6 +10751,7 @@ doMigrate(void *opaque) @@ -10738,6 +10754,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;
@ -347,7 +347,7 @@ Index: libvirt-6.1.0/tools/virsh-domain.c
#ifndef WIN32 #ifndef WIN32
sigset_t sigmask, oldsigmask; sigset_t sigmask, oldsigmask;
@@ -10857,6 +10874,27 @@ doMigrate(void *opaque) @@ -10860,6 +10877,27 @@ doMigrate(void *opaque)
goto save_error; goto save_error;
} }
@ -375,10 +375,10 @@ Index: libvirt-6.1.0/tools/virsh-domain.c
if (vshCommandOptStringReq(ctl, cmd, "xml", &opt) < 0) if (vshCommandOptStringReq(ctl, cmd, "xml", &opt) < 0)
goto out; goto out;
if (opt) { if (opt) {
Index: libvirt-6.1.0/docs/manpages/virsh.rst Index: libvirt-6.2.0/docs/manpages/virsh.rst
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/docs/manpages/virsh.rst --- libvirt-6.2.0.orig/docs/manpages/virsh.rst
+++ libvirt-6.1.0/docs/manpages/virsh.rst +++ libvirt-6.2.0/docs/manpages/virsh.rst
@@ -3093,6 +3093,8 @@ migrate @@ -3093,6 +3093,8 @@ migrate
[--postcopy-bandwidth bandwidth] [--postcopy-bandwidth bandwidth]
[--parallel [--parallel-connections connections]] [--parallel [--parallel-connections connections]]

View File

@ -7,10 +7,10 @@ and npiv.
For more details, see bsc#954872 and FATE#319810 For more details, see bsc#954872 and FATE#319810
Index: libvirt-6.1.0/src/libxl/libxl_conf.c Index: libvirt-6.2.0/src/libxl/libxl_conf.c
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/src/libxl/libxl_conf.c --- libvirt-6.2.0.orig/src/libxl/libxl_conf.c
+++ libvirt-6.1.0/src/libxl/libxl_conf.c +++ libvirt-6.2.0/src/libxl/libxl_conf.c
@@ -866,6 +866,22 @@ libxlDiskSetDiscard(libxl_device_disk *x @@ -866,6 +866,22 @@ libxlDiskSetDiscard(libxl_device_disk *x
#endif #endif
} }

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-6.1.0/src/lxc/lxc_controller.c Index: libvirt-6.2.0/src/lxc/lxc_controller.c
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/src/lxc/lxc_controller.c --- libvirt-6.2.0.orig/src/lxc/lxc_controller.c
+++ libvirt-6.1.0/src/lxc/lxc_controller.c +++ libvirt-6.2.0/src/lxc/lxc_controller.c
@@ -1985,6 +1985,7 @@ static int virLXCControllerDeleteInterfa @@ -2056,6 +2056,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-6.1.0/src/lxc/lxc_controller.c
return ret; return ret;
} }
Index: libvirt-6.1.0/src/lxc/lxc_driver.c Index: libvirt-6.2.0/src/lxc/lxc_driver.c
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/src/lxc/lxc_driver.c --- libvirt-6.2.0.orig/src/lxc/lxc_driver.c
+++ libvirt-6.1.0/src/lxc/lxc_driver.c +++ libvirt-6.2.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"
@ -53,10 +53,10 @@ Index: libvirt-6.1.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-6.1.0/src/lxc/lxc_process.c Index: libvirt-6.2.0/src/lxc/lxc_process.c
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/src/lxc/lxc_process.c --- libvirt-6.2.0.orig/src/lxc/lxc_process.c
+++ libvirt-6.1.0/src/lxc/lxc_process.c +++ libvirt-6.2.0/src/lxc/lxc_process.c
@@ -50,6 +50,7 @@ @@ -50,6 +50,7 @@
#include "virstring.h" #include "virstring.h"
#include "virprocess.h" #include "virprocess.h"
@ -65,7 +65,7 @@ Index: libvirt-6.1.0/src/lxc/lxc_process.c
#include "netdev_bandwidth_conf.h" #include "netdev_bandwidth_conf.h"
#include "virutil.h" #include "virutil.h"
@@ -231,6 +232,7 @@ static void virLXCProcessCleanup(virLXCD @@ -230,6 +231,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-6.1.0/src/network/bridge_driver.c Index: libvirt-6.2.0/src/network/bridge_driver.c
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/src/network/bridge_driver.c --- libvirt-6.2.0.orig/src/network/bridge_driver.c
+++ libvirt-6.1.0/src/network/bridge_driver.c +++ libvirt-6.2.0/src/network/bridge_driver.c
@@ -1506,7 +1506,14 @@ networkDnsmasqConfContents(virNetworkObj @@ -1444,7 +1444,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-6.1.0/src/network/bridge_driver.c
} }
if (ipdef->tftproot) { if (ipdef->tftproot) {
Index: libvirt-6.1.0/tests/networkxml2confdata/dhcp6host-routed-network.conf Index: libvirt-6.2.0/tests/networkxml2confdata/dhcp6host-routed-network.conf
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/tests/networkxml2confdata/dhcp6host-routed-network.conf --- libvirt-6.2.0.orig/tests/networkxml2confdata/dhcp6host-routed-network.conf
+++ libvirt-6.1.0/tests/networkxml2confdata/dhcp6host-routed-network.conf +++ libvirt-6.2.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-6.1.0/src/util/virarch.c Index: libvirt-6.2.0/src/util/virarch.c
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/src/util/virarch.c --- libvirt-6.2.0.orig/src/util/virarch.c
+++ libvirt-6.1.0/src/util/virarch.c +++ libvirt-6.2.0/src/util/virarch.c
@@ -220,6 +220,8 @@ virArch virArchFromHost(void) @@ -220,6 +220,8 @@ virArch virArchFromHost(void)
arch = VIR_ARCH_I686; arch = VIR_ARCH_I686;
} else if (STREQ(ut.machine, "amd64")) { } else if (STREQ(ut.machine, "amd64")) {

View File

@ -1,7 +1,7 @@
Index: libvirt-6.1.0/src/security/apparmor/libvirt-qemu Index: libvirt-6.2.0/src/security/apparmor/libvirt-qemu
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/src/security/apparmor/libvirt-qemu --- libvirt-6.2.0.orig/src/security/apparmor/libvirt-qemu
+++ libvirt-6.1.0/src/security/apparmor/libvirt-qemu +++ libvirt-6.2.0/src/security/apparmor/libvirt-qemu
@@ -228,3 +228,6 @@ @@ -228,3 +228,6 @@
# required for sasl GSSAPI plugin # required for sasl GSSAPI plugin
/etc/gss/mech.d/ r, /etc/gss/mech.d/ r,

View File

@ -8,10 +8,10 @@ Subject: [PATCH] support managed pci devices in xen driver
src/xenxs/xen_xm.c | 28 +++++++++++++++++++++++++++- src/xenxs/xen_xm.c | 28 +++++++++++++++++++++++++++-
2 files changed, 35 insertions(+), 15 deletions(-) 2 files changed, 35 insertions(+), 15 deletions(-)
Index: libvirt-6.1.0/src/libxl/xen_common.c Index: libvirt-6.2.0/src/libxl/xen_common.c
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/src/libxl/xen_common.c --- libvirt-6.2.0.orig/src/libxl/xen_common.c
+++ libvirt-6.1.0/src/libxl/xen_common.c +++ libvirt-6.2.0/src/libxl/xen_common.c
@@ -381,12 +381,19 @@ xenParsePCI(char *entry) @@ -381,12 +381,19 @@ xenParsePCI(char *entry)
int busID; int busID;
int slotID; int slotID;

View File

@ -8,10 +8,10 @@ It was also noticed that the per-domain profiles need a libnl rule
to squelch a denial when starting confined domains. to squelch a denial when starting confined domains.
Found while investigating bsc#1058847 Found while investigating bsc#1058847
Index: libvirt-6.1.0/src/security/apparmor/libvirt-qemu Index: libvirt-6.2.0/src/security/apparmor/libvirt-qemu
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/src/security/apparmor/libvirt-qemu --- libvirt-6.2.0.orig/src/security/apparmor/libvirt-qemu
+++ libvirt-6.1.0/src/security/apparmor/libvirt-qemu +++ libvirt-6.2.0/src/security/apparmor/libvirt-qemu
@@ -61,6 +61,7 @@ @@ -61,6 +61,7 @@
#/dev/fb* rw, #/dev/fb* rw,
@ -20,10 +20,10 @@ Index: libvirt-6.1.0/src/security/apparmor/libvirt-qemu
@{HOME}/.pulse-cookie rwk, @{HOME}/.pulse-cookie rwk,
owner /root/.pulse-cookie rwk, owner /root/.pulse-cookie rwk,
owner /root/.pulse/ rw, owner /root/.pulse/ rw,
Index: libvirt-6.1.0/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in Index: libvirt-6.2.0/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in --- libvirt-6.2.0.orig/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in
+++ libvirt-6.1.0/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in +++ libvirt-6.2.0/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in
@@ -19,7 +19,7 @@ profile virt-aa-helper @libexecdir@/virt @@ -19,7 +19,7 @@ profile virt-aa-helper @libexecdir@/virt
# Used when internally running another command (namely apparmor_parser) # Used when internally running another command (namely apparmor_parser)
@{PROC}/@{pid}/fd/ r, @{PROC}/@{pid}/fd/ r,

View File

@ -9,10 +9,10 @@ need backporting to anything older. The dependency on xen.git commit
c3999835df makes it hard to upstream this patch. c3999835df makes it hard to upstream this patch.
See bsc#1157490 and bsc#1167007 for more details See bsc#1157490 and bsc#1167007 for more details
Index: libvirt-6.1.0/m4/virt-driver-libxl.m4 Index: libvirt-6.2.0/m4/virt-driver-libxl.m4
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/m4/virt-driver-libxl.m4 --- libvirt-6.2.0.orig/m4/virt-driver-libxl.m4
+++ libvirt-6.1.0/m4/virt-driver-libxl.m4 +++ libvirt-6.2.0/m4/virt-driver-libxl.m4
@@ -26,11 +26,11 @@ AC_DEFUN([LIBVIRT_DRIVER_CHECK_LIBXL], [ @@ -26,11 +26,11 @@ AC_DEFUN([LIBVIRT_DRIVER_CHECK_LIBXL], [
LIBXL_CFLAGS="" LIBXL_CFLAGS=""
LIBXL_FIRMWARE_DIR="" LIBXL_FIRMWARE_DIR=""
@ -27,24 +27,24 @@ Index: libvirt-6.1.0/m4/virt-driver-libxl.m4
if test "x$with_libxl" = "xyes" ; then if test "x$with_libxl" = "xyes" ; then
LIBXL_FIRMWARE_DIR=$($PKG_CONFIG --variable xenfirmwaredir xenlight) LIBXL_FIRMWARE_DIR=$($PKG_CONFIG --variable xenfirmwaredir xenlight)
LIBXL_EXECBIN_DIR=$($PKG_CONFIG --variable libexec_bin xenlight) LIBXL_EXECBIN_DIR=$($PKG_CONFIG --variable libexec_bin xenlight)
Index: libvirt-6.1.0/src/libxl/libxl_conf.c Index: libvirt-6.2.0/src/libxl/libxl_conf.c
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/src/libxl/libxl_conf.c --- libvirt-6.2.0.orig/src/libxl/libxl_conf.c
+++ libvirt-6.1.0/src/libxl/libxl_conf.c +++ libvirt-6.2.0/src/libxl/libxl_conf.c
@@ -1785,7 +1785,7 @@ int @@ -1784,7 +1784,7 @@ libxlDriverConfigNew(void)
int
libxlDriverConfigInit(libxlDriverConfigPtr cfg) libxlDriverConfigInit(libxlDriverConfigPtr cfg)
{ {
char ebuf[1024];
- unsigned int free_mem; - unsigned int free_mem;
+ uint64_t free_mem; + uint64_t free_mem;
if (virFileMakePath(cfg->logDir) < 0) { if (virFileMakePath(cfg->logDir) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR, virReportError(VIR_ERR_INTERNAL_ERROR,
Index: libvirt-6.1.0/src/libxl/libxl_domain.c Index: libvirt-6.2.0/src/libxl/libxl_domain.c
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/src/libxl/libxl_domain.c --- libvirt-6.2.0.orig/src/libxl/libxl_domain.c
+++ libvirt-6.1.0/src/libxl/libxl_domain.c +++ libvirt-6.2.0/src/libxl/libxl_domain.c
@@ -1006,8 +1006,8 @@ libxlDomainSetVcpuAffinities(libxlDriver @@ -1020,8 +1020,8 @@ libxlDomainSetVcpuAffinities(libxlDriver
static int static int
libxlDomainFreeMem(libxl_ctx *ctx, libxl_domain_config *d_config) libxlDomainFreeMem(libxl_ctx *ctx, libxl_domain_config *d_config)
{ {
@ -55,7 +55,7 @@ Index: libvirt-6.1.0/src/libxl/libxl_domain.c
int32_t target_mem; int32_t target_mem;
int tries = 3; int tries = 3;
int wait_secs = 10; int wait_secs = 10;
@@ -1401,7 +1401,7 @@ libxlDomainStart(libxlDriverPrivatePtr d @@ -1415,7 +1415,7 @@ libxlDomainStart(libxlDriverPrivatePtr d
params.stream_version = restore_ver; params.stream_version = restore_ver;
#endif #endif
ret = libxl_domain_create_restore(cfg->ctx, &d_config, &domid, ret = libxl_domain_create_restore(cfg->ctx, &d_config, &domid,
@ -64,10 +64,10 @@ Index: libvirt-6.1.0/src/libxl/libxl_domain.c
&aop_console_how); &aop_console_how);
libxl_domain_restore_params_dispose(&params); libxl_domain_restore_params_dispose(&params);
} }
Index: libvirt-6.1.0/tests/libxlmock.c Index: libvirt-6.2.0/tests/libxlmock.c
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/tests/libxlmock.c --- libvirt-6.2.0.orig/tests/libxlmock.c
+++ libvirt-6.1.0/tests/libxlmock.c +++ libvirt-6.2.0/tests/libxlmock.c
@@ -67,7 +67,7 @@ VIR_MOCK_IMPL_RET_ARGS(libxl_get_version @@ -67,7 +67,7 @@ VIR_MOCK_IMPL_RET_ARGS(libxl_get_version
VIR_MOCK_STUB_RET_ARGS(libxl_get_free_memory, VIR_MOCK_STUB_RET_ARGS(libxl_get_free_memory,
int, 0, int, 0,

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-6.1.0/tools/libvirt-guests.sh.in Index: libvirt-6.2.0/tools/libvirt-guests.sh.in
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/tools/libvirt-guests.sh.in --- libvirt-6.2.0.orig/tools/libvirt-guests.sh.in
+++ libvirt-6.1.0/tools/libvirt-guests.sh.in +++ libvirt-6.2.0/tools/libvirt-guests.sh.in
@@ -16,14 +16,13 @@ @@ -16,14 +16,13 @@
# License along with this library. If not, see # License along with this library. If not, see
# <http://www.gnu.org/licenses/>. # <http://www.gnu.org/licenses/>.
@ -163,10 +163,10 @@ Index: libvirt-6.1.0/tools/libvirt-guests.sh.in
esac esac
-exit $RETVAL -exit $RETVAL
+rc_exit +rc_exit
Index: libvirt-6.1.0/tools/libvirt-guests.sysconf Index: libvirt-6.2.0/tools/libvirt-guests.sysconf
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/tools/libvirt-guests.sysconf --- libvirt-6.2.0.orig/tools/libvirt-guests.sysconf
+++ libvirt-6.1.0/tools/libvirt-guests.sysconf +++ libvirt-6.2.0/tools/libvirt-guests.sysconf
@@ -1,19 +1,29 @@ @@ -1,19 +1,29 @@
+## Path: System/Virtualization/libvirt-guests +## Path: System/Virtualization/libvirt-guests
+ +

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-6.1.0/src/remote/remote_daemon_config.c Index: libvirt-6.2.0/src/remote/remote_daemon_config.c
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/src/remote/remote_daemon_config.c --- libvirt-6.2.0.orig/src/remote/remote_daemon_config.c
+++ libvirt-6.1.0/src/remote/remote_daemon_config.c +++ libvirt-6.2.0/src/remote/remote_daemon_config.c
@@ -99,7 +99,7 @@ daemonConfigNew(bool privileged G_GNUC_U @@ -99,7 +99,7 @@ daemonConfigNew(bool privileged G_GNUC_U
#ifdef WITH_IP #ifdef WITH_IP
@ -16,10 +16,10 @@ Index: libvirt-6.1.0/src/remote/remote_daemon_config.c
# else /* ! LIBVIRTD */ # else /* ! LIBVIRTD */
data->listen_tls = 0; /* Always honoured, --listen doesn't exist. */ data->listen_tls = 0; /* Always honoured, --listen doesn't exist. */
# endif /* ! LIBVIRTD */ # endif /* ! LIBVIRTD */
Index: libvirt-6.1.0/src/remote/libvirtd.conf.in Index: libvirt-6.2.0/src/remote/libvirtd.conf.in
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/src/remote/libvirtd.conf.in --- libvirt-6.2.0.orig/src/remote/libvirtd.conf.in
+++ libvirt-6.1.0/src/remote/libvirtd.conf.in +++ libvirt-6.2.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.

View File

@ -1,9 +1,9 @@
Adjust libvirtd sysconfig file to conform to SUSE standards Adjust libvirtd sysconfig file to conform to SUSE standards
Index: libvirt-6.1.0/src/remote/libvirtd.sysconf Index: libvirt-6.2.0/src/remote/libvirtd.sysconf
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/src/remote/libvirtd.sysconf --- libvirt-6.2.0.orig/src/remote/libvirtd.sysconf
+++ libvirt-6.1.0/src/remote/libvirtd.sysconf +++ libvirt-6.2.0/src/remote/libvirtd.sysconf
@@ -1,5 +1,9 @@ @@ -1,5 +1,9 @@
+## Path: System/Virtualization/libvirt +## Path: System/Virtualization/libvirt
# Customizations for the libvirtd.service systemd unit # Customizations for the libvirtd.service systemd unit

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-6.1.0/src/libxl/libxl.conf Index: libvirt-6.2.0/src/libxl/libxl.conf
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/src/libxl/libxl.conf --- libvirt-6.2.0.orig/src/libxl/libxl.conf
+++ libvirt-6.1.0/src/libxl/libxl.conf +++ libvirt-6.2.0/src/libxl/libxl.conf
@@ -4,12 +4,11 @@ @@ -4,12 +4,11 @@
# Enable autoballooning of domain0 # Enable autoballooning of domain0
@ -27,10 +27,10 @@ Index: libvirt-6.1.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-6.1.0/src/libxl/libxl_conf.c Index: libvirt-6.2.0/src/libxl/libxl_conf.c
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/src/libxl/libxl_conf.c --- libvirt-6.2.0.orig/src/libxl/libxl_conf.c
+++ libvirt-6.1.0/src/libxl/libxl_conf.c +++ libvirt-6.2.0/src/libxl/libxl_conf.c
@@ -1698,15 +1698,12 @@ libxlMakeBuildInfoVfb(virPortAllocatorRa @@ -1698,15 +1698,12 @@ libxlMakeBuildInfoVfb(virPortAllocatorRa
/* /*
* Get domain0 autoballoon configuration. Honor user-specified * Get domain0 autoballoon configuration. Honor user-specified

View File

@ -1,9 +1,9 @@
Adjust paths of OVMF firmwares on SUSE distros Adjust paths of OVMF firmwares on SUSE distros
Index: libvirt-6.1.0/src/qemu/qemu.conf Index: libvirt-6.2.0/src/qemu/qemu.conf
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/src/qemu/qemu.conf --- libvirt-6.2.0.orig/src/qemu/qemu.conf
+++ libvirt-6.1.0/src/qemu/qemu.conf +++ libvirt-6.2.0/src/qemu/qemu.conf
@@ -788,10 +788,9 @@ @@ -788,10 +788,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.
@ -18,10 +18,10 @@ Index: libvirt-6.1.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-6.1.0/src/qemu/qemu_conf.c Index: libvirt-6.2.0/src/qemu/qemu_conf.c
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/src/qemu/qemu_conf.c --- libvirt-6.2.0.orig/src/qemu/qemu_conf.c
+++ libvirt-6.1.0/src/qemu/qemu_conf.c +++ libvirt-6.2.0/src/qemu/qemu_conf.c
@@ -95,10 +95,9 @@ qemuDriverUnlock(virQEMUDriverPtr driver @@ -95,10 +95,9 @@ qemuDriverUnlock(virQEMUDriverPtr driver
#ifndef DEFAULT_LOADER_NVRAM #ifndef DEFAULT_LOADER_NVRAM
@ -36,11 +36,11 @@ Index: libvirt-6.1.0/src/qemu/qemu_conf.c
#endif #endif
Index: libvirt-6.1.0/src/security/virt-aa-helper.c Index: libvirt-6.2.0/src/security/virt-aa-helper.c
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/src/security/virt-aa-helper.c --- libvirt-6.2.0.orig/src/security/virt-aa-helper.c
+++ libvirt-6.1.0/src/security/virt-aa-helper.c +++ libvirt-6.2.0/src/security/virt-aa-helper.c
@@ -490,7 +490,8 @@ valid_path(const char *path, const bool @@ -479,7 +479,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 */
"/usr/share/qemu-efi/", /* for AAVMF images */ "/usr/share/qemu-efi/", /* for AAVMF images */

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-6.1.0/src/qemu/qemu.conf Index: libvirt-6.2.0/src/qemu/qemu.conf
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/src/qemu/qemu.conf --- libvirt-6.2.0.orig/src/qemu/qemu.conf
+++ libvirt-6.1.0/src/qemu/qemu.conf +++ libvirt-6.2.0/src/qemu/qemu.conf
@@ -420,10 +420,19 @@ @@ -420,10 +420,19 @@
# isolation, but it cannot appear in a list of drivers. # isolation, but it cannot appear in a list of drivers.
# #
@ -60,13 +60,13 @@ Index: libvirt-6.1.0/src/qemu/qemu.conf
# #
#lock_manager = "lockd" #lock_manager = "lockd"
Index: libvirt-6.1.0/src/qemu/qemu_conf.c Index: libvirt-6.2.0/src/qemu/qemu_conf.c
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/src/qemu/qemu_conf.c --- libvirt-6.2.0.orig/src/qemu/qemu_conf.c
+++ libvirt-6.1.0/src/qemu/qemu_conf.c +++ libvirt-6.2.0/src/qemu/qemu_conf.c
@@ -263,7 +263,7 @@ virQEMUDriverConfigPtr virQEMUDriverConf @@ -266,7 +266,7 @@ virQEMUDriverConfigPtr virQEMUDriverConf
cfg->prHelperName = g_strdup(QEMU_PR_HELPER);
cfg->slirpHelperName = g_strdup(QEMU_SLIRP_HELPER); cfg->slirpHelperName = g_strdup(QEMU_SLIRP_HELPER);
cfg->dbusDaemonName = g_strdup(QEMU_DBUS_DAEMON);
- cfg->securityDefaultConfined = true; - cfg->securityDefaultConfined = true;
+ cfg->securityDefaultConfined = false; + cfg->securityDefaultConfined = false;

View File

@ -1,9 +1,9 @@
Adjust virtlockd sysconfig file to conform to SUSE standards Adjust virtlockd sysconfig file to conform to SUSE standards
Index: libvirt-6.1.0/src/locking/virtlockd.sysconf Index: libvirt-6.2.0/src/locking/virtlockd.sysconf
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/src/locking/virtlockd.sysconf --- libvirt-6.2.0.orig/src/locking/virtlockd.sysconf
+++ libvirt-6.1.0/src/locking/virtlockd.sysconf +++ libvirt-6.2.0/src/locking/virtlockd.sysconf
@@ -1,3 +1,7 @@ @@ -1,3 +1,7 @@
+## Path: System/Virtualization/virtlockd +## Path: System/Virtualization/virtlockd
+ +

View File

@ -1,9 +1,9 @@
Adjust virtlogd sysconfig file to conform to SUSE standards Adjust virtlogd sysconfig file to conform to SUSE standards
Index: libvirt-6.1.0/src/logging/virtlogd.sysconf Index: libvirt-6.2.0/src/logging/virtlogd.sysconf
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/src/logging/virtlogd.sysconf --- libvirt-6.2.0.orig/src/logging/virtlogd.sysconf
+++ libvirt-6.1.0/src/logging/virtlogd.sysconf +++ libvirt-6.2.0/src/logging/virtlogd.sysconf
@@ -1,3 +1,7 @@ @@ -1,3 +1,7 @@
+## Path: System/Virtualization/virtlogd +## Path: System/Virtualization/virtlogd
+ +

View File

@ -5,10 +5,10 @@ upstream support for firmware autoselection in the xen driver. Sadly, the
upstream efforts to improve firmware handling in the qemu driver broke upstream efforts to improve firmware handling in the qemu driver broke
the firmware handling in the xen driver. the firmware handling in the xen driver.
Index: libvirt-6.1.0/src/libxl/libxl_conf.c Index: libvirt-6.2.0/src/libxl/libxl_conf.c
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/src/libxl/libxl_conf.c --- libvirt-6.2.0.orig/src/libxl/libxl_conf.c
+++ libvirt-6.1.0/src/libxl/libxl_conf.c +++ libvirt-6.2.0/src/libxl/libxl_conf.c
@@ -1738,6 +1738,15 @@ libxlDriverConfigNew(void) @@ -1738,6 +1738,15 @@ libxlDriverConfigNew(void)
cfg->autoDumpDir = g_strdup(LIBXL_DUMP_DIR); cfg->autoDumpDir = g_strdup(LIBXL_DUMP_DIR);
cfg->channelDir = g_strdup(LIBXL_CHANNEL_DIR); cfg->channelDir = g_strdup(LIBXL_CHANNEL_DIR);

View File

@ -1,7 +1,7 @@
Index: libvirt-6.1.0/tools/Makefile.am Index: libvirt-6.2.0/tools/Makefile.am
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/tools/Makefile.am --- libvirt-6.2.0.orig/tools/Makefile.am
+++ libvirt-6.1.0/tools/Makefile.am +++ libvirt-6.2.0/tools/Makefile.am
@@ -70,7 +70,7 @@ MAINTAINERCLEANFILES = @@ -70,7 +70,7 @@ MAINTAINERCLEANFILES =
confdir = $(sysconfdir)/libvirt confdir = $(sysconfdir)/libvirt
conf_DATA = conf_DATA =
@ -11,10 +11,10 @@ Index: libvirt-6.1.0/tools/Makefile.am
bin_PROGRAMS = virsh virt-admin bin_PROGRAMS = virsh virt-admin
libexec_SCRIPTS = libvirt-guests.sh libexec_SCRIPTS = libvirt-guests.sh
Index: libvirt-6.1.0/tools/virt-create-rootfs Index: libvirt-6.2.0/tools/virt-create-rootfs
=================================================================== ===================================================================
--- /dev/null --- /dev/null
+++ libvirt-6.1.0/tools/virt-create-rootfs +++ libvirt-6.2.0/tools/virt-create-rootfs
@@ -0,0 +1,231 @@ @@ -0,0 +1,231 @@
+#!/bin/sh +#!/bin/sh
+set -e +set -e
@ -247,10 +247,10 @@ Index: libvirt-6.1.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-6.1.0/docs/Makefile.am Index: libvirt-6.2.0/docs/Makefile.am
=================================================================== ===================================================================
--- libvirt-6.1.0.orig/docs/Makefile.am --- libvirt-6.2.0.orig/docs/Makefile.am
+++ libvirt-6.1.0/docs/Makefile.am +++ libvirt-6.2.0/docs/Makefile.am
@@ -209,6 +209,7 @@ manpages1_rst = \ @@ -209,6 +209,7 @@ manpages1_rst = \
manpages/virt-xml-validate.rst \ manpages/virt-xml-validate.rst \
manpages/virt-admin.rst \ manpages/virt-admin.rst \
@ -259,10 +259,10 @@ Index: libvirt-6.1.0/docs/Makefile.am
$(NULL) $(NULL)
manpages7_rst = \ manpages7_rst = \
$(KEYCODES:%=manpages/virkeycode-%.rst) \ $(KEYCODES:%=manpages/virkeycode-%.rst) \
Index: libvirt-6.1.0/docs/manpages/virt-create-rootfs.rst Index: libvirt-6.2.0/docs/manpages/virt-create-rootfs.rst
=================================================================== ===================================================================
--- /dev/null --- /dev/null
+++ libvirt-6.1.0/docs/manpages/virt-create-rootfs.rst +++ libvirt-6.2.0/docs/manpages/virt-create-rootfs.rst
@@ -0,0 +1,88 @@ @@ -0,0 +1,88 @@
+================== +==================
+virt-create-rootfs +virt-create-rootfs