SHA256
1
0
forked from pool/libvirt

Accepting request 764822 from home:jfehlig:branches:Virtualization

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

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

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

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

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

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

View File

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

View File

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

View File

@ -1,3 +1,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> Thu Jan 9 01:33:23 UTC 2020 - James Fehlig <jfehlig@suse.com>

View File

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

View File

@ -8,11 +8,11 @@ Date: Mon Jun 23 15:51:20 2014 -0600
option, but domainReset can be implemented in the libxl driver by option, but domainReset can be implemented in the libxl driver by
forcibly destroying the domain and starting it again. forcibly destroying the domain and starting it again.
Index: libvirt-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-6.0.0.orig/src/libxl/libxl_driver.c
+++ libvirt-5.10.0/src/libxl/libxl_driver.c +++ libvirt-6.0.0/src/libxl/libxl_driver.c
@@ -1363,6 +1363,61 @@ libxlDomainReboot(virDomainPtr dom, unsi @@ -1361,6 +1361,61 @@ libxlDomainReboot(virDomainPtr dom, unsi
} }
static int static int
@ -74,7 +74,7 @@ Index: libvirt-5.10.0/src/libxl/libxl_driver.c
libxlDomainDestroyFlags(virDomainPtr dom, libxlDomainDestroyFlags(virDomainPtr dom,
unsigned int flags) unsigned int flags)
{ {
@@ -6593,6 +6648,7 @@ static virHypervisorDriver libxlHypervis @@ -6568,6 +6623,7 @@ static virHypervisorDriver libxlHypervis
.domainShutdown = libxlDomainShutdown, /* 0.9.0 */ .domainShutdown = libxlDomainShutdown, /* 0.9.0 */
.domainShutdownFlags = libxlDomainShutdownFlags, /* 0.9.10 */ .domainShutdownFlags = libxlDomainShutdownFlags, /* 0.9.10 */
.domainReboot = libxlDomainReboot, /* 0.9.0 */ .domainReboot = libxlDomainReboot, /* 0.9.0 */

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,7 +1,7 @@
Index: libvirt-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-6.0.0.orig/src/security/apparmor/libvirt-qemu
+++ libvirt-5.10.0/src/security/apparmor/libvirt-qemu +++ libvirt-6.0.0/src/security/apparmor/libvirt-qemu
@@ -228,3 +228,6 @@ @@ -228,3 +228,6 @@
# required for sasl GSSAPI plugin # required for sasl GSSAPI plugin
/etc/gss/mech.d/ r, /etc/gss/mech.d/ r,

View File

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

View File

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

View File

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

View File

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

View File

@ -1,9 +1,9 @@
Adjust libvirtd sysconfig file to conform to SUSE standards Adjust libvirtd sysconfig file to conform to SUSE standards
Index: libvirt-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-6.0.0.orig/src/remote/libvirtd.sysconf
+++ libvirt-5.10.0/src/remote/libvirtd.sysconf +++ libvirt-6.0.0/src/remote/libvirtd.sysconf
@@ -1,5 +1,9 @@ @@ -1,5 +1,9 @@
+## Path: System/Virtualization/libvirt +## Path: System/Virtualization/libvirt
# Customizations for the libvirtd.service systemd unit # Customizations for the libvirtd.service systemd unit

View File

@ -6,10 +6,10 @@ autoballooning. This patch changes libvirt to also disable autoballooning
by default. It can only be enabled with the 'autoballoon' setting in by default. It can only be enabled with the 'autoballoon' setting in
libxl.conf. See jsc#SLE-3059 for more details. libxl.conf. See jsc#SLE-3059 for more details.
Index: libvirt-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-6.0.0.orig/src/libxl/libxl.conf
+++ libvirt-5.10.0/src/libxl/libxl.conf +++ libvirt-6.0.0/src/libxl/libxl.conf
@@ -4,12 +4,11 @@ @@ -4,12 +4,11 @@
# Enable autoballooning of domain0 # Enable autoballooning of domain0
@ -27,11 +27,11 @@ Index: libvirt-5.10.0/src/libxl/libxl.conf
# In order to prevent accidentally starting two domains that # In order to prevent accidentally starting two domains that
Index: libvirt-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-6.0.0.orig/src/libxl/libxl_conf.c
+++ libvirt-5.10.0/src/libxl/libxl_conf.c +++ libvirt-6.0.0/src/libxl/libxl_conf.c
@@ -1703,15 +1703,12 @@ libxlMakeBuildInfoVfb(virPortAllocatorRa @@ -1699,15 +1699,12 @@ libxlMakeBuildInfoVfb(virPortAllocatorRa
/* /*
* Get domain0 autoballoon configuration. Honor user-specified * Get domain0 autoballoon configuration. Honor user-specified
* setting in libxl.conf first. If not specified, autoballooning * setting in libxl.conf first. If not specified, autoballooning
@ -48,7 +48,7 @@ Index: libvirt-5.10.0/src/libxl/libxl_conf.c
int res; int res;
res = virConfGetValueBool(conf, "autoballoon", &cfg->autoballoon); res = virConfGetValueBool(conf, "autoballoon", &cfg->autoballoon);
@@ -1720,15 +1717,8 @@ libxlGetAutoballoonConf(libxlDriverConfi @@ -1716,15 +1713,8 @@ libxlGetAutoballoonConf(libxlDriverConfi
else if (res == 1) else if (res == 1)
return 0; return 0;

View File

@ -1,10 +1,10 @@
Adjust paths of OVMF firmwares on SUSE distros 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-6.0.0.orig/src/qemu/qemu.conf
+++ libvirt-5.10.0/src/qemu/qemu.conf +++ libvirt-6.0.0/src/qemu/qemu.conf
@@ -799,10 +799,9 @@ @@ -788,10 +788,9 @@
# for x86_64 and i686, but it's AAVMF for aarch64. The libvirt default # for x86_64 and i686, but it's AAVMF for aarch64. The libvirt default
# follows this scheme. # follows this scheme.
#nvram = [ #nvram = [
@ -18,10 +18,10 @@ Index: libvirt-5.10.0/src/qemu/qemu.conf
#] #]
# The backend to use for handling stdout/stderr output from # The backend to use for handling stdout/stderr output from
Index: libvirt-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-6.0.0.orig/src/qemu/qemu_conf.c
+++ libvirt-5.10.0/src/qemu/qemu_conf.c +++ libvirt-6.0.0/src/qemu/qemu_conf.c
@@ -97,10 +97,9 @@ qemuDriverUnlock(virQEMUDriverPtr driver @@ -97,10 +97,9 @@ qemuDriverUnlock(virQEMUDriverPtr driver
#ifndef DEFAULT_LOADER_NVRAM #ifndef DEFAULT_LOADER_NVRAM
@ -36,11 +36,11 @@ Index: libvirt-5.10.0/src/qemu/qemu_conf.c
#endif #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-6.0.0.orig/src/security/virt-aa-helper.c
+++ libvirt-5.10.0/src/security/virt-aa-helper.c +++ libvirt-6.0.0/src/security/virt-aa-helper.c
@@ -490,7 +490,8 @@ valid_path(const char *path, const bool @@ -489,7 +489,8 @@ valid_path(const char *path, const bool
"/usr/share/ovmf/", /* for OVMF images */ "/usr/share/ovmf/", /* for OVMF images */
"/usr/share/AAVMF/", /* for AAVMF images */ "/usr/share/AAVMF/", /* for AAVMF images */
"/usr/share/qemu-efi/", /* for AAVMF images */ "/usr/share/qemu-efi/", /* for AAVMF images */

View File

@ -7,10 +7,10 @@ suse-qemu-conf-secdriver.patch, suse-qemu-conf-lockmgr.patch,
etc.), but for now they are all lumped together in this etc.), but for now they are all lumped together in this
single patch. single patch.
Index: libvirt-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-6.0.0.orig/src/qemu/qemu.conf
+++ libvirt-5.10.0/src/qemu/qemu.conf +++ libvirt-6.0.0/src/qemu/qemu.conf
@@ -420,10 +420,19 @@ @@ -420,10 +420,19 @@
# isolation, but it cannot appear in a list of drivers. # isolation, but it cannot appear in a list of drivers.
# #
@ -32,7 +32,7 @@ Index: libvirt-5.10.0/src/qemu/qemu.conf
#security_default_confined = 1 #security_default_confined = 1
# If set to non-zero, then attempts to create unconfined # If set to non-zero, then attempts to create unconfined
@@ -670,11 +679,22 @@ @@ -659,11 +668,22 @@
#relaxed_acs_check = 1 #relaxed_acs_check = 1
@ -60,13 +60,13 @@ Index: libvirt-5.10.0/src/qemu/qemu.conf
# #
#lock_manager = "lockd" #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-6.0.0.orig/src/qemu/qemu_conf.c
+++ libvirt-5.10.0/src/qemu/qemu_conf.c +++ libvirt-6.0.0/src/qemu/qemu_conf.c
@@ -236,7 +236,7 @@ virQEMUDriverConfigPtr virQEMUDriverConf @@ -229,7 +229,7 @@ virQEMUDriverConfigPtr virQEMUDriverConf
cfg->prHelperName = g_strdup(QEMU_PR_HELPER);
cfg->clearEmulatorCapabilities = true; cfg->slirpHelperName = g_strdup(QEMU_SLIRP_HELPER);
- cfg->securityDefaultConfined = true; - cfg->securityDefaultConfined = true;
+ cfg->securityDefaultConfined = false; + cfg->securityDefaultConfined = false;

View File

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

View File

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

View File

@ -1,16 +1,8 @@
Index: libvirt-4.0.0/tools/Makefile.am Index: libvirt-6.0.0/tools/Makefile.am
=================================================================== ===================================================================
--- libvirt-4.0.0.orig/tools/Makefile.am --- libvirt-6.0.0.orig/tools/Makefile.am
+++ libvirt-4.0.0/tools/Makefile.am +++ libvirt-6.0.0/tools/Makefile.am
@@ -52,6 +52,7 @@ PODFILES = \ @@ -71,7 +71,7 @@ MAINTAINERCLEANFILES =
virt-sanlock-cleanup.pod \
virt-xml-validate.pod \
virsh.pod \
+ virt-create-rootfs.pod \
$(NULL)
MANINFILES = \
@@ -86,7 +87,7 @@ MAINTAINERCLEANFILES =
confdir = $(sysconfdir)/libvirt confdir = $(sysconfdir)/libvirt
conf_DATA = 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_SCRIPTS = virt-xml-validate virt-pki-validate virt-create-rootfs
bin_PROGRAMS = virsh virt-admin bin_PROGRAMS = virsh virt-admin
libexec_SCRIPTS = libvirt-guests.sh 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 Index: libvirt-6.0.0/tools/virt-create-rootfs
+
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
=================================================================== ===================================================================
--- /dev/null --- /dev/null
+++ libvirt-4.0.0/tools/virt-create-rootfs +++ libvirt-6.0.0/tools/virt-create-rootfs
@@ -0,0 +1,231 @@ @@ -0,0 +1,231 @@
+#!/bin/sh +#!/bin/sh
+set -e +set -e
@ -264,41 +247,66 @@ Index: libvirt-4.0.0/tools/virt-create-rootfs
+ echo "pts/0" >> "$ROOT/etc/securetty" + echo "pts/0" >> "$ROOT/etc/securetty"
+ chroot "$ROOT" /usr/bin/passwd + chroot "$ROOT" /usr/bin/passwd
+fi +fi
Index: libvirt-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 --- /dev/null
+++ libvirt-4.0.0/tools/virt-create-rootfs.pod +++ libvirt-6.0.0/docs/manpages/virt-create-rootfs.rst
@@ -0,0 +1,73 @@ @@ -0,0 +1,88 @@
+=head1 NAME +==================
+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. +system for a distribution container.
+ +
+The basic structure of most virt-create-rootfs usage is: +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. +Display command line help usage then exit.
+ +
+=item B<-r, --root> +``-r``, ``--root``
+ +
+Set the path where to create the new root file system. +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. +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 +where I<XXX> is the version number. Note that SUSEConnect is required to
+handle SLE distributions. +handle SLE distributions.
+ +
+=item B<-a, --arch> +``-a``, ``--arch``
+ +
+Set the target architecture of the root file system to either i586 or x86_64. +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. +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. +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. +For SLE distributions, set the registration server to use.
+Default: http://scc.suse.com. +Default: http://scc.suse.com.
+ +
+=item B<--dry-run> +``--dry-run``
+ +
+Don't do anything, just report what would be done. +Don't do anything, just report what would be done.
+ +
+=back
+ +
+=head1 COPYRIGHT +COPYRIGHT
+=========
+ +
+Copyright (C) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. +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 +This is free software; see the source for copying conditions. There
+is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR +is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE +PURPOSE
+ +
+=head1 SEE ALSO
+ +
+L<virsh(1)>, L<http://www.libvirt.org/> +SEE ALSO
+========
+ +
+=cut +virsh(1), `https://libvirt.org/ <https://libvirt.org/>`_