SHA256
1
0
forked from pool/libvirt

Accepting request 764822 from home:jfehlig:branches:Virtualization

- Update to libvirt 6.0.0
  - jsc#SLE-6997, jsc#SLE-6998
  - Many incremental improvements and bug fixes, see
    https://libvirt.org/news.html
  - Dropped patches:
    0a65cba4-news-fix.patch 07aaced4-Add-TAA-No.patch,
    f411b7ef6-Add-TSX-CTRL.patch, 50d7465f-qemu-firmware1.patch,
    57f9067c-qemu-firmware2.patch, 7c5264d2-qemu-firmware3.patch,
    8e1804f9-qemu-firmware4.patch, 8fcee478-qemu-firmware5.patch

OBS-URL: https://build.opensuse.org/request/show/764822
OBS-URL: https://build.opensuse.org/package/show/Virtualization/libvirt?expand=0&rev=796
This commit is contained in:
James Fehlig 2020-01-16 01:52:12 +00:00 committed by Git OBS Bridge
parent 847bd42369
commit 94803fa053
38 changed files with 334 additions and 900 deletions

View File

@ -18,10 +18,10 @@ them.
create mode 100644 src/conf/domain_stats.c
create mode 100644 src/conf/domain_stats.h
Index: libvirt-5.10.0/src/conf/domain_stats.c
Index: libvirt-6.0.0/src/conf/domain_stats.c
===================================================================
--- /dev/null
+++ libvirt-5.10.0/src/conf/domain_stats.c
+++ libvirt-6.0.0/src/conf/domain_stats.c
@@ -0,0 +1,119 @@
+/*
+ * domain_stats.c: domain stats extraction helpers
@ -142,10 +142,10 @@ Index: libvirt-5.10.0/src/conf/domain_stats.c
+}
+
+#undef STATS_ADD_NET_PARAM
Index: libvirt-5.10.0/src/conf/domain_stats.h
Index: libvirt-6.0.0/src/conf/domain_stats.h
===================================================================
--- /dev/null
+++ libvirt-5.10.0/src/conf/domain_stats.h
+++ libvirt-6.0.0/src/conf/domain_stats.h
@@ -0,0 +1,62 @@
+/*
+ * domain_stats.h: domain stats extraction helpers
@ -209,11 +209,11 @@ Index: libvirt-5.10.0/src/conf/domain_stats.h
+ virTypedParamListPtr params);
+
+#endif /* __DOMAIN_STATS_H */
Index: libvirt-5.10.0/src/libvirt_private.syms
Index: libvirt-6.0.0/src/libvirt_private.syms
===================================================================
--- libvirt-5.10.0.orig/src/libvirt_private.syms
+++ libvirt-5.10.0/src/libvirt_private.syms
@@ -699,6 +699,9 @@ virDomainConfNWFilterInstantiate;
--- libvirt-6.0.0.orig/src/libvirt_private.syms
+++ libvirt-6.0.0/src/libvirt_private.syms
@@ -714,6 +714,9 @@ virDomainConfNWFilterInstantiate;
virDomainConfNWFilterTeardown;
virDomainConfVMNWFilterTeardown;
@ -223,7 +223,7 @@ Index: libvirt-5.10.0/src/libvirt_private.syms
# conf/interface_conf.h
virInterfaceDefFormat;
@@ -1671,6 +1674,7 @@ virCgroupGetMemoryUsage;
@@ -1691,6 +1694,7 @@ virCgroupGetMemoryUsage;
virCgroupGetMemSwapHardLimit;
virCgroupGetMemSwapUsage;
virCgroupGetPercpuStats;
@ -231,11 +231,11 @@ Index: libvirt-5.10.0/src/libvirt_private.syms
virCgroupHasController;
virCgroupHasEmptyTasks;
virCgroupKillPainfully;
Index: libvirt-5.10.0/src/qemu/qemu_driver.c
Index: libvirt-6.0.0/src/qemu/qemu_driver.c
===================================================================
--- libvirt-5.10.0.orig/src/qemu/qemu_driver.c
+++ libvirt-5.10.0/src/qemu/qemu_driver.c
@@ -66,6 +66,7 @@
--- libvirt-6.0.0.orig/src/qemu/qemu_driver.c
+++ libvirt-6.0.0/src/qemu/qemu_driver.c
@@ -67,6 +67,7 @@
#include "virarptable.h"
#include "viruuid.h"
#include "domain_conf.h"
@ -243,7 +243,7 @@ Index: libvirt-5.10.0/src/qemu/qemu_driver.c
#include "domain_audit.h"
#include "node_device_conf.h"
#include "virpci.h"
@@ -20388,13 +20389,7 @@ qemuDomainGetStatsState(virQEMUDriverPtr
@@ -20584,13 +20585,7 @@ qemuDomainGetStatsState(virQEMUDriverPtr
virTypedParamListPtr params,
unsigned int privflags G_GNUC_UNUSED)
{
@ -258,7 +258,7 @@ Index: libvirt-5.10.0/src/qemu/qemu_driver.c
}
@@ -20595,17 +20590,7 @@ qemuDomainGetStatsCpuCgroup(virDomainObj
@@ -20893,17 +20888,7 @@ qemuDomainGetStatsCpuCgroup(virDomainObj
if (!priv->cgroup)
return 0;
@ -277,7 +277,7 @@ Index: libvirt-5.10.0/src/qemu/qemu_driver.c
}
@@ -20762,76 +20747,15 @@ qemuDomainGetStatsVcpu(virQEMUDriverPtr
@@ -21071,76 +21056,15 @@ qemuDomainGetStatsVcpu(virQEMUDriverPtr
return ret;
}
@ -355,10 +355,10 @@ Index: libvirt-5.10.0/src/qemu/qemu_driver.c
/* refresh information by opening images on the disk */
static int
Index: libvirt-5.10.0/src/util/vircgroup.c
Index: libvirt-6.0.0/src/util/vircgroup.c
===================================================================
--- libvirt-5.10.0.orig/src/util/vircgroup.c
+++ libvirt-5.10.0/src/util/vircgroup.c
--- libvirt-6.0.0.orig/src/util/vircgroup.c
+++ libvirt-6.0.0/src/util/vircgroup.c
@@ -2773,6 +2773,31 @@ virCgroupControllerAvailable(int control
return ret;
}
@ -406,10 +406,10 @@ Index: libvirt-5.10.0/src/util/vircgroup.c
int
virCgroupNewPartition(const char *path G_GNUC_UNUSED,
bool create G_GNUC_UNUSED,
Index: libvirt-5.10.0/src/util/vircgroup.h
Index: libvirt-6.0.0/src/util/vircgroup.h
===================================================================
--- libvirt-5.10.0.orig/src/util/vircgroup.h
+++ libvirt-5.10.0/src/util/vircgroup.h
--- libvirt-6.0.0.orig/src/util/vircgroup.h
+++ libvirt-6.0.0/src/util/vircgroup.h
@@ -24,6 +24,7 @@
#include "virutil.h"
#include "virbitmap.h"
@ -425,11 +425,11 @@ Index: libvirt-5.10.0/src/util/vircgroup.h
+
+int virCgroupGetStatsCpu(virCgroupPtr cgroup,
+ virTypedParamListPtr params);
Index: libvirt-5.10.0/src/conf/Makefile.inc.am
Index: libvirt-6.0.0/src/conf/Makefile.inc.am
===================================================================
--- libvirt-5.10.0.orig/src/conf/Makefile.inc.am
+++ libvirt-5.10.0/src/conf/Makefile.inc.am
@@ -26,6 +26,8 @@ DOMAIN_CONF_SOURCES = \
--- libvirt-6.0.0.orig/src/conf/Makefile.inc.am
+++ libvirt-6.0.0/src/conf/Makefile.inc.am
@@ -28,6 +28,8 @@ DOMAIN_CONF_SOURCES = \
conf/domain_audit.h \
conf/domain_nwfilter.c \
conf/domain_nwfilter.h \

View File

@ -19,11 +19,11 @@ reworking this patch and submitting it to upstream libvirt.
src/libxl/libxl_driver.c | 91 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 91 insertions(+)
Index: libvirt-5.10.0/src/libxl/libxl_driver.c
Index: libvirt-6.0.0/src/libxl/libxl_driver.c
===================================================================
--- libvirt-5.10.0.orig/src/libxl/libxl_driver.c
+++ libvirt-5.10.0/src/libxl/libxl_driver.c
@@ -5281,6 +5281,96 @@ libxlDomainMemoryStats(virDomainPtr dom,
--- libvirt-6.0.0.orig/src/libxl/libxl_driver.c
+++ libvirt-6.0.0/src/libxl/libxl_driver.c
@@ -5275,6 +5275,96 @@ libxlDomainMemoryStats(virDomainPtr dom,
#undef LIBXL_SET_MEMSTAT
@ -120,7 +120,7 @@ Index: libvirt-5.10.0/src/libxl/libxl_driver.c
static int
libxlDomainGetJobInfo(virDomainPtr dom,
virDomainJobInfoPtr info)
@@ -6718,6 +6808,7 @@ static virHypervisorDriver libxlHypervis
@@ -6693,6 +6783,7 @@ static virHypervisorDriver libxlHypervis
#endif
.nodeGetFreeMemory = libxlNodeGetFreeMemory, /* 0.9.0 */
.nodeGetCellsFreeMemory = libxlNodeGetCellsFreeMemory, /* 1.1.1 */

View File

@ -9,10 +9,10 @@ them using the existing API.
src/lxc/lxc_driver.c | 138 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 138 insertions(+)
Index: libvirt-5.10.0/src/lxc/lxc_driver.c
Index: libvirt-6.0.0/src/lxc/lxc_driver.c
===================================================================
--- libvirt-5.10.0.orig/src/lxc/lxc_driver.c
+++ libvirt-5.10.0/src/lxc/lxc_driver.c
--- libvirt-6.0.0.orig/src/lxc/lxc_driver.c
+++ libvirt-6.0.0/src/lxc/lxc_driver.c
@@ -75,6 +75,7 @@
#include "viraccessapichecklxc.h"
#include "virhostdev.h"
@ -21,7 +21,7 @@ Index: libvirt-5.10.0/src/lxc/lxc_driver.c
#define VIR_FROM_THIS VIR_FROM_LXC
@@ -5382,6 +5383,135 @@ lxcDomainHasManagedSaveImage(virDomainPt
@@ -5351,6 +5352,135 @@ lxcDomainHasManagedSaveImage(virDomainPt
return ret;
}
@ -157,7 +157,7 @@ Index: libvirt-5.10.0/src/lxc/lxc_driver.c
/* Function Tables */
static virHypervisorDriver lxcHypervisorDriver = {
@@ -5477,6 +5607,7 @@ static virHypervisorDriver lxcHypervisor
@@ -5446,6 +5576,7 @@ static virHypervisorDriver lxcHypervisor
.nodeGetFreePages = lxcNodeGetFreePages, /* 1.2.6 */
.nodeAllocPages = lxcNodeAllocPages, /* 1.2.9 */
.domainHasManagedSaveImage = lxcDomainHasManagedSaveImage, /* 1.2.13 */

View File

@ -1,27 +0,0 @@
commit 07aaced4e6ea6db8b27f44636f51cafa6f1847a8
Author: Jiri Denemark <jdenemar@redhat.com>
Date: Thu Dec 12 15:12:05 2019 +0100
cpu_map: Add TAA_NO bit for IA32_ARCH_CAPABILITIES MSR
CVE-2019-11135
CPUs with TAA_NO bit of IA32_ARCH_CAPABILITIES MSR set to 1 are not
vulnerable to TSX Asynchronous Abort and passing this bit to a guest
may avoid unnecessary mitigations.
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Index: libvirt-5.10.0/src/cpu_map/x86_features.xml
===================================================================
--- libvirt-5.10.0.orig/src/cpu_map/x86_features.xml
+++ libvirt-5.10.0/src/cpu_map/x86_features.xml
@@ -502,4 +502,7 @@
<feature name='mds-no'>
<msr index='0x10a' edx='0x00000000' eax='0x00000020'/>
</feature>
+ <feature name='taa-no'>
+ <msr index='0x10a' edx='0x00000000' eax='0x00000100'/>
+ </feature>
</cpus>

View File

@ -1,30 +0,0 @@
commit 0a65cba423781f2cbf123354b7f670c4f441b385
Author: Jim Fehlig <jfehlig@suse.com>
Date: Mon Dec 2 20:48:24 2019 -0700
news: Fix XML validation
The news schema requires two digits for both month and day in the date
attribute. s/2/02/ in the day value of date to fix the following
'make check' failure
2165) Checking ../docs/news.xml against ../news.rng ...
libvirt: XML Util error : XML document failed to validate against schema:
Unable to validate doc against /home/jfehlig/virt/upstream/libvirt/build/../docs/schemas/../news.rng
Element release failed to validate attributes
Signed-off-by: Jim Fehlig <jfehlig@suse.com>
Index: libvirt-5.10.0/docs/news.xml
===================================================================
--- libvirt-5.10.0.orig/docs/news.xml
+++ libvirt-5.10.0/docs/news.xml
@@ -42,7 +42,7 @@
-->
<libvirt>
- <release version="v5.10.0" date="2019-12-2">
+ <release version="v5.10.0" date="2019-12-02">
<section title="New features">
<change>
<summary>

View File

@ -1,93 +0,0 @@
commit 50d7465f3d5e7ee23af91059784bc51f4c316481
Author: Michal Prívozník <mprivozn@redhat.com>
Date: Fri Dec 13 15:41:16 2019 +0100
qemu_firmware: Pass virDomainDef into qemuFirmwareFillDomain()
This function needs domain definition really, we don't need to
pass the whole domain object. This saves couple of dereferences
and characters esp. in more checks to come.
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Cole Robinson <crobinso@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Index: libvirt-5.10.0/src/qemu/qemu_firmware.c
===================================================================
--- libvirt-5.10.0.orig/src/qemu/qemu_firmware.c
+++ libvirt-5.10.0/src/qemu/qemu_firmware.c
@@ -1204,7 +1204,7 @@ qemuFirmwareFetchParsedConfigs(bool priv
int
qemuFirmwareFillDomain(virQEMUDriverPtr driver,
- virDomainObjPtr vm,
+ virDomainDefPtr def,
unsigned int flags)
{
VIR_AUTOSTRINGLIST paths = NULL;
@@ -1217,7 +1217,7 @@ qemuFirmwareFillDomain(virQEMUDriverPtr
if (!(flags & VIR_QEMU_PROCESS_START_NEW))
return 0;
- if (vm->def->os.firmware == VIR_DOMAIN_OS_DEF_FIRMWARE_NONE)
+ if (def->os.firmware == VIR_DOMAIN_OS_DEF_FIRMWARE_NONE)
return 0;
if ((nfirmwares = qemuFirmwareFetchParsedConfigs(driver->privileged,
@@ -1225,7 +1225,7 @@ qemuFirmwareFillDomain(virQEMUDriverPtr
return -1;
for (i = 0; i < nfirmwares; i++) {
- if (qemuFirmwareMatchDomain(vm->def, firmwares[i], paths[i])) {
+ if (qemuFirmwareMatchDomain(def, firmwares[i], paths[i])) {
theone = firmwares[i];
VIR_DEBUG("Found matching firmware (description path '%s')",
paths[i]);
@@ -1236,7 +1236,7 @@ qemuFirmwareFillDomain(virQEMUDriverPtr
if (!theone) {
virReportError(VIR_ERR_OPERATION_FAILED,
_("Unable to find any firmware to satisfy '%s'"),
- virDomainOsDefFirmwareTypeToString(vm->def->os.firmware));
+ virDomainOsDefFirmwareTypeToString(def->os.firmware));
goto cleanup;
}
@@ -1245,10 +1245,10 @@ qemuFirmwareFillDomain(virQEMUDriverPtr
* likely that admin/FW manufacturer messed up. */
qemuFirmwareSanityCheck(theone, paths[i]);
- if (qemuFirmwareEnableFeatures(driver, vm->def, theone) < 0)
+ if (qemuFirmwareEnableFeatures(driver, def, theone) < 0)
goto cleanup;
- vm->def->os.firmware = VIR_DOMAIN_OS_DEF_FIRMWARE_NONE;
+ def->os.firmware = VIR_DOMAIN_OS_DEF_FIRMWARE_NONE;
ret = 0;
cleanup:
Index: libvirt-5.10.0/src/qemu/qemu_firmware.h
===================================================================
--- libvirt-5.10.0.orig/src/qemu/qemu_firmware.h
+++ libvirt-5.10.0/src/qemu/qemu_firmware.h
@@ -45,7 +45,7 @@ qemuFirmwareFetchConfigs(char ***firmwar
int
qemuFirmwareFillDomain(virQEMUDriverPtr driver,
- virDomainObjPtr vm,
+ virDomainDefPtr def,
unsigned int flags);
int
Index: libvirt-5.10.0/src/qemu/qemu_process.c
===================================================================
--- libvirt-5.10.0.orig/src/qemu/qemu_process.c
+++ libvirt-5.10.0/src/qemu/qemu_process.c
@@ -6289,7 +6289,7 @@ qemuProcessPrepareDomain(virQEMUDriverPt
goto cleanup;
VIR_DEBUG("Prepare bios/uefi paths");
- if (qemuFirmwareFillDomain(driver, vm, flags) < 0)
+ if (qemuFirmwareFillDomain(driver, vm->def, flags) < 0)
goto cleanup;
if (qemuDomainInitializePflashStorageSource(vm) < 0)
goto cleanup;

View File

@ -1,61 +0,0 @@
commit 57f9067ca3efffcfbbc7cd3f435482b63f875b72
Author: Michal Prívozník <mprivozn@redhat.com>
Date: Tue Jan 7 10:10:02 2020 +0100
qemu_firmware: Introduce @want variable to qemuFirmwareMatchDomain()
This simplifies condition when matching FW interface by having a
single line condition instead of multiline one. Also, it prepares
the code for future expansion.
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Index: libvirt-5.10.0/src/qemu/qemu_firmware.c
===================================================================
--- libvirt-5.10.0.orig/src/qemu/qemu_firmware.c
+++ libvirt-5.10.0/src/qemu/qemu_firmware.c
@@ -930,22 +930,39 @@ qemuFirmwareMatchesMachineArch(const qem
}
+static qemuFirmwareOSInterface
+qemuFirmwareOSInterfaceTypeFromOsDefFirmware(virDomainOsDefFirmware fw)
+{
+ switch (fw) {
+ case VIR_DOMAIN_OS_DEF_FIRMWARE_BIOS:
+ return QEMU_FIRMWARE_OS_INTERFACE_BIOS;
+ case VIR_DOMAIN_OS_DEF_FIRMWARE_EFI:
+ return QEMU_FIRMWARE_OS_INTERFACE_UEFI;
+ case VIR_DOMAIN_OS_DEF_FIRMWARE_NONE:
+ case VIR_DOMAIN_OS_DEF_FIRMWARE_LAST:
+ break;
+ }
+
+ return QEMU_FIRMWARE_OS_INTERFACE_NONE;
+}
+
+
static bool
qemuFirmwareMatchDomain(const virDomainDef *def,
const qemuFirmware *fw,
const char *path)
{
size_t i;
+ qemuFirmwareOSInterface want;
bool supportsS3 = false;
bool supportsS4 = false;
bool requiresSMM = false;
bool supportsSEV = false;
+ want = qemuFirmwareOSInterfaceTypeFromOsDefFirmware(def->os.firmware);
+
for (i = 0; i < fw->ninterfaces; i++) {
- if ((def->os.firmware == VIR_DOMAIN_OS_DEF_FIRMWARE_BIOS &&
- fw->interfaces[i] == QEMU_FIRMWARE_OS_INTERFACE_BIOS) ||
- (def->os.firmware == VIR_DOMAIN_OS_DEF_FIRMWARE_EFI &&
- fw->interfaces[i] == QEMU_FIRMWARE_OS_INTERFACE_UEFI))
+ if (fw->interfaces[i] == want)
break;
}

View File

@ -1,178 +0,0 @@
commit 7c5264d2bee6c0bce152f5159f70e525ef0d0ebc
Author: Michal Prívozník <mprivozn@redhat.com>
Date: Tue Jan 7 10:34:03 2020 +0100
src: Introduce and use virDomainDefHasOldStyleUEFI() and virDomainDefHasOldStyleROUEFI()
These functions are meant to replace verbose check for the old
style of specifying UEFI with a simple function call.
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Index: libvirt-5.10.0/src/bhyve/bhyve_driver.c
===================================================================
--- libvirt-5.10.0.orig/src/bhyve/bhyve_driver.c
+++ libvirt-5.10.0/src/bhyve/bhyve_driver.c
@@ -714,8 +714,7 @@ bhyveConnectDomainXMLToNative(virConnect
if (def->os.bootloader == NULL &&
def->os.loader) {
- if ((def->os.loader->readonly != VIR_TRISTATE_BOOL_YES) ||
- (def->os.loader->type != VIR_DOMAIN_LOADER_TYPE_PFLASH)) {
+ if (!virDomainDefHasOldStyleROUEFI(def)) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("Only read-only pflash is supported."));
goto cleanup;
Index: libvirt-5.10.0/src/conf/domain_conf.c
===================================================================
--- libvirt-5.10.0.orig/src/conf/domain_conf.c
+++ libvirt-5.10.0/src/conf/domain_conf.c
@@ -31400,6 +31400,22 @@ virDomainDefHasMdevHostdev(const virDoma
}
+bool
+virDomainDefHasOldStyleUEFI(const virDomainDef *def)
+{
+ return def->os.loader &&
+ def->os.loader->type == VIR_DOMAIN_LOADER_TYPE_PFLASH;
+}
+
+
+bool
+virDomainDefHasOldStyleROUEFI(const virDomainDef *def)
+{
+ return virDomainDefHasOldStyleUEFI(def) &&
+ def->os.loader->readonly == VIR_TRISTATE_BOOL_YES;
+}
+
+
/**
* virDomainGraphicsDefHasOpenGL:
* @def: domain definition
Index: libvirt-5.10.0/src/conf/domain_conf.h
===================================================================
--- libvirt-5.10.0.orig/src/conf/domain_conf.h
+++ libvirt-5.10.0/src/conf/domain_conf.h
@@ -3681,6 +3681,12 @@ bool
virDomainDefHasMdevHostdev(const virDomainDef *def);
bool
+virDomainDefHasOldStyleUEFI(const virDomainDef *def);
+
+bool
+virDomainDefHasOldStyleROUEFI(const virDomainDef *def);
+
+bool
virDomainGraphicsDefHasOpenGL(const virDomainDef *def);
bool
Index: libvirt-5.10.0/src/libvirt_private.syms
===================================================================
--- libvirt-5.10.0.orig/src/libvirt_private.syms
+++ libvirt-5.10.0/src/libvirt_private.syms
@@ -297,6 +297,8 @@ virDomainDefHasManagedPR;
virDomainDefHasMdevHostdev;
virDomainDefHasMemballoon;
virDomainDefHasMemoryHotplug;
+virDomainDefHasOldStyleROUEFI;
+virDomainDefHasOldStyleUEFI;
virDomainDefHasUSB;
virDomainDefHasVcpusOffline;
virDomainDefHasVFIOHostdev;
Index: libvirt-5.10.0/src/libxl/libxl_conf.c
===================================================================
--- libvirt-5.10.0.orig/src/libxl/libxl_conf.c
+++ libvirt-5.10.0/src/libxl/libxl_conf.c
@@ -546,8 +546,7 @@ libxlMakeDomBuildInfo(virDomainDefPtr de
* future, Xen will support a user-specified firmware path. See
* http://lists.xenproject.org/archives/html/xen-devel/2016-03/msg01628.html
*/
- if (def->os.loader &&
- def->os.loader->type == VIR_DOMAIN_LOADER_TYPE_PFLASH)
+ if (virDomainDefHasOldStyleUEFI(def))
b_info->u.hvm.bios = LIBXL_BIOS_TYPE_OVMF;
if (def->emulator) {
Index: libvirt-5.10.0/src/libxl/xen_xl.c
===================================================================
--- libvirt-5.10.0.orig/src/libxl/xen_xl.c
+++ libvirt-5.10.0/src/libxl/xen_xl.c
@@ -1235,11 +1235,9 @@ xenFormatXLOS(virConfPtr conf, virDomain
if (xenConfigSetString(conf, "builder", "hvm") < 0)
return -1;
- if (def->os.loader &&
- def->os.loader->type == VIR_DOMAIN_LOADER_TYPE_PFLASH) {
- if (xenConfigSetString(conf, "bios", "ovmf") < 0)
- return -1;
- }
+ if (virDomainDefHasOldStyleUEFI(def) &&
+ xenConfigSetString(conf, "bios", "ovmf") < 0)
+ return -1;
if (def->os.slic_table &&
xenConfigSetString(conf, "acpi_firmware", def->os.slic_table) < 0)
Index: libvirt-5.10.0/src/qemu/qemu_domain.c
===================================================================
--- libvirt-5.10.0.orig/src/qemu/qemu_domain.c
+++ libvirt-5.10.0/src/qemu/qemu_domain.c
@@ -4968,8 +4968,7 @@ qemuDomainDefValidate(const virDomainDef
/* On x86, UEFI requires ACPI */
if ((def->os.firmware == VIR_DOMAIN_OS_DEF_FIRMWARE_EFI ||
- (def->os.loader &&
- def->os.loader->type == VIR_DOMAIN_LOADER_TYPE_PFLASH)) &&
+ virDomainDefHasOldStyleUEFI(def)) &&
ARCH_IS_X86(def->os.arch) &&
def->features[VIR_DOMAIN_FEATURE_ACPI] != VIR_TRISTATE_SWITCH_ON) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
@@ -4981,8 +4980,7 @@ qemuDomainDefValidate(const virDomainDef
if (def->features[VIR_DOMAIN_FEATURE_ACPI] == VIR_TRISTATE_SWITCH_ON &&
def->os.arch == VIR_ARCH_AARCH64 &&
(def->os.firmware != VIR_DOMAIN_OS_DEF_FIRMWARE_EFI &&
- (!def->os.loader ||
- def->os.loader->type != VIR_DOMAIN_LOADER_TYPE_PFLASH))) {
+ !virDomainDefHasOldStyleUEFI(def))) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("ACPI requires UEFI on this architecture"));
goto cleanup;
@@ -15545,12 +15543,9 @@ void
qemuDomainNVRAMPathGenerate(virQEMUDriverConfigPtr cfg,
virDomainDefPtr def)
{
- if (def->os.loader &&
- def->os.loader->type == VIR_DOMAIN_LOADER_TYPE_PFLASH &&
- def->os.loader->readonly == VIR_TRISTATE_BOOL_YES &&
+ if (virDomainDefHasOldStyleROUEFI(def) &&
!def->os.loader->nvram)
qemuDomainNVRAMPathFormat(cfg, def, &def->os.loader->nvram);
-
}
@@ -15677,8 +15672,7 @@ qemuDomainInitializePflashStorageSource(
if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV))
return 0;
- if (!def->os.loader ||
- def->os.loader->type != VIR_DOMAIN_LOADER_TYPE_PFLASH)
+ if (!virDomainDefHasOldStyleUEFI(def))
return 0;
if (!(pflash0 = virStorageSourceNew()))
Index: libvirt-5.10.0/src/qemu/qemu_driver.c
===================================================================
--- libvirt-5.10.0.orig/src/qemu/qemu_driver.c
+++ libvirt-5.10.0/src/qemu/qemu_driver.c
@@ -15129,8 +15129,7 @@ qemuDomainSnapshotPrepare(virDomainObjPt
* Avoid the issues by forbidding internal snapshot with pflash completely.
*/
if (found_internal &&
- vm->def->os.loader &&
- vm->def->os.loader->type == VIR_DOMAIN_LOADER_TYPE_PFLASH) {
+ virDomainDefHasOldStyleUEFI(vm->def)) {
virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
_("internal snapshots of a VM with pflash based "
"firmware are not supported"));

View File

@ -1,102 +0,0 @@
commit 8e1804f9f66f13ca1412d22bf1a957b6d55a2365
Author: Michal Prívozník <mprivozn@redhat.com>
Date: Tue Dec 17 17:45:50 2019 +0100
qemu_firmware: Try to autofill for old style UEFI specification
While we discourage people to use the old style of specifying
UEFI for their domains (the old style is putting path to the FW
image under /domain/os/loader/ whilst the new one is using
/domain/os/@firmware), some applications might have not adapted
yet. They still rely on libvirt autofilling NVRAM path and
figuring out NVRAM template when using the old way (notably
virt-install does this). We must preserve backcompat for this
previously supported config approach. However, since we really
want distro maintainers to leave --with-loader-nvram configure
option and rely on JSON descriptors, we need to implement
autofilling of NVRAM template for the old way too.
Fedora: https://bugzilla.redhat.com/show_bug.cgi?id=1782778
RHEL: https://bugzilla.redhat.com/show_bug.cgi?id=1776949
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Index: libvirt-5.10.0/src/qemu/qemu_firmware.c
===================================================================
--- libvirt-5.10.0.orig/src/qemu/qemu_firmware.c
+++ libvirt-5.10.0/src/qemu/qemu_firmware.c
@@ -961,6 +961,21 @@ qemuFirmwareMatchDomain(const virDomainD
want = qemuFirmwareOSInterfaceTypeFromOsDefFirmware(def->os.firmware);
+ if (want == QEMU_FIRMWARE_OS_INTERFACE_NONE &&
+ def->os.loader) {
+ want = qemuFirmwareOSInterfaceTypeFromOsDefFirmware(def->os.loader->type);
+
+ if (fw->mapping.device != QEMU_FIRMWARE_DEVICE_FLASH ||
+ STRNEQ(def->os.loader->path, fw->mapping.data.flash.executable.filename)) {
+ VIR_DEBUG("Not matching FW interface %s or loader "
+ "path '%s' for user provided path '%s'",
+ qemuFirmwareDeviceTypeToString(fw->mapping.device),
+ fw->mapping.data.flash.executable.filename,
+ def->os.loader->path);
+ return false;
+ }
+ }
+
for (i = 0; i < fw->ninterfaces; i++) {
if (fw->interfaces[i] == want)
break;
@@ -1228,14 +1243,29 @@ qemuFirmwareFillDomain(virQEMUDriverPtr
qemuFirmwarePtr *firmwares = NULL;
ssize_t nfirmwares = 0;
const qemuFirmware *theone = NULL;
+ bool needResult = true;
size_t i;
int ret = -1;
if (!(flags & VIR_QEMU_PROCESS_START_NEW))
return 0;
- if (def->os.firmware == VIR_DOMAIN_OS_DEF_FIRMWARE_NONE)
- return 0;
+ /* Fill in FW paths if either os.firmware is enabled, or
+ * loader path was provided with no nvram varstore. */
+ if (def->os.firmware == VIR_DOMAIN_OS_DEF_FIRMWARE_NONE) {
+ /* This is horrific check, but loosely said, if UEFI
+ * image was provided by the old method (by specifying
+ * its path in domain XML) but no template for NVRAM was
+ * specified and the varstore doesn't exist ... */
+ if (!virDomainDefHasOldStyleROUEFI(def) ||
+ def->os.loader->templt ||
+ virFileExists(def->os.loader->nvram))
+ return 0;
+
+ /* ... then we want to consult JSON FW descriptors first,
+ * but we don't want to fail if we haven't found a match. */
+ needResult = false;
+ }
if ((nfirmwares = qemuFirmwareFetchParsedConfigs(driver->privileged,
&firmwares, &paths)) < 0)
@@ -1251,9 +1281,16 @@ qemuFirmwareFillDomain(virQEMUDriverPtr
}
if (!theone) {
- virReportError(VIR_ERR_OPERATION_FAILED,
- _("Unable to find any firmware to satisfy '%s'"),
- virDomainOsDefFirmwareTypeToString(def->os.firmware));
+ if (needResult) {
+ virReportError(VIR_ERR_OPERATION_FAILED,
+ _("Unable to find any firmware to satisfy '%s'"),
+ virDomainOsDefFirmwareTypeToString(def->os.firmware));
+ } else {
+ VIR_DEBUG("Unable to find NVRAM template for '%s', "
+ "falling back to old style",
+ NULLSTR(def->os.loader ? def->os.loader->path : NULL));
+ ret = 0;
+ }
goto cleanup;
}

View File

@ -1,51 +0,0 @@
commit 8fcee47807d29008632a7ad918cbe93ac0a20597
Author: Michal Prívozník <mprivozn@redhat.com>
Date: Wed Jan 8 09:42:47 2020 +0100
qemu_firmware: Accept int in qemuFirmwareOSInterfaceTypeFromOsDefFirmware()
The point of this function is to translate virDomainOsDefFirmware
enum to qemuFirmwareOSInterface enum. However, with my commit
v5.10.0-507-g8e1804f9f6 we are passing a variable type of
virDomainLoader enum. Make the function accept both enums and
make the enum members correspond to each other.
This fixes clang build.
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Index: libvirt-5.10.0/src/conf/domain_conf.h
===================================================================
--- libvirt-5.10.0.orig/src/conf/domain_conf.h
+++ libvirt-5.10.0/src/conf/domain_conf.h
@@ -1927,12 +1927,14 @@ struct _virDomainOSEnv {
typedef enum {
VIR_DOMAIN_OS_DEF_FIRMWARE_NONE = 0,
- VIR_DOMAIN_OS_DEF_FIRMWARE_BIOS,
- VIR_DOMAIN_OS_DEF_FIRMWARE_EFI,
+ VIR_DOMAIN_OS_DEF_FIRMWARE_BIOS = VIR_DOMAIN_LOADER_TYPE_ROM,
+ VIR_DOMAIN_OS_DEF_FIRMWARE_EFI = VIR_DOMAIN_LOADER_TYPE_PFLASH,
VIR_DOMAIN_OS_DEF_FIRMWARE_LAST
} virDomainOsDefFirmware;
+G_STATIC_ASSERT((int)VIR_DOMAIN_OS_DEF_FIRMWARE_LAST == (int)VIR_DOMAIN_LOADER_TYPE_LAST);
+
VIR_ENUM_DECL(virDomainOsDefFirmware);
struct _virDomainOSDef {
Index: libvirt-5.10.0/src/qemu/qemu_firmware.c
===================================================================
--- libvirt-5.10.0.orig/src/qemu/qemu_firmware.c
+++ libvirt-5.10.0/src/qemu/qemu_firmware.c
@@ -931,7 +931,7 @@ qemuFirmwareMatchesMachineArch(const qem
static qemuFirmwareOSInterface
-qemuFirmwareOSInterfaceTypeFromOsDefFirmware(virDomainOsDefFirmware fw)
+qemuFirmwareOSInterfaceTypeFromOsDefFirmware(int fw)
{
switch (fw) {
case VIR_DOMAIN_OS_DEF_FIRMWARE_BIOS:

View File

@ -1,28 +0,0 @@
commit f411b7ef68221e82dec0129aaf2f2a26a8987504
Author: Jiri Denemark <jdenemar@redhat.com>
Date: Thu Dec 12 15:12:05 2019 +0100
cpu_map: Add TSX_CTRL bit for IA32_ARCH_CAPABILITIES MSR
CVE-2019-11135
When TSX_CTRL bit of IA32_ARCH_CAPABILITIES MSR is set to 1, the CPU
supports IA32_TSX_CTRL MSR which can be used to disable and/or mask TSX.
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Index: libvirt-5.10.0/src/cpu_map/x86_features.xml
===================================================================
--- libvirt-5.10.0.orig/src/cpu_map/x86_features.xml
+++ libvirt-5.10.0/src/cpu_map/x86_features.xml
@@ -502,6 +502,9 @@
<feature name='mds-no'>
<msr index='0x10a' edx='0x00000000' eax='0x00000020'/>
</feature>
+ <feature name='tsx-ctrl'>
+ <msr index='0x10a' edx='0x00000000' eax='0x00000080'/>
+ </feature>
<feature name='taa-no'>
<msr index='0x10a' edx='0x00000000' eax='0x00000100'/>
</feature>

View File

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

View File

@ -1,11 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQEzBAABCAAdFiEE20ZoG7ka3OoXD6LUFViLJllr6l0FAl3lY20ACgkQFViLJllr
6l0cdgf/RP8gH2stB2f1PxcbPkHIFdtkPjoWogHM5LST8CLt2NGhUd3oN9j7tNPj
bt55FfOF3ez8I0L9/bZsKjmIC2nEB2mMbNrkzvcmbuq2CKsg3EUiW2BEMHUCshf3
d5Ec+RmbyrZ28f0Ry1aUzEeGypTKGcZJCYwGkORUya9uTtOzoyeACWtP7/ALrnae
/PpMEbh3iIeFevB9iDWRR1fm/t3GIE4xEy67z65GXCjgO63pYd7Z25viqNoqFu22
Bz57y+PVaEX4BFfOiMtfFOILYp6X4gQSWsd7sTFKXc6Itow4+nxek9MMc2Upy8tN
NZMS4G5q5nS1n9F4WTJbererlLEFmg==
=VGJJ
-----END PGP SIGNATURE-----

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

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

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

@ -0,0 +1,11 @@
-----BEGIN PGP SIGNATURE-----
iQEzBAABCAAdFiEE20ZoG7ka3OoXD6LUFViLJllr6l0FAl4fLBoACgkQFViLJllr
6l2/Hwf9Fe4jQdFda9ml3mpg7MAy5J060yC8d5hRZSqtCEeoM71DGHc6vgeGiBVf
5JdTKGCwTC7xaQu+Hcs0cTuqGwx0sAepH0gBjO4AkfuHqI/zvPzpWoB2NY/AOaMK
aqOQYXk1pz0a9UQ3SA+dPDjzsuDW4+0L2bj08iQZuQu7sX6ItYWL/dEiopEJ87vO
zRWKOH3QfEUo6xj0PcdyhIRWFF92Q6y2h8zAcOAnyYgMBbXBTePx+jwQ/kAzgB/q
UhiVTzNfoeo/Zmpkwq7Oiti0qez0U6IVM6Lseczj2mWUbY7CD7QCQOH2oo8bdCcS
9xv6amO067GldZb1utD5KZf1LX1W/w==
=qArt
-----END PGP SIGNATURE-----

View File

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

View File

@ -1,7 +1,7 @@
Index: libvirt-5.10.0/configure.ac
Index: libvirt-6.0.0/configure.ac
===================================================================
--- libvirt-5.10.0.orig/configure.ac
+++ libvirt-5.10.0/configure.ac
--- libvirt-6.0.0.orig/configure.ac
+++ libvirt-6.0.0/configure.ac
@@ -285,6 +285,7 @@ LIBVIRT_ARG_LIBSSH
LIBVIRT_ARG_LIBXML
LIBVIRT_ARG_MACVTAP
@ -18,7 +18,7 @@ Index: libvirt-5.10.0/configure.ac
LIBVIRT_CHECK_NLS
LIBVIRT_CHECK_NUMACTL
LIBVIRT_CHECK_NWFILTER
@@ -1015,6 +1017,7 @@ LIBVIRT_RESULT_LIBXL
@@ -1013,6 +1015,7 @@ LIBVIRT_RESULT_LIBXL
LIBVIRT_RESULT_LIBXML
LIBVIRT_RESULT_MACVTAP
LIBVIRT_RESULT_NETCF
@ -26,11 +26,11 @@ Index: libvirt-5.10.0/configure.ac
LIBVIRT_RESULT_NLS
LIBVIRT_RESULT_NSS
LIBVIRT_RESULT_NUMACTL
Index: libvirt-5.10.0/tools/virsh.c
Index: libvirt-6.0.0/tools/virsh.c
===================================================================
--- libvirt-5.10.0.orig/tools/virsh.c
+++ libvirt-5.10.0/tools/virsh.c
@@ -555,6 +555,8 @@ virshShowVersion(vshControl *ctl G_GNUC_
--- libvirt-6.0.0.orig/tools/virsh.c
+++ libvirt-6.0.0/tools/virsh.c
@@ -553,6 +553,8 @@ virshShowVersion(vshControl *ctl G_GNUC_
vshPrint(ctl, " Interface");
# if defined(WITH_NETCF)
vshPrint(ctl, " netcf");
@ -39,10 +39,10 @@ Index: libvirt-5.10.0/tools/virsh.c
# elif defined(WITH_UDEV)
vshPrint(ctl, " udev");
# endif
Index: libvirt-5.10.0/src/interface/interface_backend_netcf.c
Index: libvirt-6.0.0/src/interface/interface_backend_netcf.c
===================================================================
--- libvirt-5.10.0.orig/src/interface/interface_backend_netcf.c
+++ libvirt-5.10.0/src/interface/interface_backend_netcf.c
--- libvirt-6.0.0.orig/src/interface/interface_backend_netcf.c
+++ libvirt-6.0.0/src/interface/interface_backend_netcf.c
@@ -21,7 +21,12 @@
#include <config.h>
@ -95,7 +95,7 @@ Index: libvirt-5.10.0/src/interface/interface_backend_netcf.c
static void
virNetcfDriverStateDispose(void *obj)
@@ -120,6 +156,10 @@ netcfStateInitialize(bool privileged,
@@ -119,6 +155,10 @@ netcfStateInitialize(bool privileged,
virPidFileAcquire(driver->stateDir, "driver", false, getpid())) < 0)
goto error;
@ -106,7 +106,7 @@ Index: libvirt-5.10.0/src/interface/interface_backend_netcf.c
/* open netcf */
if (ncf_init(&driver->netcf, NULL) != 0) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
@@ -1114,6 +1154,7 @@ static int netcfInterfaceIsActive(virInt
@@ -1113,6 +1153,7 @@ static int netcfInterfaceIsActive(virInt
return ret;
}
@ -114,7 +114,7 @@ Index: libvirt-5.10.0/src/interface/interface_backend_netcf.c
static int netcfInterfaceChangeBegin(virConnectPtr conn, unsigned int flags)
{
int ret;
@@ -1188,6 +1229,7 @@ static int netcfInterfaceChangeRollback(
@@ -1187,6 +1228,7 @@ static int netcfInterfaceChangeRollback(
virObjectUnlock(driver);
return ret;
}
@ -122,7 +122,7 @@ Index: libvirt-5.10.0/src/interface/interface_backend_netcf.c
static virInterfaceDriver interfaceDriver = {
.name = INTERFACE_DRIVER_NAME,
@@ -1204,9 +1246,11 @@ static virInterfaceDriver interfaceDrive
@@ -1203,9 +1245,11 @@ static virInterfaceDriver interfaceDrive
.interfaceCreate = netcfInterfaceCreate, /* 0.7.0 */
.interfaceDestroy = netcfInterfaceDestroy, /* 0.7.0 */
.interfaceIsActive = netcfInterfaceIsActive, /* 0.7.3 */
@ -134,7 +134,7 @@ Index: libvirt-5.10.0/src/interface/interface_backend_netcf.c
};
@@ -1237,6 +1281,19 @@ static virStateDriver interfaceStateDriv
@@ -1236,6 +1280,19 @@ static virStateDriver interfaceStateDriv
int netcfIfaceRegister(void)
{
@ -154,10 +154,10 @@ Index: libvirt-5.10.0/src/interface/interface_backend_netcf.c
if (virRegisterConnectDriver(&interfaceConnectDriver, false) < 0)
return -1;
if (virSetSharedInterfaceDriver(&interfaceDriver) < 0)
Index: libvirt-5.10.0/src/interface/interface_driver.c
Index: libvirt-6.0.0/src/interface/interface_driver.c
===================================================================
--- libvirt-5.10.0.orig/src/interface/interface_driver.c
+++ libvirt-5.10.0/src/interface/interface_driver.c
--- libvirt-6.0.0.orig/src/interface/interface_driver.c
+++ libvirt-6.0.0/src/interface/interface_driver.c
@@ -30,8 +30,15 @@ interfaceRegister(void)
if (netcfIfaceRegister() == 0)
return 0;
@ -175,10 +175,10 @@ Index: libvirt-5.10.0/src/interface/interface_driver.c
if (udevIfaceRegister() == 0)
return 0;
#endif /* WITH_UDEV */
Index: libvirt-5.10.0/m4/virt-netcontrol.m4
Index: libvirt-6.0.0/m4/virt-netcontrol.m4
===================================================================
--- /dev/null
+++ libvirt-5.10.0/m4/virt-netcontrol.m4
+++ libvirt-6.0.0/m4/virt-netcontrol.m4
@@ -0,0 +1,39 @@
+dnl The libnetcontrol library
+dnl
@ -219,10 +219,10 @@ Index: libvirt-5.10.0/m4/virt-netcontrol.m4
+AC_DEFUN([LIBVIRT_RESULT_NETCONTROL],[
+ LIBVIRT_RESULT_LIB([NETCONTROL])
+])
Index: libvirt-5.10.0/src/interface/Makefile.inc.am
Index: libvirt-6.0.0/src/interface/Makefile.inc.am
===================================================================
--- libvirt-5.10.0.orig/src/interface/Makefile.inc.am
+++ libvirt-5.10.0/src/interface/Makefile.inc.am
--- libvirt-6.0.0.orig/src/interface/Makefile.inc.am
+++ libvirt-6.0.0/src/interface/Makefile.inc.am
@@ -6,6 +6,7 @@ INTERFACE_DRIVER_SOURCES = \
$(NULL)

View File

@ -1,3 +1,16 @@
-------------------------------------------------------------------
Wed Jan 15 19:27:10 UTC 2020 - James Fehlig <jfehlig@suse.com>
- Update to libvirt 6.0.0
- jsc#SLE-6997, jsc#SLE-6998
- Many incremental improvements and bug fixes, see
https://libvirt.org/news.html
- Dropped patches:
0a65cba4-news-fix.patch 07aaced4-Add-TAA-No.patch,
f411b7ef6-Add-TSX-CTRL.patch, 50d7465f-qemu-firmware1.patch,
57f9067c-qemu-firmware2.patch, 7c5264d2-qemu-firmware3.patch,
8e1804f9-qemu-firmware4.patch, 8fcee478-qemu-firmware5.patch
-------------------------------------------------------------------
Thu Jan 9 01:33:23 UTC 2020 - James Fehlig <jfehlig@suse.com>

View File

@ -1,7 +1,7 @@
#
# spec file for package libvirt
#
# Copyright (c) 2020 SUSE LLC
# Copyright (c) 2020 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -33,7 +33,6 @@
# Then the hypervisor drivers that run outside libvirtd, in libvirt.so
%define with_openvz 0%{!?_without_openvz:1}
%define with_vmware 0%{!?_without_vmware:1}
%define with_phyp 0%{!?_without_phyp:0}
%define with_esx 0%{!?_without_esx:1}
%define with_hyperv 0%{!?_without_hyperv:0}
@ -98,11 +97,6 @@
%define with_hyperv 0
%endif
# Enable phyp driver for IBM Power systems
%ifarch ppc64
%define with_phyp 1
%endif
# Enable firewalld support in newer code bases
%if 0%{?suse_version} >= 1500
%define with_firewalld 1
@ -191,7 +185,7 @@
Name: libvirt
URL: http://libvirt.org/
Version: 5.10.0
Version: 6.0.0
Release: 0
Summary: Library providing a virtualization API
License: LGPL-2.1-or-later
@ -250,6 +244,7 @@ BuildRequires: libxml2-devel
BuildRequires: libxslt
BuildRequires: perl
BuildRequires: python3
BuildRequires: python3-docutils
BuildRequires: readline-devel
# rpcgen is needed since we have a patch touching remote_protocol.x
BuildRequires: rpcgen
@ -343,14 +338,6 @@ Source6: libvirtd-relocation-server.xml
Source99: baselibs.conf
Source100: %{name}-rpmlintrc
# Upstream patches
Patch0: 0a65cba4-news-fix.patch
Patch1: 07aaced4-Add-TAA-No.patch
Patch2: f411b7ef6-Add-TSX-CTRL.patch
Patch3: 50d7465f-qemu-firmware1.patch
Patch4: 57f9067c-qemu-firmware2.patch
Patch5: 7c5264d2-qemu-firmware3.patch
Patch6: 8e1804f9-qemu-firmware4.patch
Patch7: 8fcee478-qemu-firmware5.patch
# Patches pending upstream review
Patch100: libxl-dom-reset.patch
Patch101: network-don-t-use-dhcp-authoritative-on-static-netwo.patch
@ -884,14 +871,6 @@ libvirt plugin for NSS for translating domain names into IP addresses.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch100 -p1
%patch101 -p1
%patch150 -p1
@ -940,11 +919,6 @@ libvirt plugin for NSS for translating domain names into IP addresses.
%else
%define arg_vbox --without-vbox
%endif
%if %{with_phyp}
%define arg_phyp --with-phyp
%else
%define arg_phyp --without-phyp
%endif
%if %{with_esx}
%define arg_esx --with-esx
%else
@ -1061,7 +1035,6 @@ export PYTHON=%{_bindir}/python3
--with-sasl \
--with-polkit \
--with-libvirtd \
%{?arg_phyp} \
%{?arg_esx} \
%{?arg_hyperv} \
%{?arg_vmware} \
@ -1855,7 +1828,6 @@ fi
%{_sbindir}/rclibvirt-guests
%files libs -f %{_vpath_builddir}/%{name}.lang
%doc AUTHORS NEWS README README.md COPYING COPYING.LESSER
%config(noreplace) %{_sysconfdir}/%{name}/libvirt.conf
%config(noreplace) %{_sysconfdir}/%{name}/libvirt-admin.conf
%{_libdir}/libvirt.so.*
@ -1869,8 +1841,9 @@ fi
%{_datadir}/%{name}/schemas/basictypes.rng
%{_datadir}/%{name}/schemas/capability.rng
%{_datadir}/%{name}/schemas/domain.rng
%{_datadir}/%{name}/schemas/cputypes.rng
%{_datadir}/%{name}/schemas/domain.rng
%{_datadir}/libvirt/schemas/domainbackup.rng
%{_datadir}/%{name}/schemas/domaincaps.rng
%{_datadir}/%{name}/schemas/domaincheckpoint.rng
%{_datadir}/%{name}/schemas/domaincommon.rng
@ -1920,7 +1893,8 @@ fi
%{_datadir}/%{name}/api/libvirt-lxc-api.xml
%files doc
# Website
%doc AUTHORS NEWS README README.md
%license COPYING COPYING.LESSER
%dir %{_docdir}/%{name}
%doc %{_docdir}/%{name}/*.png
%doc %{_docdir}/%{name}/*.html
@ -1932,6 +1906,7 @@ fi
%doc %{_docdir}/%{name}/logos
%doc %{_docdir}/%{name}/fonts
%doc %{_docdir}/%{name}/js
%doc %{_docdir}/%{name}/manpages
%dir %{_datadir}/doc/%{name}
%dir %{_datadir}/doc/%{name}/examples
%doc %{_datadir}/doc/%{name}/examples/*

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
forcibly destroying the domain and starting it again.
Index: libvirt-5.10.0/src/libxl/libxl_driver.c
Index: libvirt-6.0.0/src/libxl/libxl_driver.c
===================================================================
--- libvirt-5.10.0.orig/src/libxl/libxl_driver.c
+++ libvirt-5.10.0/src/libxl/libxl_driver.c
@@ -1363,6 +1363,61 @@ libxlDomainReboot(virDomainPtr dom, unsi
--- libvirt-6.0.0.orig/src/libxl/libxl_driver.c
+++ libvirt-6.0.0/src/libxl/libxl_driver.c
@@ -1361,6 +1361,61 @@ libxlDomainReboot(virDomainPtr dom, unsi
}
static int
@ -74,7 +74,7 @@ Index: libvirt-5.10.0/src/libxl/libxl_driver.c
libxlDomainDestroyFlags(virDomainPtr dom,
unsigned int flags)
{
@@ -6593,6 +6648,7 @@ static virHypervisorDriver libxlHypervis
@@ -6568,6 +6623,7 @@ static virHypervisorDriver libxlHypervis
.domainShutdown = libxlDomainShutdown, /* 0.9.0 */
.domainShutdownFlags = libxlDomainShutdownFlags, /* 0.9.10 */
.domainReboot = libxlDomainReboot, /* 0.9.0 */

View File

@ -3,11 +3,11 @@ https://bugzilla.novell.com/show_bug.cgi?id=879425
src/libxl/libxl_conf.c | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
Index: libvirt-5.10.0/src/libxl/libxl_conf.c
Index: libvirt-6.0.0/src/libxl/libxl_conf.c
===================================================================
--- libvirt-5.10.0.orig/src/libxl/libxl_conf.c
+++ libvirt-5.10.0/src/libxl/libxl_conf.c
@@ -868,6 +868,30 @@ libxlDiskSetDiscard(libxl_device_disk *x
--- libvirt-6.0.0.orig/src/libxl/libxl_conf.c
+++ libvirt-6.0.0/src/libxl/libxl_conf.c
@@ -867,6 +867,30 @@ libxlDiskSetDiscard(libxl_device_disk *x
#endif
}
@ -38,7 +38,7 @@ Index: libvirt-5.10.0/src/libxl/libxl_conf.c
static char *
libxlMakeNetworkDiskSrcStr(virStorageSourcePtr src,
const char *username,
@@ -1109,6 +1133,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
@@ -1108,6 +1132,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
x_disk->is_cdrom = l_disk->device == VIR_DOMAIN_DISK_DEVICE_CDROM ? 1 : 0;
if (libxlDiskSetDiscard(x_disk, l_disk->discard) < 0)
return -1;

View File

@ -16,13 +16,13 @@ Signed-off-by: Jim Fehlig <jfehlig@suse.com>
tools/virsh.pod | 8 ++++++++
6 files changed, 125 insertions(+), 6 deletions(-)
Index: libvirt-5.10.0/include/libvirt/libvirt-domain.h
Index: libvirt-6.0.0/include/libvirt/libvirt-domain.h
===================================================================
--- libvirt-5.10.0.orig/include/libvirt/libvirt-domain.h
+++ libvirt-5.10.0/include/libvirt/libvirt-domain.h
@@ -1051,6 +1051,31 @@ typedef enum {
--- libvirt-6.0.0.orig/include/libvirt/libvirt-domain.h
+++ libvirt-6.0.0/include/libvirt/libvirt-domain.h
@@ -1065,6 +1065,31 @@ typedef enum {
*/
# define VIR_MIGRATE_PARAM_PARALLEL_CONNECTIONS "parallel.connections"
# define VIR_MIGRATE_PARAM_TLS_DESTINATION "tls.destination"
+/**
+ * VIR_MIGRATE_PARAM_SUSE_MAX_ITERS:
@ -52,11 +52,11 @@ Index: libvirt-5.10.0/include/libvirt/libvirt-domain.h
/* Domain migration. */
virDomainPtr virDomainMigrate (virDomainPtr domain, virConnectPtr dconn,
unsigned long flags, const char *dname,
Index: libvirt-5.10.0/src/libxl/libxl_driver.c
Index: libvirt-6.0.0/src/libxl/libxl_driver.c
===================================================================
--- libvirt-5.10.0.orig/src/libxl/libxl_driver.c
+++ libvirt-5.10.0/src/libxl/libxl_driver.c
@@ -6139,6 +6139,9 @@ libxlDomainMigratePerform3Params(virDoma
--- libvirt-6.0.0.orig/src/libxl/libxl_driver.c
+++ libvirt-6.0.0/src/libxl/libxl_driver.c
@@ -6133,6 +6133,9 @@ libxlDomainMigratePerform3Params(virDoma
const char *dname = NULL;
const char *uri = NULL;
int ret = -1;
@ -66,7 +66,7 @@ Index: libvirt-5.10.0/src/libxl/libxl_driver.c
#ifdef LIBXL_HAVE_NO_SUSPEND_RESUME
virReportUnsupportedError();
@@ -6155,6 +6158,18 @@ libxlDomainMigratePerform3Params(virDoma
@@ -6149,6 +6152,18 @@ libxlDomainMigratePerform3Params(virDoma
virTypedParamsGetString(params, nparams,
VIR_MIGRATE_PARAM_DEST_NAME,
&dname) < 0 ||
@ -85,7 +85,7 @@ Index: libvirt-5.10.0/src/libxl/libxl_driver.c
virTypedParamsGetString(params, nparams,
VIR_MIGRATE_PARAM_URI,
&uri) < 0)
@@ -6169,11 +6184,11 @@ libxlDomainMigratePerform3Params(virDoma
@@ -6163,11 +6178,11 @@ libxlDomainMigratePerform3Params(virDoma
if ((flags & (VIR_MIGRATE_TUNNELLED | VIR_MIGRATE_PEER2PEER))) {
if (libxlDomainMigrationSrcPerformP2P(driver, vm, dom->conn, dom_xml,
@ -99,10 +99,10 @@ Index: libvirt-5.10.0/src/libxl/libxl_driver.c
goto cleanup;
}
Index: libvirt-5.10.0/src/libxl/libxl_migration.c
Index: libvirt-6.0.0/src/libxl/libxl_migration.c
===================================================================
--- libvirt-5.10.0.orig/src/libxl/libxl_migration.c
+++ libvirt-5.10.0/src/libxl/libxl_migration.c
--- libvirt-6.0.0.orig/src/libxl/libxl_migration.c
+++ libvirt-6.0.0/src/libxl/libxl_migration.c
@@ -338,18 +338,39 @@ libxlMigrateDstReceive(virNetSocketPtr s
static int
libxlDoMigrateSrcSend(libxlDriverPrivatePtr driver,
@ -145,7 +145,7 @@ Index: libvirt-5.10.0/src/libxl/libxl_migration.c
if (ret != 0) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("Failed to send migration data to destination host"));
@@ -903,7 +924,7 @@ struct libxlTunnelControl {
@@ -902,7 +923,7 @@ struct libxlTunnelControl {
static int
libxlMigrationSrcStartTunnel(libxlDriverPrivatePtr driver,
virDomainObjPtr vm,
@ -154,7 +154,7 @@ Index: libvirt-5.10.0/src/libxl/libxl_migration.c
virStreamPtr st,
struct libxlTunnelControl **tnl)
{
@@ -936,7 +957,7 @@ libxlMigrationSrcStartTunnel(libxlDriver
@@ -935,7 +956,7 @@ libxlMigrationSrcStartTunnel(libxlDriver
virObjectUnlock(vm);
/* Send data to pipe */
@ -163,7 +163,7 @@ Index: libvirt-5.10.0/src/libxl/libxl_migration.c
virObjectLock(vm);
out:
@@ -972,7 +993,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
@@ -971,7 +992,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
const char *dconnuri G_GNUC_UNUSED,
const char *dname,
const char *uri,
@ -172,7 +172,7 @@ Index: libvirt-5.10.0/src/libxl/libxl_migration.c
{
virDomainPtr ddomain = NULL;
virTypedParameterPtr params = NULL;
@@ -1017,11 +1038,11 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
@@ -1016,11 +1037,11 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
/* We don't require the destination to have P2P support
* as it looks to be normal migration from the receiver perspective.
*/
@ -186,7 +186,7 @@ Index: libvirt-5.10.0/src/libxl/libxl_migration.c
if (!(st = virStreamNew(dconn, 0)))
goto confirm;
ret = dconn->driver->domainMigratePrepareTunnel3Params
@@ -1035,7 +1056,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
@@ -1034,7 +1055,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
if (ret == -1)
goto confirm;
@ -195,7 +195,7 @@ Index: libvirt-5.10.0/src/libxl/libxl_migration.c
if (uri_out) {
if (virTypedParamsReplaceString(&params, &nparams,
VIR_MIGRATE_PARAM_URI, uri_out) < 0) {
@@ -1050,11 +1071,11 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
@@ -1049,11 +1070,11 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
}
VIR_DEBUG("Perform3 uri=%s", NULLSTR(uri_out));
@ -210,7 +210,7 @@ Index: libvirt-5.10.0/src/libxl/libxl_migration.c
if (ret < 0) {
notify_source = false;
virErrorPreserveLast(&orig_err);
@@ -1089,7 +1110,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
@@ -1088,7 +1109,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
confirm:
if (notify_source) {
VIR_DEBUG("Confirm3 cancelled=%d vm=%p", cancelled, vm);
@ -219,7 +219,7 @@ Index: libvirt-5.10.0/src/libxl/libxl_migration.c
if (ret < 0)
VIR_WARN("Guest %s probably left in 'paused' state on source",
@@ -1097,7 +1118,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
@@ -1096,7 +1117,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
}
cleanup:
@ -228,7 +228,7 @@ Index: libvirt-5.10.0/src/libxl/libxl_migration.c
libxlMigrationSrcStopTunnel(tc);
virObjectUnref(st);
}
@@ -1141,7 +1162,7 @@ libxlDomainMigrationSrcPerformP2P(libxlD
@@ -1140,7 +1161,7 @@ libxlDomainMigrationSrcPerformP2P(libxlD
const char *dconnuri,
const char *uri_str G_GNUC_UNUSED,
const char *dname,
@ -237,7 +237,7 @@ Index: libvirt-5.10.0/src/libxl/libxl_migration.c
{
int ret = -1;
bool useParams;
@@ -1176,7 +1197,7 @@ libxlDomainMigrationSrcPerformP2P(libxlD
@@ -1175,7 +1196,7 @@ libxlDomainMigrationSrcPerformP2P(libxlD
}
ret = libxlDoMigrateSrcP2P(driver, vm, sconn, xmlin, dconn, dconnuri,
@ -246,7 +246,7 @@ Index: libvirt-5.10.0/src/libxl/libxl_migration.c
if (ret < 0) {
/*
@@ -1203,7 +1224,7 @@ libxlDomainMigrationSrcPerform(libxlDriv
@@ -1202,7 +1223,7 @@ libxlDomainMigrationSrcPerform(libxlDriv
const char *dconnuri G_GNUC_UNUSED,
const char *uri_str,
const char *dname G_GNUC_UNUSED,
@ -255,7 +255,7 @@ Index: libvirt-5.10.0/src/libxl/libxl_migration.c
{
libxlDomainObjPrivatePtr priv = vm->privateData;
char *hostname = NULL;
@@ -1239,7 +1260,7 @@ libxlDomainMigrationSrcPerform(libxlDriv
@@ -1238,7 +1259,7 @@ libxlDomainMigrationSrcPerform(libxlDriv
/* suspend vm and send saved data to dst through socket fd */
virObjectUnlock(vm);
@ -264,10 +264,10 @@ Index: libvirt-5.10.0/src/libxl/libxl_migration.c
virObjectLock(vm);
if (ret == 0) {
Index: libvirt-5.10.0/src/libxl/libxl_migration.h
Index: libvirt-6.0.0/src/libxl/libxl_migration.h
===================================================================
--- libvirt-5.10.0.orig/src/libxl/libxl_migration.h
+++ libvirt-5.10.0/src/libxl/libxl_migration.h
--- libvirt-6.0.0.orig/src/libxl/libxl_migration.h
+++ libvirt-6.0.0/src/libxl/libxl_migration.h
@@ -35,6 +35,10 @@
VIR_MIGRATE_PARAM_URI, VIR_TYPED_PARAM_STRING, \
VIR_MIGRATE_PARAM_DEST_NAME, VIR_TYPED_PARAM_STRING, \
@ -312,13 +312,13 @@ Index: libvirt-5.10.0/src/libxl/libxl_migration.h
virDomainPtr
libxlDomainMigrationDstFinish(virConnectPtr dconn,
Index: libvirt-5.10.0/tools/virsh-domain.c
Index: libvirt-6.0.0/tools/virsh-domain.c
===================================================================
--- libvirt-5.10.0.orig/tools/virsh-domain.c
+++ libvirt-5.10.0/tools/virsh-domain.c
@@ -10524,6 +10524,22 @@ static const vshCmdOptDef opts_migrate[]
.type = VSH_OT_INT,
.help = N_("migration bandwidth limit in MiB/s")
--- libvirt-6.0.0.orig/tools/virsh-domain.c
+++ libvirt-6.0.0/tools/virsh-domain.c
@@ -10589,6 +10589,22 @@ static const vshCmdOptDef opts_migrate[]
.type = VSH_OT_STRING,
.help = N_("override the destination host name used for TLS verification")
},
+ {.name = "max_iters",
+ .type = VSH_OT_INT,
@ -339,7 +339,7 @@ Index: libvirt-5.10.0/tools/virsh-domain.c
{.name = NULL}
};
@@ -10547,6 +10563,7 @@ doMigrate(void *opaque)
@@ -10612,6 +10628,7 @@ doMigrate(void *opaque)
unsigned long long ullOpt = 0;
int rv;
virConnectPtr dconn = data->dconn;
@ -347,7 +347,7 @@ Index: libvirt-5.10.0/tools/virsh-domain.c
sigemptyset(&sigmask);
sigaddset(&sigmask, SIGINT);
@@ -10666,6 +10683,27 @@ doMigrate(void *opaque)
@@ -10731,6 +10748,27 @@ doMigrate(void *opaque)
goto save_error;
}
@ -375,22 +375,31 @@ Index: libvirt-5.10.0/tools/virsh-domain.c
if (vshCommandOptStringReq(ctl, cmd, "xml", &opt) < 0)
goto out;
if (opt) {
Index: libvirt-5.10.0/tools/virsh.pod
Index: libvirt-6.0.0/docs/manpages/virsh.rst
===================================================================
--- libvirt-5.10.0.orig/tools/virsh.pod
+++ libvirt-5.10.0/tools/virsh.pod
@@ -2265,6 +2265,14 @@ I<--parallel-connections>. Parallel conn
--- libvirt-6.0.0.orig/docs/manpages/virsh.rst
+++ libvirt-6.0.0/docs/manpages/virsh.rst
@@ -3088,6 +3088,8 @@ migrate
[--postcopy-bandwidth bandwidth]
[--parallel [--parallel-connections connections]]
[--bandwidth bandwidth] [--tls-destination hostname]
+ [--max_iters num] [--max_factor num] [--min_remaining num]
+ [--abort_if_busy]
Migrate domain to another host. Add *--live* for live migration; <--p2p>
for peer-2-peer migration; *--direct* for direct migration; or *--tunnelled*
@@ -3193,6 +3195,14 @@ parallel connections. The number of such
network link between the source and the target and thus speeding up the
migration.
+SUSE-specific options for Xen: I<--max_iters> B<num> allows specifying the maximum
+number of iterations before final suspend. Default is 30. I<--max_factor> B<num>
+SUSE-specific options for Xen: *--max_iters* allows specifying the maximum
+number of iterations before final suspend. Default is 30. *--max_factor*
+allows specifying the maximum amount of memory to transfer before final suspend.
+Default is (3*VM memory size). I<--min_remaining> B<num> allows specifying the
+number of dirty pages before final suspend. Default is 50. I<--abort_if_busy>
+can be used to abort the migration instead of doing the final suspend for VMs with
+busy workloads.
+Default is (3*VM memory size). *--min_remaining* allows specifying the
+number of dirty pages before final suspend. Default is 50. *--abort_if_busy*
+can be used to abort the migration instead of doing the final suspend for VMs
+with busy workloads.
+
Running migration can be canceled by interrupting virsh (usually using
C<Ctrl-C>) or by B<domjobabort> command sent from another virsh instance.
``Ctrl-C``) or by ``domjobabort`` command sent from another virsh instance.

View File

@ -7,11 +7,11 @@ and npiv.
For more details, see bsc#954872 and FATE#319810
Index: libvirt-5.10.0/src/libxl/libxl_conf.c
Index: libvirt-6.0.0/src/libxl/libxl_conf.c
===================================================================
--- libvirt-5.10.0.orig/src/libxl/libxl_conf.c
+++ libvirt-5.10.0/src/libxl/libxl_conf.c
@@ -868,6 +868,25 @@ libxlDiskSetDiscard(libxl_device_disk *x
--- libvirt-6.0.0.orig/src/libxl/libxl_conf.c
+++ libvirt-6.0.0/src/libxl/libxl_conf.c
@@ -867,6 +867,22 @@ libxlDiskSetDiscard(libxl_device_disk *x
#endif
}
@ -21,23 +21,20 @@ Index: libvirt-5.10.0/src/libxl/libxl_conf.c
+ if (disk_spec == NULL)
+ return 0;
+
+ if (STRPREFIX(disk_spec, "dmmd:")) {
+ if (VIR_STRDUP(x_disk->script, "block-dmmd") < 0)
+ return -1;
+ } else if (STRPREFIX(disk_spec, "drbd:")) {
+ if (VIR_STRDUP(x_disk->script, "block-drbd") < 0)
+ return -1;
+ } else if (STRPREFIX(disk_spec, "npiv:")) {
+ if (VIR_STRDUP(x_disk->script, "block-npiv") < 0)
+ return -1;
+ }
+ if (STRPREFIX(disk_spec, "dmmd:"))
+ x_disk->script = g_strdup("block-dmmd");
+ else if (STRPREFIX(disk_spec, "drbd:"))
+ x_disk->script = g_strdup("block-drbd");
+ else if (STRPREFIX(disk_spec, "npiv:"))
+ x_disk->script = g_strdup("block-npiv");
+
+ return 0;
+}
+
static void
libxlDiskSetCacheMode(libxl_device_disk *x_disk, int cachemode)
{
@@ -1008,6 +1027,7 @@ libxlMakeNetworkDiskSrc(virStorageSource
@@ -1007,6 +1023,7 @@ libxlMakeNetworkDiskSrc(virStorageSource
int
libxlMakeDisk(virDomainDiskDefPtr l_disk, libxl_device_disk *x_disk)
{
@ -45,7 +42,7 @@ Index: libvirt-5.10.0/src/libxl/libxl_conf.c
const char *driver = virDomainDiskGetDriver(l_disk);
int format = virDomainDiskGetFormat(l_disk);
int actual_type = virStorageSourceGetActualType(l_disk->src);
@@ -1023,7 +1043,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
@@ -1022,7 +1039,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
if (libxlMakeNetworkDiskSrc(l_disk->src, &x_disk->pdev_path) < 0)
return -1;
} else {
@ -54,7 +51,7 @@ Index: libvirt-5.10.0/src/libxl/libxl_conf.c
}
x_disk->vdev = g_strdup(l_disk->dst);
@@ -1134,6 +1154,9 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
@@ -1133,6 +1150,9 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
if (libxlDiskSetDiscard(x_disk, l_disk->discard) < 0)
return -1;
libxlDiskSetCacheMode(x_disk, l_disk->cachemode);

View File

@ -13,10 +13,10 @@ device with the same name that is being created.
src/lxc/lxc_process.c | 1 +
3 files changed, 4 insertions(+)
Index: libvirt-5.10.0/src/lxc/lxc_controller.c
Index: libvirt-6.0.0/src/lxc/lxc_controller.c
===================================================================
--- libvirt-5.10.0.orig/src/lxc/lxc_controller.c
+++ libvirt-5.10.0/src/lxc/lxc_controller.c
--- libvirt-6.0.0.orig/src/lxc/lxc_controller.c
+++ libvirt-6.0.0/src/lxc/lxc_controller.c
@@ -69,6 +69,7 @@
#include "rpc/virnetdaemon.h"
#include "virstring.h"
@ -25,7 +25,7 @@ Index: libvirt-5.10.0/src/lxc/lxc_controller.c
#define VIR_FROM_THIS VIR_FROM_LXC
@@ -1985,6 +1986,7 @@ static int virLXCControllerDeleteInterfa
@@ -2009,6 +2010,7 @@ static int virLXCControllerDeleteInterfa
if (virNetDevVethDelete(ctrl->veths[i]) < 0)
ret = -1;
}
@ -33,10 +33,10 @@ Index: libvirt-5.10.0/src/lxc/lxc_controller.c
return ret;
}
Index: libvirt-5.10.0/src/lxc/lxc_driver.c
Index: libvirt-6.0.0/src/lxc/lxc_driver.c
===================================================================
--- libvirt-5.10.0.orig/src/lxc/lxc_driver.c
+++ libvirt-5.10.0/src/lxc/lxc_driver.c
--- libvirt-6.0.0.orig/src/lxc/lxc_driver.c
+++ libvirt-6.0.0/src/lxc/lxc_driver.c
@@ -70,6 +70,7 @@
#include "virtime.h"
#include "virtypedparam.h"
@ -45,7 +45,7 @@ Index: libvirt-5.10.0/src/lxc/lxc_driver.c
#include "virstring.h"
#include "viraccessapicheck.h"
#include "viraccessapichecklxc.h"
@@ -3918,6 +3919,7 @@ lxcDomainAttachDeviceNetLive(virConnectP
@@ -3903,6 +3904,7 @@ lxcDomainAttachDeviceNetLive(virLXCDrive
case VIR_DOMAIN_NET_TYPE_NETWORK:
case VIR_DOMAIN_NET_TYPE_ETHERNET:
ignore_value(virNetDevVethDelete(veth));
@ -53,7 +53,7 @@ Index: libvirt-5.10.0/src/lxc/lxc_driver.c
break;
case VIR_DOMAIN_NET_TYPE_DIRECT:
@@ -4359,6 +4361,7 @@ lxcDomainDetachDeviceNetLive(virDomainOb
@@ -4343,6 +4345,7 @@ lxcDomainDetachDeviceNetLive(virDomainOb
virDomainAuditNet(vm, detach, NULL, "detach", false);
goto cleanup;
}
@ -61,10 +61,10 @@ Index: libvirt-5.10.0/src/lxc/lxc_driver.c
break;
/* It'd be nice to support this, but with macvlan
Index: libvirt-5.10.0/src/lxc/lxc_process.c
Index: libvirt-6.0.0/src/lxc/lxc_process.c
===================================================================
--- libvirt-5.10.0.orig/src/lxc/lxc_process.c
+++ libvirt-5.10.0/src/lxc/lxc_process.c
--- libvirt-6.0.0.orig/src/lxc/lxc_process.c
+++ libvirt-6.0.0/src/lxc/lxc_process.c
@@ -51,6 +51,7 @@
#include "viratomic.h"
#include "virprocess.h"

View File

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

View File

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

View File

@ -1,7 +1,7 @@
Index: libvirt-5.10.0/src/security/apparmor/libvirt-qemu
Index: libvirt-6.0.0/src/security/apparmor/libvirt-qemu
===================================================================
--- libvirt-5.10.0.orig/src/security/apparmor/libvirt-qemu
+++ libvirt-5.10.0/src/security/apparmor/libvirt-qemu
--- libvirt-6.0.0.orig/src/security/apparmor/libvirt-qemu
+++ libvirt-6.0.0/src/security/apparmor/libvirt-qemu
@@ -228,3 +228,6 @@
# required for sasl GSSAPI plugin
/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 +++++++++++++++++++++++++++-
2 files changed, 35 insertions(+), 15 deletions(-)
Index: libvirt-5.10.0/src/libxl/xen_common.c
Index: libvirt-6.0.0/src/libxl/xen_common.c
===================================================================
--- libvirt-5.10.0.orig/src/libxl/xen_common.c
+++ libvirt-5.10.0/src/libxl/xen_common.c
--- libvirt-6.0.0.orig/src/libxl/xen_common.c
+++ libvirt-6.0.0/src/libxl/xen_common.c
@@ -381,12 +381,19 @@ xenParsePCI(char *entry)
int busID;
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.
Found while investigating bsc#1058847
Index: libvirt-5.10.0/src/security/apparmor/libvirt-qemu
Index: libvirt-6.0.0/src/security/apparmor/libvirt-qemu
===================================================================
--- libvirt-5.10.0.orig/src/security/apparmor/libvirt-qemu
+++ libvirt-5.10.0/src/security/apparmor/libvirt-qemu
--- libvirt-6.0.0.orig/src/security/apparmor/libvirt-qemu
+++ libvirt-6.0.0/src/security/apparmor/libvirt-qemu
@@ -63,6 +63,7 @@
#/dev/fb* rw,
@ -20,10 +20,10 @@ Index: libvirt-5.10.0/src/security/apparmor/libvirt-qemu
@{HOME}/.pulse-cookie rwk,
owner /root/.pulse-cookie rwk,
owner /root/.pulse/ rw,
Index: libvirt-5.10.0/src/security/apparmor/usr.lib.libvirt.virt-aa-helper
Index: libvirt-6.0.0/src/security/apparmor/usr.lib.libvirt.virt-aa-helper
===================================================================
--- libvirt-5.10.0.orig/src/security/apparmor/usr.lib.libvirt.virt-aa-helper
+++ libvirt-5.10.0/src/security/apparmor/usr.lib.libvirt.virt-aa-helper
--- libvirt-6.0.0.orig/src/security/apparmor/usr.lib.libvirt.virt-aa-helper
+++ libvirt-6.0.0/src/security/apparmor/usr.lib.libvirt.virt-aa-helper
@@ -20,7 +20,7 @@ profile virt-aa-helper /usr/{lib,lib64}/
# Used when internally running another command (namely apparmor_parser)
@{PROC}/@{pid}/fd/ r,

View File

@ -1,9 +1,9 @@
Adjust libvirt-guests service to conform to SUSE standards
Index: libvirt-5.10.0/tools/libvirt-guests.sh.in
Index: libvirt-6.0.0/tools/libvirt-guests.sh.in
===================================================================
--- libvirt-5.10.0.orig/tools/libvirt-guests.sh.in
+++ libvirt-5.10.0/tools/libvirt-guests.sh.in
--- libvirt-6.0.0.orig/tools/libvirt-guests.sh.in
+++ libvirt-6.0.0/tools/libvirt-guests.sh.in
@@ -16,14 +16,13 @@
# License along with this library. If not, see
# <http://www.gnu.org/licenses/>.
@ -22,7 +22,7 @@ Index: libvirt-5.10.0/tools/libvirt-guests.sh.in
# Source gettext library.
# Make sure this file is recognized as having translations: _("dummy")
. "@bindir@"/gettext.sh
@@ -45,9 +44,11 @@ test -f "$sysconfdir"/sysconfig/libvirt-
@@ -43,9 +42,11 @@ test -f "$sysconfdir"/sysconfig/libvirt-
. "$sysconfdir"/sysconfig/libvirt-guests
LISTFILE="$localstatedir"/lib/libvirt/libvirt-guests
@ -37,7 +37,7 @@ Index: libvirt-5.10.0/tools/libvirt-guests.sh.in
# retval COMMAND ARGUMENTS...
# run command with arguments and convert non-zero return value to 1 and set
@@ -55,7 +56,7 @@ RETVAL=0
@@ -53,7 +54,7 @@ RETVAL=0
retval() {
"$@"
if [ $? -ne 0 ]; then
@ -46,7 +46,7 @@ Index: libvirt-5.10.0/tools/libvirt-guests.sh.in
return 1
else
return 0
@@ -84,6 +85,26 @@ run_virsh_c() {
@@ -82,6 +83,26 @@ run_virsh_c() {
( export LC_ALL=C; run_virsh "$@" )
}
@ -73,7 +73,7 @@ Index: libvirt-5.10.0/tools/libvirt-guests.sh.in
# test_connect URI
# check if URI is reachable
test_connect()
@@ -117,7 +138,7 @@ list_guests() {
@@ -108,7 +129,7 @@ list_guests() {
list=$(run_virsh_c "$uri" list --uuid $persistent)
if [ $? -ne 0 ]; then
@ -82,7 +82,7 @@ Index: libvirt-5.10.0/tools/libvirt-guests.sh.in
return 1
fi
@@ -143,7 +164,7 @@ guest_is_on() {
@@ -134,7 +155,7 @@ guest_is_on() {
guest_running=false
id=$(run_virsh "$uri" domid "$uuid")
if [ $? -ne 0 ]; then
@ -91,7 +91,7 @@ Index: libvirt-5.10.0/tools/libvirt-guests.sh.in
return 1
fi
@@ -193,6 +214,13 @@ start() {
@@ -184,6 +205,13 @@ start() {
test_connect "$uri" || continue
@ -105,7 +105,7 @@ Index: libvirt-5.10.0/tools/libvirt-guests.sh.in
eval_gettext "Resuming guests on \$uri URI..."; echo
for guest in $list; do
name=$(guest_name "$uri" "$guest")
@@ -414,7 +442,7 @@ shutdown_guests_parallel()
@@ -405,7 +433,7 @@ shutdown_guests_parallel()
timeout=$(($timeout - 1))
if [ $timeout -le 0 ]; then
eval_gettext "Timeout expired while shutting down domains"; echo
@ -114,7 +114,7 @@ Index: libvirt-5.10.0/tools/libvirt-guests.sh.in
return
fi
else
@@ -443,7 +471,7 @@ stop() {
@@ -434,7 +462,7 @@ stop() {
if [ $SHUTDOWN_TIMEOUT -lt 0 ]; then
gettext "SHUTDOWN_TIMEOUT must be equal or greater than 0"
echo
@ -123,7 +123,7 @@ Index: libvirt-5.10.0/tools/libvirt-guests.sh.in
return
fi
fi
@@ -491,14 +519,14 @@ stop() {
@@ -482,14 +510,14 @@ stop() {
if [ $? -ne 0 ]; then
eval_gettext "Failed to list persistent guests on \$uri"
echo
@ -140,7 +140,7 @@ Index: libvirt-5.10.0/tools/libvirt-guests.sh.in
set +f
return
fi
@@ -557,14 +585,13 @@ gueststatus() {
@@ -548,14 +576,13 @@ gueststatus() {
rh_status() {
if [ -f "$LISTFILE" ]; then
gettext "stopped, with saved guests"; echo
@ -157,16 +157,16 @@ Index: libvirt-5.10.0/tools/libvirt-guests.sh.in
fi
fi
}
@@ -609,4 +636,4 @@ case "$1" in
@@ -600,4 +627,4 @@ case "$1" in
usage
;;
esac
-exit $RETVAL
+rc_exit
Index: libvirt-5.10.0/tools/libvirt-guests.sysconf
Index: libvirt-6.0.0/tools/libvirt-guests.sysconf
===================================================================
--- libvirt-5.10.0.orig/tools/libvirt-guests.sysconf
+++ libvirt-5.10.0/tools/libvirt-guests.sysconf
--- libvirt-6.0.0.orig/tools/libvirt-guests.sysconf
+++ libvirt-6.0.0/tools/libvirt-guests.sysconf
@@ -1,19 +1,29 @@
+## Path: System/Virtualization/libvirt-guests
+

View File

@ -3,11 +3,11 @@ Disable TLS by default
On SUSE distros, the default is for libvirtd to listen only on the
Unix Domain Socket. The libvirt client still provides remote access
via a SSH tunnel.
Index: libvirt-5.10.0/src/remote/remote_daemon_config.c
Index: libvirt-6.0.0/src/remote/remote_daemon_config.c
===================================================================
--- libvirt-5.10.0.orig/src/remote/remote_daemon_config.c
+++ libvirt-5.10.0/src/remote/remote_daemon_config.c
@@ -104,7 +104,7 @@ daemonConfigNew(bool privileged G_GNUC_U
--- libvirt-6.0.0.orig/src/remote/remote_daemon_config.c
+++ libvirt-6.0.0/src/remote/remote_daemon_config.c
@@ -99,7 +99,7 @@ daemonConfigNew(bool privileged G_GNUC_U
#ifdef WITH_IP
# ifdef LIBVIRTD
@ -16,10 +16,10 @@ Index: libvirt-5.10.0/src/remote/remote_daemon_config.c
# else /* ! LIBVIRTD */
data->listen_tls = 0; /* Always honoured, --listen doesn't exist. */
# endif /* ! LIBVIRTD */
Index: libvirt-5.10.0/src/remote/libvirtd.conf.in
Index: libvirt-6.0.0/src/remote/libvirtd.conf.in
===================================================================
--- libvirt-5.10.0.orig/src/remote/libvirtd.conf.in
+++ libvirt-5.10.0/src/remote/libvirtd.conf.in
--- libvirt-6.0.0.orig/src/remote/libvirtd.conf.in
+++ libvirt-6.0.0/src/remote/libvirtd.conf.in
@@ -17,8 +17,8 @@
# It is necessary to setup a CA and issue server certificates before
# using this capability.

View File

@ -1,9 +1,9 @@
Adjust libvirtd sysconfig file to conform to SUSE standards
Index: libvirt-5.10.0/src/remote/libvirtd.sysconf
Index: libvirt-6.0.0/src/remote/libvirtd.sysconf
===================================================================
--- libvirt-5.10.0.orig/src/remote/libvirtd.sysconf
+++ libvirt-5.10.0/src/remote/libvirtd.sysconf
--- libvirt-6.0.0.orig/src/remote/libvirtd.sysconf
+++ libvirt-6.0.0/src/remote/libvirtd.sysconf
@@ -1,5 +1,9 @@
+## Path: System/Virtualization/libvirt
# 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
libxl.conf. See jsc#SLE-3059 for more details.
Index: libvirt-5.10.0/src/libxl/libxl.conf
Index: libvirt-6.0.0/src/libxl/libxl.conf
===================================================================
--- libvirt-5.10.0.orig/src/libxl/libxl.conf
+++ libvirt-5.10.0/src/libxl/libxl.conf
--- libvirt-6.0.0.orig/src/libxl/libxl.conf
+++ libvirt-6.0.0/src/libxl/libxl.conf
@@ -4,12 +4,11 @@
# Enable autoballooning of domain0
@ -27,11 +27,11 @@ Index: libvirt-5.10.0/src/libxl/libxl.conf
# In order to prevent accidentally starting two domains that
Index: libvirt-5.10.0/src/libxl/libxl_conf.c
Index: libvirt-6.0.0/src/libxl/libxl_conf.c
===================================================================
--- libvirt-5.10.0.orig/src/libxl/libxl_conf.c
+++ libvirt-5.10.0/src/libxl/libxl_conf.c
@@ -1703,15 +1703,12 @@ libxlMakeBuildInfoVfb(virPortAllocatorRa
--- libvirt-6.0.0.orig/src/libxl/libxl_conf.c
+++ libvirt-6.0.0/src/libxl/libxl_conf.c
@@ -1699,15 +1699,12 @@ libxlMakeBuildInfoVfb(virPortAllocatorRa
/*
* Get domain0 autoballoon configuration. Honor user-specified
* setting in libxl.conf first. If not specified, autoballooning
@ -48,7 +48,7 @@ Index: libvirt-5.10.0/src/libxl/libxl_conf.c
int res;
res = virConfGetValueBool(conf, "autoballoon", &cfg->autoballoon);
@@ -1720,15 +1717,8 @@ libxlGetAutoballoonConf(libxlDriverConfi
@@ -1716,15 +1713,8 @@ libxlGetAutoballoonConf(libxlDriverConfi
else if (res == 1)
return 0;

View File

@ -1,10 +1,10 @@
Adjust paths of OVMF firmwares on SUSE distros
Index: libvirt-5.10.0/src/qemu/qemu.conf
Index: libvirt-6.0.0/src/qemu/qemu.conf
===================================================================
--- libvirt-5.10.0.orig/src/qemu/qemu.conf
+++ libvirt-5.10.0/src/qemu/qemu.conf
@@ -799,10 +799,9 @@
--- libvirt-6.0.0.orig/src/qemu/qemu.conf
+++ libvirt-6.0.0/src/qemu/qemu.conf
@@ -788,10 +788,9 @@
# for x86_64 and i686, but it's AAVMF for aarch64. The libvirt default
# follows this scheme.
#nvram = [
@ -18,10 +18,10 @@ Index: libvirt-5.10.0/src/qemu/qemu.conf
#]
# The backend to use for handling stdout/stderr output from
Index: libvirt-5.10.0/src/qemu/qemu_conf.c
Index: libvirt-6.0.0/src/qemu/qemu_conf.c
===================================================================
--- libvirt-5.10.0.orig/src/qemu/qemu_conf.c
+++ libvirt-5.10.0/src/qemu/qemu_conf.c
--- libvirt-6.0.0.orig/src/qemu/qemu_conf.c
+++ libvirt-6.0.0/src/qemu/qemu_conf.c
@@ -97,10 +97,9 @@ qemuDriverUnlock(virQEMUDriverPtr driver
#ifndef DEFAULT_LOADER_NVRAM
@ -36,11 +36,11 @@ Index: libvirt-5.10.0/src/qemu/qemu_conf.c
#endif
Index: libvirt-5.10.0/src/security/virt-aa-helper.c
Index: libvirt-6.0.0/src/security/virt-aa-helper.c
===================================================================
--- libvirt-5.10.0.orig/src/security/virt-aa-helper.c
+++ libvirt-5.10.0/src/security/virt-aa-helper.c
@@ -490,7 +490,8 @@ valid_path(const char *path, const bool
--- libvirt-6.0.0.orig/src/security/virt-aa-helper.c
+++ libvirt-6.0.0/src/security/virt-aa-helper.c
@@ -489,7 +489,8 @@ valid_path(const char *path, const bool
"/usr/share/ovmf/", /* for OVMF images */
"/usr/share/AAVMF/", /* 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
single patch.
Index: libvirt-5.10.0/src/qemu/qemu.conf
Index: libvirt-6.0.0/src/qemu/qemu.conf
===================================================================
--- libvirt-5.10.0.orig/src/qemu/qemu.conf
+++ libvirt-5.10.0/src/qemu/qemu.conf
--- libvirt-6.0.0.orig/src/qemu/qemu.conf
+++ libvirt-6.0.0/src/qemu/qemu.conf
@@ -420,10 +420,19 @@
# isolation, but it cannot appear in a list of drivers.
#
@ -32,7 +32,7 @@ Index: libvirt-5.10.0/src/qemu/qemu.conf
#security_default_confined = 1
# If set to non-zero, then attempts to create unconfined
@@ -670,11 +679,22 @@
@@ -659,11 +668,22 @@
#relaxed_acs_check = 1
@ -60,13 +60,13 @@ Index: libvirt-5.10.0/src/qemu/qemu.conf
#
#lock_manager = "lockd"
Index: libvirt-5.10.0/src/qemu/qemu_conf.c
Index: libvirt-6.0.0/src/qemu/qemu_conf.c
===================================================================
--- libvirt-5.10.0.orig/src/qemu/qemu_conf.c
+++ libvirt-5.10.0/src/qemu/qemu_conf.c
@@ -236,7 +236,7 @@ virQEMUDriverConfigPtr virQEMUDriverConf
cfg->clearEmulatorCapabilities = true;
--- libvirt-6.0.0.orig/src/qemu/qemu_conf.c
+++ libvirt-6.0.0/src/qemu/qemu_conf.c
@@ -229,7 +229,7 @@ virQEMUDriverConfigPtr virQEMUDriverConf
cfg->prHelperName = g_strdup(QEMU_PR_HELPER);
cfg->slirpHelperName = g_strdup(QEMU_SLIRP_HELPER);
- cfg->securityDefaultConfined = true;
+ cfg->securityDefaultConfined = false;

View File

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

View File

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

View File

@ -1,16 +1,8 @@
Index: libvirt-4.0.0/tools/Makefile.am
Index: libvirt-6.0.0/tools/Makefile.am
===================================================================
--- libvirt-4.0.0.orig/tools/Makefile.am
+++ libvirt-4.0.0/tools/Makefile.am
@@ -52,6 +52,7 @@ PODFILES = \
virt-sanlock-cleanup.pod \
virt-xml-validate.pod \
virsh.pod \
+ virt-create-rootfs.pod \
$(NULL)
MANINFILES = \
@@ -86,7 +87,7 @@ MAINTAINERCLEANFILES =
--- libvirt-6.0.0.orig/tools/Makefile.am
+++ libvirt-6.0.0/tools/Makefile.am
@@ -71,7 +71,7 @@ MAINTAINERCLEANFILES =
confdir = $(sysconfdir)/libvirt
conf_DATA =
@ -18,20 +10,11 @@ Index: libvirt-4.0.0/tools/Makefile.am
+bin_SCRIPTS = virt-xml-validate virt-pki-validate virt-create-rootfs
bin_PROGRAMS = virsh virt-admin
libexec_SCRIPTS = libvirt-guests.sh
man1_MANS = \
@@ -112,6 +113,8 @@ bin_PROGRAMS += virt-host-validate
man1_MANS += virt-host-validate.1
endif WITH_HOST_VALIDATE
+man1_MANS += virt-create-rootfs.1
+
virt-xml-validate: virt-xml-validate.in Makefile
$(AM_V_GEN)sed -e 's|[@]schemadir@|$(pkgdatadir)/schemas|g' \
-e 's|[@]VERSION@|$(VERSION)|g' \
Index: libvirt-4.0.0/tools/virt-create-rootfs
Index: libvirt-6.0.0/tools/virt-create-rootfs
===================================================================
--- /dev/null
+++ libvirt-4.0.0/tools/virt-create-rootfs
+++ libvirt-6.0.0/tools/virt-create-rootfs
@@ -0,0 +1,231 @@
+#!/bin/sh
+set -e
@ -264,41 +247,66 @@ Index: libvirt-4.0.0/tools/virt-create-rootfs
+ echo "pts/0" >> "$ROOT/etc/securetty"
+ chroot "$ROOT" /usr/bin/passwd
+fi
Index: libvirt-4.0.0/tools/virt-create-rootfs.pod
Index: libvirt-6.0.0/docs/Makefile.am
===================================================================
--- libvirt-6.0.0.orig/docs/Makefile.am
+++ libvirt-6.0.0/docs/Makefile.am
@@ -209,6 +209,7 @@ manpages1_rst = \
manpages/virt-xml-validate.rst \
manpages/virt-admin.rst \
manpages/virsh.rst \
+ manpages/virt-create-rootfs.rst \
$(NULL)
manpages7_rst = \
$(KEYCODES:%=manpages/virkeycode-%.rst) \
Index: libvirt-6.0.0/docs/manpages/virt-create-rootfs.rst
===================================================================
--- /dev/null
+++ libvirt-4.0.0/tools/virt-create-rootfs.pod
@@ -0,0 +1,73 @@
+=head1 NAME
+++ libvirt-6.0.0/docs/manpages/virt-create-rootfs.rst
@@ -0,0 +1,88 @@
+==================
+virt-create-rootfs
+==================
+
+virt-create-rootfs - tool to create a root file system for distro containers.
+---------------------------------------------------------
+A tool to create a root file system for distro containers
+---------------------------------------------------------
+
+=head1 SYNOPSIS
+:Manual section: 1
+:Manual group: Virtualization Support
+
+B<virt-create-rootfs> [I<OPTION>]
+.. contents::
+
+=head1 DESCRIPTION
+SYNOPSIS
+========
+
+The B<virt-create-rootfs> program is a shell script setting up a root file
+
+``virt-create-rootfs`` [*OPTION*]
+
+
+DESCRIPTION
+===========
+
+The ``virt-create-rootfs`` program is a shell script setting up a root file
+system for a distribution container.
+
+The basic structure of most virt-create-rootfs usage is:
+
+ virt-create-rootfs -r /path/to/root -d distro-name
+ ``virt-create-rootfs`` -r /path/to/root -d distro-name
+
+=head1 OPTIONS
+
+=over
+OPTIONS
+=======
+
+=item B<-h, --help>
+``-h``, ``--help``
+
+Display command line help usage then exit.
+
+=item B<-r, --root>
+``-r``, ``--root``
+
+Set the path where to create the new root file system.
+
+=item B<-d, --distro>
+``-d``, ``--distro``
+
+Set the name of distribution to use for the root file system.
+
@ -306,39 +314,41 @@ Index: libvirt-4.0.0/tools/virt-create-rootfs.pod
+where I<XXX> is the version number. Note that SUSEConnect is required to
+handle SLE distributions.
+
+=item B<-a, --arch>
+``-a``, ``--arch``
+
+Set the target architecture of the root file system to either i586 or x86_64.
+
+=item B<-c, --regcode>
+``-c``, ``--regcode``
+
+Set the registration code for the product to install in the root file system.
+For SLE distributions, use a registration code from SUSE Customer Center.
+
+=item B<-u, --url>
+``-u``, ``--url``
+
+For SLE distributions, set the registration server to use.
+Default: http://scc.suse.com.
+
+=item B<--dry-run>
+``--dry-run``
+
+Don't do anything, just report what would be done.
+
+=back
+
+=head1 COPYRIGHT
+COPYRIGHT
+=========
+
+Copyright (C) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+
+=head1 LICENSE
+
+virt-create-rootfs is distributed under the terms of the GNU LGPL v2+.
+LICENSE
+=======
+
+``virt-create-rootfs`` is distributed under the terms of the GNU LGPL v2+.
+This is free software; see the source for copying conditions. There
+is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE
+
+=head1 SEE ALSO
+
+L<virsh(1)>, L<http://www.libvirt.org/>
+SEE ALSO
+========
+
+=cut
+virsh(1), `https://libvirt.org/ <https://libvirt.org/>`_