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:
parent
847bd42369
commit
94803fa053
@ -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 \
|
||||
|
@ -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 */
|
||||
|
@ -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 */
|
||||
|
@ -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>
|
@ -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>
|
@ -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;
|
@ -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;
|
||||
}
|
||||
|
@ -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"));
|
@ -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;
|
||||
}
|
||||
|
@ -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:
|
@ -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>
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:9aaa889dccdc16e39eaa53dae36375413619561896920419fb1351bee8a2fc87
|
||||
size 8732120
|
@ -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
3
libvirt-6.0.0.tar.xz
Normal 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
11
libvirt-6.0.0.tar.xz.asc
Normal 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-----
|
@ -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'/>
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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>
|
||||
|
||||
|
41
libvirt.spec
41
libvirt.spec
@ -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/*
|
||||
|
@ -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 */
|
||||
|
@ -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;
|
||||
|
@ -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(¶ms, &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.
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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"
|
||||
|
@ -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
|
||||
|
@ -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")) {
|
||||
|
@ -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,
|
||||
|
@ -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;
|
||||
|
@ -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,
|
||||
|
@ -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
|
||||
+
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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 */
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
+
|
||||
|
@ -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
|
||||
+
|
||||
|
@ -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/>`_
|
||||
|
Loading…
Reference in New Issue
Block a user