SHA256
1
0
forked from pool/libvirt

Accepting request 653614 from home:jfehlig:branches:Virtualization

- Update to libvirt 4.10.0
  - Many incremental improvements and bug fixes, see
    http://libvirt.org/news.html
  - Dropped patches:
    14d03b27-libxl-rm-redundant-virObjectEventStateQueue.patch,
    82452a5d-libxl-rm-goto-libxlDomainShutdownThread.patch,
    da4b0fd9-libxl-support-soft-reset.patch,
    libxl-qemu-emulator-caps.patch
  - Added patches:
    libxl-support-ovswitch.patch,
    libxl-ovswitch-config-format-conversions.patch
  - FATE#320928, FATE#325817, FATE#326380, FATE#326698

OBS-URL: https://build.opensuse.org/request/show/653614
OBS-URL: https://build.opensuse.org/package/show/Virtualization/libvirt?expand=0&rev=718
This commit is contained in:
James Fehlig 2018-12-03 23:17:47 +00:00 committed by Git OBS Bridge
parent 0a997d39fb
commit 096d671ce7
40 changed files with 712 additions and 501 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-4.9.0/src/conf/domain_stats.c Index: libvirt-4.10.0/src/conf/domain_stats.c
=================================================================== ===================================================================
--- /dev/null --- /dev/null
+++ libvirt-4.9.0/src/conf/domain_stats.c +++ libvirt-4.10.0/src/conf/domain_stats.c
@@ -0,0 +1,139 @@ @@ -0,0 +1,139 @@
+/* +/*
+ * domain_stats.c: domain stats extraction helpers + * domain_stats.c: domain stats extraction helpers
@ -162,10 +162,10 @@ Index: libvirt-4.9.0/src/conf/domain_stats.c
+} +}
+ +
+#undef STATS_ADD_NET_PARAM +#undef STATS_ADD_NET_PARAM
Index: libvirt-4.9.0/src/conf/domain_stats.h Index: libvirt-4.10.0/src/conf/domain_stats.h
=================================================================== ===================================================================
--- /dev/null --- /dev/null
+++ libvirt-4.9.0/src/conf/domain_stats.h +++ libvirt-4.10.0/src/conf/domain_stats.h
@@ -0,0 +1,64 @@ @@ -0,0 +1,64 @@
+/* +/*
+ * domain_stats.h: domain stats extraction helpers + * domain_stats.h: domain stats extraction helpers
@ -231,11 +231,11 @@ Index: libvirt-4.9.0/src/conf/domain_stats.h
+ int *maxparams); + int *maxparams);
+ +
+#endif /* __DOMAIN_STATS_H */ +#endif /* __DOMAIN_STATS_H */
Index: libvirt-4.9.0/src/libvirt_private.syms Index: libvirt-4.10.0/src/libvirt_private.syms
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/src/libvirt_private.syms --- libvirt-4.10.0.orig/src/libvirt_private.syms
+++ libvirt-4.9.0/src/libvirt_private.syms +++ libvirt-4.10.0/src/libvirt_private.syms
@@ -653,6 +653,9 @@ virDomainConfNWFilterInstantiate; @@ -658,6 +658,9 @@ virDomainConfNWFilterInstantiate;
virDomainConfNWFilterTeardown; virDomainConfNWFilterTeardown;
virDomainConfVMNWFilterTeardown; virDomainConfVMNWFilterTeardown;
@ -245,7 +245,7 @@ Index: libvirt-4.9.0/src/libvirt_private.syms
# conf/interface_conf.h # conf/interface_conf.h
virInterfaceDefFormat; virInterfaceDefFormat;
@@ -1541,6 +1544,7 @@ virCgroupGetMemoryUsage; @@ -1547,6 +1550,7 @@ virCgroupGetMemoryUsage;
virCgroupGetMemSwapHardLimit; virCgroupGetMemSwapHardLimit;
virCgroupGetMemSwapUsage; virCgroupGetMemSwapUsage;
virCgroupGetPercpuStats; virCgroupGetPercpuStats;
@ -253,10 +253,10 @@ Index: libvirt-4.9.0/src/libvirt_private.syms
virCgroupHasController; virCgroupHasController;
virCgroupHasEmptyTasks; virCgroupHasEmptyTasks;
virCgroupKillPainfully; virCgroupKillPainfully;
Index: libvirt-4.9.0/src/qemu/qemu_driver.c Index: libvirt-4.10.0/src/qemu/qemu_driver.c
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/src/qemu/qemu_driver.c --- libvirt-4.10.0.orig/src/qemu/qemu_driver.c
+++ libvirt-4.9.0/src/qemu/qemu_driver.c +++ libvirt-4.10.0/src/qemu/qemu_driver.c
@@ -69,6 +69,7 @@ @@ -69,6 +69,7 @@
#include "virarptable.h" #include "virarptable.h"
#include "viruuid.h" #include "viruuid.h"
@ -265,7 +265,7 @@ Index: libvirt-4.9.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"
@@ -19677,21 +19678,7 @@ qemuDomainGetStatsState(virQEMUDriverPtr @@ -19908,21 +19909,7 @@ qemuDomainGetStatsState(virQEMUDriverPtr
int *maxparams, int *maxparams,
unsigned int privflags ATTRIBUTE_UNUSED) unsigned int privflags ATTRIBUTE_UNUSED)
{ {
@ -288,8 +288,8 @@ Index: libvirt-4.9.0/src/qemu/qemu_driver.c
} }
@@ -19714,37 +19701,7 @@ qemuDomainGetStatsCpu(virQEMUDriverPtr d @@ -20112,37 +20099,7 @@ qemuDomainGetStatsCpuCgroup(virDomainObj
unsigned int privflags ATTRIBUTE_UNUSED) int *maxparams)
{ {
qemuDomainObjPrivatePtr priv = dom->privateData; qemuDomainObjPrivatePtr priv = dom->privateData;
- unsigned long long cpu_time = 0; - unsigned long long cpu_time = 0;
@ -326,8 +326,8 @@ Index: libvirt-4.9.0/src/qemu/qemu_driver.c
+ return virCgroupGetStatsCpu(priv->cgroup, record, maxparams); + return virCgroupGetStatsCpu(priv->cgroup, record, maxparams);
} }
static int
@@ -19924,44 +19881,6 @@ qemuDomainGetStatsVcpu(virQEMUDriverPtr @@ -20340,44 +20297,6 @@ qemuDomainGetStatsVcpu(virQEMUDriverPtr
return ret; return ret;
} }
@ -372,7 +372,7 @@ Index: libvirt-4.9.0/src/qemu/qemu_driver.c
static int static int
qemuDomainGetStatsInterface(virQEMUDriverPtr driver ATTRIBUTE_UNUSED, qemuDomainGetStatsInterface(virQEMUDriverPtr driver ATTRIBUTE_UNUSED,
virDomainObjPtr dom, virDomainObjPtr dom,
@@ -19969,68 +19888,9 @@ qemuDomainGetStatsInterface(virQEMUDrive @@ -20385,68 +20304,9 @@ qemuDomainGetStatsInterface(virQEMUDrive
int *maxparams, int *maxparams,
unsigned int privflags ATTRIBUTE_UNUSED) unsigned int privflags ATTRIBUTE_UNUSED)
{ {
@ -442,7 +442,7 @@ Index: libvirt-4.9.0/src/qemu/qemu_driver.c
#define QEMU_ADD_BLOCK_PARAM_UI(record, maxparams, num, name, value) \ #define QEMU_ADD_BLOCK_PARAM_UI(record, maxparams, num, name, value) \
do { \ do { \
char param_name[VIR_TYPED_PARAM_FIELD_LENGTH]; \ char param_name[VIR_TYPED_PARAM_FIELD_LENGTH]; \
@@ -20263,10 +20123,10 @@ qemuDomainGetStatsBlockExportHeader(virD @@ -20679,10 +20539,10 @@ qemuDomainGetStatsBlockExportHeader(virD
{ {
int ret = -1; int ret = -1;
@ -455,7 +455,7 @@ Index: libvirt-4.9.0/src/qemu/qemu_driver.c
if (src->id) if (src->id)
QEMU_ADD_BLOCK_PARAM_UI(records, nrecords, recordnr, "backingIndex", QEMU_ADD_BLOCK_PARAM_UI(records, nrecords, recordnr, "backingIndex",
src->id); src->id);
@@ -20406,7 +20266,7 @@ qemuDomainGetStatsBlock(virQEMUDriverPtr @@ -20822,7 +20682,7 @@ qemuDomainGetStatsBlock(virQEMUDriverPtr
* after the iteration than it is to iterate twice; but we still * after the iteration than it is to iterate twice; but we still
* want count listed first. */ * want count listed first. */
count_index = record->nparams; count_index = record->nparams;
@ -464,21 +464,37 @@ Index: libvirt-4.9.0/src/qemu/qemu_driver.c
for (i = 0; i < dom->def->ndisks; i++) { for (i = 0; i < dom->def->ndisks; i++) {
if (qemuDomainGetStatsBlockExportDisk(dom->def->disks[i], stats, nodestats, if (qemuDomainGetStatsBlockExportDisk(dom->def->disks[i], stats, nodestats,
@@ -20431,10 +20291,6 @@ qemuDomainGetStatsBlock(virQEMUDriverPtr @@ -20847,8 +20707,6 @@ qemuDomainGetStatsBlock(virQEMUDriverPtr
#undef QEMU_ADD_BLOCK_PARAM_ULL #undef QEMU_ADD_BLOCK_PARAM_ULL
-#undef QEMU_ADD_NAME_PARAM -#undef QEMU_ADD_NAME_PARAM
- -
#define QEMU_ADD_IOTHREAD_PARAM_UI(record, maxparams, id, name, value) \
do { \
char param_name[VIR_TYPED_PARAM_FIELD_LENGTH]; \
@@ -20896,7 +20754,7 @@ qemuDomainGetStatsIOThread(virQEMUDriver
if (niothreads == 0)
return 0;
- QEMU_ADD_COUNT_PARAM(record, maxparams, "iothread", niothreads);
+ VIR_DOMAIN_STATS_ADD_COUNT_PARAM(record, maxparams, "iothread", niothreads);
for (i = 0; i < niothreads; i++) {
if (iothreads[i]->poll_valid) {
@@ -20929,8 +20787,6 @@ qemuDomainGetStatsIOThread(virQEMUDriver
#undef QEMU_ADD_IOTHREAD_PARAM_ULL
-#undef QEMU_ADD_COUNT_PARAM -#undef QEMU_ADD_COUNT_PARAM
- -
static int static int
qemuDomainGetStatsPerfOneEvent(virPerfPtr perf, qemuDomainGetStatsPerfOneEvent(virPerfPtr perf,
virPerfEventType type, virPerfEventType type,
Index: libvirt-4.9.0/src/util/vircgroup.c Index: libvirt-4.10.0/src/util/vircgroup.c
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/src/util/vircgroup.c --- libvirt-4.10.0.orig/src/util/vircgroup.c
+++ libvirt-4.9.0/src/util/vircgroup.c +++ libvirt-4.10.0/src/util/vircgroup.c
@@ -2794,6 +2794,44 @@ virCgroupControllerAvailable(int control @@ -2794,6 +2794,44 @@ virCgroupControllerAvailable(int control
return ret; return ret;
} }
@ -540,10 +556,10 @@ Index: libvirt-4.9.0/src/util/vircgroup.c
int int
virCgroupNewPartition(const char *path ATTRIBUTE_UNUSED, virCgroupNewPartition(const char *path ATTRIBUTE_UNUSED,
bool create ATTRIBUTE_UNUSED, bool create ATTRIBUTE_UNUSED,
Index: libvirt-4.9.0/src/util/vircgroup.h Index: libvirt-4.10.0/src/util/vircgroup.h
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/src/util/vircgroup.h --- libvirt-4.10.0.orig/src/util/vircgroup.h
+++ libvirt-4.9.0/src/util/vircgroup.h +++ libvirt-4.10.0/src/util/vircgroup.h
@@ -287,4 +287,9 @@ int virCgroupSetOwner(virCgroupPtr cgrou @@ -287,4 +287,9 @@ int virCgroupSetOwner(virCgroupPtr cgrou
int virCgroupHasEmptyTasks(virCgroupPtr cgroup, int controller); int virCgroupHasEmptyTasks(virCgroupPtr cgroup, int controller);
@ -554,10 +570,10 @@ Index: libvirt-4.9.0/src/util/vircgroup.h
+ int *maxparams); + int *maxparams);
+ +
#endif /* __VIR_CGROUP_H__ */ #endif /* __VIR_CGROUP_H__ */
Index: libvirt-4.9.0/src/conf/Makefile.inc.am Index: libvirt-4.10.0/src/conf/Makefile.inc.am
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/src/conf/Makefile.inc.am --- libvirt-4.10.0.orig/src/conf/Makefile.inc.am
+++ libvirt-4.9.0/src/conf/Makefile.inc.am +++ libvirt-4.10.0/src/conf/Makefile.inc.am
@@ -20,6 +20,8 @@ DOMAIN_CONF_SOURCES = \ @@ -20,6 +20,8 @@ DOMAIN_CONF_SOURCES = \
conf/domain_audit.h \ conf/domain_audit.h \
conf/domain_nwfilter.c \ conf/domain_nwfilter.c \

View File

@ -19,10 +19,10 @@ reworking this patch and submitting it to upstream libvirt.
src/libxl/libxl_driver.c | 91 ++++++++++++++++++++++++++++++++++++++++++++++++ src/libxl/libxl_driver.c | 91 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 91 insertions(+) 1 file changed, 91 insertions(+)
Index: libvirt-4.9.0/src/libxl/libxl_driver.c Index: libvirt-4.10.0/src/libxl/libxl_driver.c
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/src/libxl/libxl_driver.c --- libvirt-4.10.0.orig/src/libxl/libxl_driver.c
+++ libvirt-4.9.0/src/libxl/libxl_driver.c +++ libvirt-4.10.0/src/libxl/libxl_driver.c
@@ -5253,6 +5253,97 @@ libxlDomainMemoryStats(virDomainPtr dom, @@ -5253,6 +5253,97 @@ libxlDomainMemoryStats(virDomainPtr dom,
#undef LIBXL_SET_MEMSTAT #undef LIBXL_SET_MEMSTAT
@ -121,7 +121,7 @@ Index: libvirt-4.9.0/src/libxl/libxl_driver.c
static int static int
libxlDomainGetJobInfo(virDomainPtr dom, libxlDomainGetJobInfo(virDomainPtr dom,
virDomainJobInfoPtr info) virDomainJobInfoPtr info)
@@ -6635,6 +6726,7 @@ static virHypervisorDriver libxlHypervis @@ -6637,6 +6728,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-4.9.0/src/lxc/lxc_driver.c Index: libvirt-4.10.0/src/lxc/lxc_driver.c
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/src/lxc/lxc_driver.c --- libvirt-4.10.0.orig/src/lxc/lxc_driver.c
+++ libvirt-4.9.0/src/lxc/lxc_driver.c +++ libvirt-4.10.0/src/lxc/lxc_driver.c
@@ -78,6 +78,7 @@ @@ -78,6 +78,7 @@
#include "viraccessapichecklxc.h" #include "viraccessapichecklxc.h"
#include "virhostdev.h" #include "virhostdev.h"

View File

@ -1,36 +0,0 @@
commit 14d03b27bf8f8a13da27a297e23e2b1b80688459
Author: Jim Fehlig <jfehlig@suse.com>
Date: Wed Oct 31 10:41:28 2018 -0600
libxl: remove redundant calls to virObjectEventStateQueue
In libxlDomainShutdownThread, virObjectEventStateQueue is needlessly
called in the destroy and restart labels. The cleanup label aready
queues whatever event was created based on libxl_shutdown_reason.
There is no need to handle destroy and restart differently.
Signed-off-by: Jim Fehlig <jfehlig@suse.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
diff --git a/src/libxl/libxl_domain.c b/src/libxl/libxl_domain.c
index 0032b9dd11..9ed6ee8fb3 100644
--- a/src/libxl/libxl_domain.c
+++ b/src/libxl/libxl_domain.c
@@ -538,8 +538,6 @@ libxlDomainShutdownThread(void *opaque)
}
destroy:
- virObjectEventStateQueue(driver->domainEventState, dom_event);
- dom_event = NULL;
libxlDomainDestroyInternal(driver, vm);
libxlDomainCleanup(driver, vm);
if (!vm->persistent)
@@ -548,8 +546,6 @@ libxlDomainShutdownThread(void *opaque)
goto endjob;
restart:
- virObjectEventStateQueue(driver->domainEventState, dom_event);
- dom_event = NULL;
libxlDomainDestroyInternal(driver, vm);
libxlDomainCleanup(driver, vm);
if (libxlDomainStartNew(driver, vm, false) < 0) {

View File

@ -1,133 +0,0 @@
commit 82452a5d7f55c7698459728a3ee071402f43bb4d
Author: Jim Fehlig <jfehlig@suse.com>
Date: Wed Oct 31 10:54:14 2018 -0600
libxl: Remove some goto labels in libxlDomainShutdownThread
There are too many goto labels in libxlDomainShutdownThread. Convert the
'destroy' and 'restart' labels to helper functions, leaving only the
commonly used pattern of 'endjob' and 'cleanup' labels.
Signed-off-by: Jim Fehlig <jfehlig@suse.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
diff --git a/src/libxl/libxl_domain.c b/src/libxl/libxl_domain.c
index 9ed6ee8fb3..4cdaee0e51 100644
--- a/src/libxl/libxl_domain.c
+++ b/src/libxl/libxl_domain.c
@@ -430,6 +430,30 @@ virDomainDefParserConfig libxlDomainDefParserConfig = {
};
+static void
+libxlDomainShutdownHandleDestroy(libxlDriverPrivatePtr driver,
+ virDomainObjPtr vm)
+{
+ libxlDomainDestroyInternal(driver, vm);
+ libxlDomainCleanup(driver, vm);
+ if (!vm->persistent)
+ virDomainObjListRemove(driver->domains, vm);
+}
+
+
+static void
+libxlDomainShutdownHandleRestart(libxlDriverPrivatePtr driver,
+ virDomainObjPtr vm)
+{
+ libxlDomainDestroyInternal(driver, vm);
+ libxlDomainCleanup(driver, vm);
+ if (libxlDomainStartNew(driver, vm, false) < 0) {
+ VIR_ERROR(_("Failed to restart VM '%s': %s"),
+ vm->def->name, virGetLastErrorMessage());
+ }
+}
+
+
struct libxlShutdownThreadInfo
{
libxlDriverPrivatePtr driver;
@@ -468,10 +492,12 @@ libxlDomainShutdownThread(void *opaque)
VIR_DOMAIN_EVENT_STOPPED_SHUTDOWN);
switch ((virDomainLifecycleAction) vm->def->onPoweroff) {
case VIR_DOMAIN_LIFECYCLE_ACTION_DESTROY:
- goto destroy;
+ libxlDomainShutdownHandleDestroy(driver, vm);
+ goto endjob;
case VIR_DOMAIN_LIFECYCLE_ACTION_RESTART:
case VIR_DOMAIN_LIFECYCLE_ACTION_RESTART_RENAME:
- goto restart;
+ libxlDomainShutdownHandleRestart(driver, vm);
+ goto endjob;
case VIR_DOMAIN_LIFECYCLE_ACTION_PRESERVE:
case VIR_DOMAIN_LIFECYCLE_ACTION_COREDUMP_DESTROY:
case VIR_DOMAIN_LIFECYCLE_ACTION_COREDUMP_RESTART:
@@ -487,19 +513,23 @@ libxlDomainShutdownThread(void *opaque)
VIR_DOMAIN_EVENT_STOPPED_CRASHED);
switch ((virDomainLifecycleAction) vm->def->onCrash) {
case VIR_DOMAIN_LIFECYCLE_ACTION_DESTROY:
- goto destroy;
+ libxlDomainShutdownHandleDestroy(driver, vm);
+ goto endjob;
case VIR_DOMAIN_LIFECYCLE_ACTION_RESTART:
case VIR_DOMAIN_LIFECYCLE_ACTION_RESTART_RENAME:
- goto restart;
+ libxlDomainShutdownHandleRestart(driver, vm);
+ goto endjob;
case VIR_DOMAIN_LIFECYCLE_ACTION_PRESERVE:
case VIR_DOMAIN_LIFECYCLE_ACTION_LAST:
goto endjob;
case VIR_DOMAIN_LIFECYCLE_ACTION_COREDUMP_DESTROY:
libxlDomainAutoCoreDump(driver, vm);
- goto destroy;
+ libxlDomainShutdownHandleDestroy(driver, vm);
+ goto endjob;
case VIR_DOMAIN_LIFECYCLE_ACTION_COREDUMP_RESTART:
libxlDomainAutoCoreDump(driver, vm);
- goto restart;
+ libxlDomainShutdownHandleRestart(driver, vm);
+ goto endjob;
}
} else if (xl_reason == LIBXL_SHUTDOWN_REASON_REBOOT) {
virDomainObjSetState(vm, VIR_DOMAIN_SHUTOFF,
@@ -510,10 +540,12 @@ libxlDomainShutdownThread(void *opaque)
VIR_DOMAIN_EVENT_STOPPED_SHUTDOWN);
switch ((virDomainLifecycleAction) vm->def->onReboot) {
case VIR_DOMAIN_LIFECYCLE_ACTION_DESTROY:
- goto destroy;
+ libxlDomainShutdownHandleDestroy(driver, vm);
+ goto endjob;
case VIR_DOMAIN_LIFECYCLE_ACTION_RESTART:
case VIR_DOMAIN_LIFECYCLE_ACTION_RESTART_RENAME:
- goto restart;
+ libxlDomainShutdownHandleRestart(driver, vm);
+ goto endjob;
case VIR_DOMAIN_LIFECYCLE_ACTION_PRESERVE:
case VIR_DOMAIN_LIFECYCLE_ACTION_COREDUMP_DESTROY:
case VIR_DOMAIN_LIFECYCLE_ACTION_COREDUMP_RESTART:
@@ -531,26 +563,8 @@ libxlDomainShutdownThread(void *opaque)
* Similar to the xl implementation, ignore SUSPEND. Any actions needed
* after calling libxl_domain_suspend() are handled by it's callers.
*/
- goto endjob;
} else {
VIR_INFO("Unhandled shutdown_reason %d", xl_reason);
- goto endjob;
- }
-
- destroy:
- libxlDomainDestroyInternal(driver, vm);
- libxlDomainCleanup(driver, vm);
- if (!vm->persistent)
- virDomainObjListRemove(driver->domains, vm);
-
- goto endjob;
-
- restart:
- libxlDomainDestroyInternal(driver, vm);
- libxlDomainCleanup(driver, vm);
- if (libxlDomainStartNew(driver, vm, false) < 0) {
- VIR_ERROR(_("Failed to restart VM '%s': %s"),
- vm->def->name, virGetLastErrorMessage());
}
endjob:

View File

@ -1,7 +1,7 @@
Index: libvirt-4.9.0/examples/apparmor/libvirt-lxc Index: libvirt-4.10.0/examples/apparmor/libvirt-lxc
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/examples/apparmor/libvirt-lxc --- libvirt-4.10.0.orig/examples/apparmor/libvirt-lxc
+++ libvirt-4.9.0/examples/apparmor/libvirt-lxc +++ libvirt-4.10.0/examples/apparmor/libvirt-lxc
@@ -2,39 +2,15 @@ @@ -2,39 +2,15 @@
#include <abstractions/base> #include <abstractions/base>

View File

@ -11,11 +11,11 @@ Signed-off-by: Chunyan Liu <cyliu@suse.com>
src/qemu/qemu_driver.c | 7 +++++++ src/qemu/qemu_driver.c | 7 +++++++
1 file changed, 7 insertions(+) 1 file changed, 7 insertions(+)
Index: libvirt-4.9.0/src/qemu/qemu_driver.c Index: libvirt-4.10.0/src/qemu/qemu_driver.c
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/src/qemu/qemu_driver.c --- libvirt-4.10.0.orig/src/qemu/qemu_driver.c
+++ libvirt-4.9.0/src/qemu/qemu_driver.c +++ libvirt-4.10.0/src/qemu/qemu_driver.c
@@ -17506,6 +17506,14 @@ qemuDomainBlockCopyCommon(virDomainObjPt @@ -17737,6 +17737,14 @@ qemuDomainBlockCopyCommon(virDomainObjPt
goto endjob; goto endjob;
} }

View File

@ -1,85 +0,0 @@
commit da4b0fd9d3cdd117427e7e1981e8639bc859e844
Author: Jim Fehlig <jfehlig@suse.com>
Date: Wed Oct 31 11:03:37 2018 -0600
libxl: add support for soft reset
The pvops Linux kernel implements machine_ops.crash_shutdown as
static void xen_hvm_crash_shutdown(struct pt_regs *regs)
{
native_machine_crash_shutdown(regs);
xen_reboot(SHUTDOWN_soft_reset);
}
but currently the libxl driver does not handle the soft reset
shutdown event. As a result, the guest domain never proceeds
past xen_reboot(), making it impossible for HVM domains to save
a crash dump using kexec.
This patch adds support for handling the soft reset event by
calling libxl_domain_soft_reset() and re-enabling domain death
events, which is similar to the xl tool handling of soft reset
shutdown event.
Signed-off-by: Jim Fehlig <jfehlig@suse.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
Index: libvirt-4.9.0/src/libxl/libxl_domain.c
===================================================================
--- libvirt-4.9.0.orig/src/libxl/libxl_domain.c
+++ libvirt-4.9.0/src/libxl/libxl_domain.c
@@ -471,8 +471,10 @@ libxlDomainShutdownThread(void *opaque)
virObjectEventPtr dom_event = NULL;
libxl_shutdown_reason xl_reason = ev->u.domain_shutdown.shutdown_reason;
libxlDriverConfigPtr cfg;
+ libxl_domain_config d_config;
cfg = libxlDriverConfigGet(driver);
+ libxl_domain_config_init(&d_config);
vm = virDomainObjListFindByID(driver->domains, ev->domid);
if (!vm) {
@@ -563,6 +565,34 @@ libxlDomainShutdownThread(void *opaque)
* Similar to the xl implementation, ignore SUSPEND. Any actions needed
* after calling libxl_domain_suspend() are handled by it's callers.
*/
+#ifdef LIBXL_HAVE_SOFT_RESET
+ } else if (xl_reason == LIBXL_SHUTDOWN_REASON_SOFT_RESET) {
+ libxlDomainObjPrivatePtr priv = vm->privateData;
+
+ if (libxl_retrieve_domain_configuration(cfg->ctx, vm->def->id,
+ &d_config) != 0) {
+ VIR_ERROR(_("Failed to retrieve config for VM '%s'. "
+ "Unable to perform soft reset. Destroying VM"),
+ vm->def->name);
+ libxlDomainShutdownHandleDestroy(driver, vm);
+ goto endjob;
+ }
+
+ if (priv->deathW) {
+ libxl_evdisable_domain_death(cfg->ctx, priv->deathW);
+ priv->deathW = NULL;
+ }
+
+ if (libxl_domain_soft_reset(cfg->ctx, &d_config, vm->def->id,
+ NULL, NULL) != 0) {
+ VIR_ERROR(_("Failed to soft reset VM '%s'. Destroying VM"),
+ vm->def->name);
+ libxlDomainShutdownHandleDestroy(driver, vm);
+ goto endjob;
+ }
+ libxl_evenable_domain_death(cfg->ctx, vm->def->id, 0, &priv->deathW);
+ libxl_domain_unpause(cfg->ctx, vm->def->id);
+#endif
} else {
VIR_INFO("Unhandled shutdown_reason %d", xl_reason);
}
@@ -575,6 +605,7 @@ libxlDomainShutdownThread(void *opaque)
virObjectEventStateQueue(driver->domainEventState, dom_event);
libxl_event_free(cfg->ctx, ev);
VIR_FREE(shutdown_info);
+ libxl_domain_config_dispose(&d_config);
virObjectUnref(cfg);
}

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

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

10
libvirt-4.10.0.tar.xz.asc Normal file
View File

@ -0,0 +1,10 @@
-----BEGIN PGP SIGNATURE-----
iQEcBAABAgAGBQJcBREvAAoJEBVYiyZZa+pdNYEH/3lT2nLYV10dOSTevgXzAM3j
yjZFUOwD/Vm4HZynFDp5TFTIm7xCy954Jr9ga9h1AufdDhHv+OrXfuDRt1GLVWV7
wbrRyf8UJWXl9F0BWKG1bl6nEGqnCgRewpRYjIW9NvGhpijsuDt3TyBf4kYikKZb
7ZozD+JGl7DFasIKHXSp6AZY7QdT8LDepIeKql7KF6MdyglSFvmYZwbvJNCGGDV3
PmCBd8Ma2SQNn+Qb4mHetOw6sLapjESIGF1oqNRWjfX2Cb00GFeQcXVJJTXwNgz8
DffzJwLEMlDSLtEdzhteSmiXnQOsWTn+A02rkgGG172KBOsfOXfhT/dMTUoZJpo=
=CSLV
-----END PGP SIGNATURE-----

View File

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

View File

@ -1,10 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQEcBAABAgAGBQJb3yVYAAoJEBVYiyZZa+pde8QIALgbitxgn79S7cAYatk5xv7n
5OKXY6MjaF1568fx6uCnFo/hM7GR4l43Lqjk4lc3nNxYjhnCIjK6fpwdnIKg0G+F
JgsGV0Ydjxrqs140SnhgYYWyaHq6juHdqSdfKqnLJ/uPYVUPhUomhZ5c4LvBcYCX
3Sy9TKJOpFjEmuBpzZHMzvXibtS+fUkTyzlNixOQ/tjVNnYu1OboOuXov4ay+aS4
uild4jnO86mDa0LBxHWVEobjLiJs5RTDPbnnn8DT6nRdn14TzAsIJU2wms8OO36w
x3h1Ao59X7yUKOE5rYZnIIG6oW2I6jM3Vy6NxDVNAx0P/1/bCqE7lwgJD4uh2Zg=
=aLc3
-----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-4.9.0/src/cpu_map/ppc64_POWER8.xml Index: libvirt-4.10.0/src/cpu_map/ppc64_POWER8.xml
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/src/cpu_map/ppc64_POWER8.xml --- libvirt-4.10.0.orig/src/cpu_map/ppc64_POWER8.xml
+++ libvirt-4.9.0/src/cpu_map/ppc64_POWER8.xml +++ libvirt-4.10.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-4.9.0/configure.ac Index: libvirt-4.10.0/configure.ac
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/configure.ac --- libvirt-4.10.0.orig/configure.ac
+++ libvirt-4.9.0/configure.ac +++ libvirt-4.10.0/configure.ac
@@ -256,6 +256,7 @@ LIBVIRT_ARG_LIBSSH @@ -256,6 +256,7 @@ LIBVIRT_ARG_LIBSSH
LIBVIRT_ARG_LIBXML LIBVIRT_ARG_LIBXML
LIBVIRT_ARG_MACVTAP LIBVIRT_ARG_MACVTAP
@ -26,10 +26,10 @@ Index: libvirt-4.9.0/configure.ac
LIBVIRT_RESULT_NLS LIBVIRT_RESULT_NLS
LIBVIRT_RESULT_NSS LIBVIRT_RESULT_NSS
LIBVIRT_RESULT_NUMACTL LIBVIRT_RESULT_NUMACTL
Index: libvirt-4.9.0/tools/virsh.c Index: libvirt-4.10.0/tools/virsh.c
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/tools/virsh.c --- libvirt-4.10.0.orig/tools/virsh.c
+++ libvirt-4.9.0/tools/virsh.c +++ libvirt-4.10.0/tools/virsh.c
@@ -570,6 +570,8 @@ virshShowVersion(vshControl *ctl ATTRIBU @@ -570,6 +570,8 @@ virshShowVersion(vshControl *ctl ATTRIBU
vshPrint(ctl, " Interface"); vshPrint(ctl, " Interface");
# if defined(WITH_NETCF) # if defined(WITH_NETCF)
@ -39,10 +39,10 @@ Index: libvirt-4.9.0/tools/virsh.c
# elif defined(WITH_UDEV) # elif defined(WITH_UDEV)
vshPrint(ctl, " udev"); vshPrint(ctl, " udev");
# endif # endif
Index: libvirt-4.9.0/src/interface/interface_backend_netcf.c Index: libvirt-4.10.0/src/interface/interface_backend_netcf.c
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/src/interface/interface_backend_netcf.c --- libvirt-4.10.0.orig/src/interface/interface_backend_netcf.c
+++ libvirt-4.9.0/src/interface/interface_backend_netcf.c +++ libvirt-4.10.0/src/interface/interface_backend_netcf.c
@@ -23,7 +23,12 @@ @@ -23,7 +23,12 @@
#include <config.h> #include <config.h>
@ -126,10 +126,10 @@ Index: libvirt-4.9.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-4.9.0/src/interface/interface_driver.c Index: libvirt-4.10.0/src/interface/interface_driver.c
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/src/interface/interface_driver.c --- libvirt-4.10.0.orig/src/interface/interface_driver.c
+++ libvirt-4.9.0/src/interface/interface_driver.c +++ libvirt-4.10.0/src/interface/interface_driver.c
@@ -30,8 +30,15 @@ interfaceRegister(void) @@ -30,8 +30,15 @@ interfaceRegister(void)
if (netcfIfaceRegister() == 0) if (netcfIfaceRegister() == 0)
return 0; return 0;
@ -147,10 +147,10 @@ Index: libvirt-4.9.0/src/interface/interface_driver.c
if (udevIfaceRegister() == 0) if (udevIfaceRegister() == 0)
return 0; return 0;
#endif /* WITH_UDEV */ #endif /* WITH_UDEV */
Index: libvirt-4.9.0/m4/virt-netcontrol.m4 Index: libvirt-4.10.0/m4/virt-netcontrol.m4
=================================================================== ===================================================================
--- /dev/null --- /dev/null
+++ libvirt-4.9.0/m4/virt-netcontrol.m4 +++ libvirt-4.10.0/m4/virt-netcontrol.m4
@@ -0,0 +1,39 @@ @@ -0,0 +1,39 @@
+dnl The libnetcontrol library +dnl The libnetcontrol library
+dnl +dnl
@ -191,10 +191,10 @@ Index: libvirt-4.9.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-4.9.0/src/interface/Makefile.inc.am Index: libvirt-4.10.0/src/interface/Makefile.inc.am
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/src/interface/Makefile.inc.am --- libvirt-4.10.0.orig/src/interface/Makefile.inc.am
+++ libvirt-4.9.0/src/interface/Makefile.inc.am +++ libvirt-4.10.0/src/interface/Makefile.inc.am
@@ -4,6 +4,7 @@ INTERFACE_DRIVER_SOURCES = \ @@ -4,6 +4,7 @@ INTERFACE_DRIVER_SOURCES = \
$(NULL) $(NULL)

View File

@ -1,3 +1,19 @@
-------------------------------------------------------------------
Mon Dec 3 21:58:53 UTC 2018 - James Fehlig <jfehlig@suse.com>
- Update to libvirt 4.10.0
- Many incremental improvements and bug fixes, see
http://libvirt.org/news.html
- Dropped patches:
14d03b27-libxl-rm-redundant-virObjectEventStateQueue.patch,
82452a5d-libxl-rm-goto-libxlDomainShutdownThread.patch,
da4b0fd9-libxl-support-soft-reset.patch,
libxl-qemu-emulator-caps.patch
- Added patches:
libxl-support-ovswitch.patch,
libxl-ovswitch-config-format-conversions.patch
- FATE#320928, FATE#325817, FATE#326380, FATE#326698
------------------------------------------------------------------- -------------------------------------------------------------------
Tue Nov 6 18:33:26 UTC 2018 - James Fehlig <jfehlig@suse.com> Tue Nov 6 18:33:26 UTC 2018 - James Fehlig <jfehlig@suse.com>

View File

@ -185,7 +185,7 @@
Name: libvirt Name: libvirt
Url: http://libvirt.org/ Url: http://libvirt.org/
Version: 4.9.0 Version: 4.10.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
@ -339,12 +339,11 @@ Source6: libvirtd-relocation-server.xml
Source99: baselibs.conf Source99: baselibs.conf
Source100: %{name}-rpmlintrc Source100: %{name}-rpmlintrc
# Upstream patches # Upstream patches
Patch0: 14d03b27-libxl-rm-redundant-virObjectEventStateQueue.patch
Patch1: 82452a5d-libxl-rm-goto-libxlDomainShutdownThread.patch
Patch2: da4b0fd9-libxl-support-soft-reset.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
Patch102: libxl-support-ovswitch.patch
Patch103: libxl-ovswitch-config-format-conversions.patch
# Need to go upstream # Need to go upstream
Patch150: xen-pv-cdrom.patch Patch150: xen-pv-cdrom.patch
Patch151: blockcopy-check-dst-identical-device.patch Patch151: blockcopy-check-dst-identical-device.patch
@ -372,7 +371,6 @@ Patch212: apparmor-no-mount.patch
Patch213: qemu-apparmor-screenshot.patch Patch213: qemu-apparmor-screenshot.patch
Patch214: libvirt-suse-netcontrol.patch Patch214: libvirt-suse-netcontrol.patch
Patch215: lxc-wait-after-eth-del.patch Patch215: lxc-wait-after-eth-del.patch
Patch216: libxl-qemu-emulator-caps.patch
# SLES-Only patches # SLES-Only patches
%if ! 0%{?is_opensuse} %if ! 0%{?is_opensuse}
Patch400: virt-create-rootfs.patch Patch400: virt-create-rootfs.patch
@ -904,11 +902,10 @@ libvirt plugin for NSS for translating domain names into IP addresses.
%prep %prep
%setup -q %setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch100 -p1 %patch100 -p1
%patch101 -p1 %patch101 -p1
%patch102 -p1
%patch103 -p1
%patch150 -p1 %patch150 -p1
%patch151 -p1 %patch151 -p1
%patch152 -p1 %patch152 -p1
@ -934,7 +931,6 @@ libvirt plugin for NSS for translating domain names into IP addresses.
%patch213 -p1 %patch213 -p1
%patch214 -p1 %patch214 -p1
%patch215 -p1 %patch215 -p1
%patch216 -p1
%if ! 0%{?is_opensuse} %if ! 0%{?is_opensuse}
%patch400 -p1 %patch400 -p1
%endif %endif

View File

@ -8,10 +8,10 @@ Date: Mon Jun 23 15:51:20 2014 -0600
option, but domainReset can be implemented in the libxl driver by option, but domainReset can be implemented in the libxl driver by
forcibly destroying the domain and starting it again. forcibly destroying the domain and starting it again.
Index: libvirt-4.9.0/src/libxl/libxl_driver.c Index: libvirt-4.10.0/src/libxl/libxl_driver.c
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/src/libxl/libxl_driver.c --- libvirt-4.10.0.orig/src/libxl/libxl_driver.c
+++ libvirt-4.9.0/src/libxl/libxl_driver.c +++ libvirt-4.10.0/src/libxl/libxl_driver.c
@@ -1355,6 +1355,61 @@ libxlDomainReboot(virDomainPtr dom, unsi @@ -1355,6 +1355,61 @@ libxlDomainReboot(virDomainPtr dom, unsi
} }
@ -74,7 +74,7 @@ Index: libvirt-4.9.0/src/libxl/libxl_driver.c
libxlDomainDestroyFlags(virDomainPtr dom, libxlDomainDestroyFlags(virDomainPtr dom,
unsigned int flags) unsigned int flags)
{ {
@@ -6510,6 +6565,7 @@ static virHypervisorDriver libxlHypervis @@ -6512,6 +6567,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

@ -0,0 +1,348 @@
commit 17c45f4014eb4f98cca86a944b61e0393d597059
Author: Jim Fehlig <jfehlig@suse.com>
Date: Fri Nov 16 13:08:23 2018 -0700
xenconfig: add support for openvswitch configuration
Add support for converting openvswitch interface configuration
to/from libvirt domXML and xl.cfg(5). The xl config syntax for
virtual interfaces is described in detail in the
xl-network-configuration(5) man page. The Xen Networking wiki
also contains information and examples for using openvswitch
in xl.cfg config format
https://wiki.xenproject.org/wiki/Xen_Networking#Open_vSwitch
Tests are added to check conversions of openvswitch tagged and
trunked VLAN configuration.
Signed-off-by: Jim Fehlig <jfehlig@suse.com>
Index: libvirt-4.10.0/src/xenconfig/xen_common.c
===================================================================
--- libvirt-4.10.0.orig/src/xenconfig/xen_common.c
+++ libvirt-4.10.0/src/xenconfig/xen_common.c
@@ -856,6 +856,84 @@ xenParseCharDev(virConfPtr conf, virDoma
}
+static int
+xenParseVifBridge(virDomainNetDefPtr net, char *bridge)
+{
+ char *vlanstr;
+ unsigned int tag;
+
+ /* 'bridge' string contains a bridge name and single vlan tag */
+ vlanstr = strchr(bridge, '.');
+ if (vlanstr) {
+ if (VIR_STRNDUP(net->data.bridge.brname, bridge, vlanstr - bridge) < 0)
+ return -1;
+
+ vlanstr++;
+ if (virStrToLong_ui(vlanstr, NULL, 10, &tag) < 0)
+ return -1;
+
+ if (VIR_ALLOC_N(net->vlan.tag, 1) < 0)
+ return -1;
+
+ net->vlan.tag[0] = tag;
+ net->vlan.nTags = 1;
+
+ if (VIR_ALLOC(net->virtPortProfile) < 0)
+ return -1;
+
+ net->virtPortProfile->virtPortType = VIR_NETDEV_VPORT_PROFILE_OPENVSWITCH;
+ return 0;
+ }
+
+ /* 'bridge' string contains a bridge name and one or more vlan trunks */
+ vlanstr = strchr(bridge, ':');
+ if (vlanstr) {
+ size_t i;
+ size_t nvlans = 0;
+ char **vlanstr_list = virStringSplit(bridge, ":", 0);
+
+ if (!vlanstr_list)
+ return -1;
+
+ if (VIR_STRDUP(net->data.bridge.brname, vlanstr_list[0]) < 0) {
+ virStringListFree(vlanstr_list);
+ return -1;
+ }
+
+ for (i = 1; vlanstr_list[i]; i++)
+ nvlans++;
+
+ if (VIR_ALLOC_N(net->vlan.tag, nvlans) < 0) {
+ virStringListFree(vlanstr_list);
+ return -1;
+ }
+
+ for (i = 1; i <= nvlans; i++) {
+ if (virStrToLong_ui(vlanstr_list[i], NULL, 10, &tag) < 0) {
+ virStringListFree(vlanstr_list);
+ return -1;
+ }
+ net->vlan.tag[i - 1] = tag;
+ }
+ net->vlan.nTags = nvlans;
+ net->vlan.trunk = true;
+ virStringListFree(vlanstr_list);
+
+ if (VIR_ALLOC(net->virtPortProfile) < 0)
+ return -1;
+
+ net->virtPortProfile->virtPortType = VIR_NETDEV_VPORT_PROFILE_OPENVSWITCH;
+ return 0;
+ }
+
+ /* 'bridge' string only contains the bridge name */
+ if (VIR_STRDUP(net->data.bridge.brname, bridge) < 0)
+ return -1;
+
+ return 0;
+}
+
+
static virDomainNetDefPtr
xenParseVif(char *entry, const char *vif_typename)
{
@@ -974,8 +1052,8 @@ xenParseVif(char *entry, const char *vif
net->type = VIR_DOMAIN_NET_TYPE_ETHERNET;
}
- if (net->type == VIR_DOMAIN_NET_TYPE_BRIDGE) {
- if (bridge[0] && VIR_STRDUP(net->data.bridge.brname, bridge) < 0)
+ if (net->type == VIR_DOMAIN_NET_TYPE_BRIDGE && bridge[0]) {
+ if (xenParseVifBridge(net, bridge) < 0)
goto cleanup;
}
if (ip[0]) {
@@ -1264,14 +1342,41 @@ xenFormatNet(virConnectPtr conn,
switch (net->type) {
case VIR_DOMAIN_NET_TYPE_BRIDGE:
+ {
+ virNetDevVPortProfilePtr port_profile = virDomainNetGetActualVirtPortProfile(net);
+ virNetDevVlanPtr virt_vlan = virDomainNetGetActualVlan(net);
+ const char *script = net->script;
+ size_t i;
+
virBufferAsprintf(&buf, ",bridge=%s", net->data.bridge.brname);
+ if (port_profile &&
+ port_profile->virtPortType == VIR_NETDEV_VPORT_PROFILE_OPENVSWITCH) {
+ if (!script)
+ script = "vif-openvswitch";
+ /*
+ * libxl_device_nic->bridge supports an extended format for
+ * specifying VLAN tags and trunks
+ *
+ * BRIDGE_NAME[.VLAN][:TRUNK:TRUNK]
+ */
+ if (virt_vlan && virt_vlan->nTags > 0) {
+ if (virt_vlan->trunk) {
+ for (i = 0; i < virt_vlan->nTags; i++)
+ virBufferAsprintf(&buf, ":%d", virt_vlan->tag[i]);
+ } else {
+ virBufferAsprintf(&buf, ".%d", virt_vlan->tag[0]);
+ }
+ }
+ }
+
if (net->guestIP.nips > 0) {
char *ipStr = xenMakeIPList(&net->guestIP);
virBufferAsprintf(&buf, ",ip=%s", ipStr);
VIR_FREE(ipStr);
}
- virBufferAsprintf(&buf, ",script=%s", DEFAULT_VIF_SCRIPT);
- break;
+ virBufferAsprintf(&buf, ",script=%s", script ? script : DEFAULT_VIF_SCRIPT);
+ }
+ break;
case VIR_DOMAIN_NET_TYPE_ETHERNET:
if (net->script)
Index: libvirt-4.10.0/tests/xlconfigdata/test-fullvirt-ovswitch-tagged.cfg
===================================================================
--- /dev/null
+++ libvirt-4.10.0/tests/xlconfigdata/test-fullvirt-ovswitch-tagged.cfg
@@ -0,0 +1,25 @@
+name = "XenGuest2"
+uuid = "c7a5fdb2-cdaf-9455-926a-d65c16db1809"
+maxmem = 8192
+memory = 8192
+vcpus = 8
+pae = 1
+acpi = 1
+apic = 1
+viridian = 0
+rtc_timeoffset = 0
+localtime = 0
+on_poweroff = "destroy"
+on_reboot = "restart"
+on_crash = "restart"
+device_model = "/usr/lib/xen/bin/qemu-system-i386"
+sdl = 0
+vnc = 1
+vncunused = 1
+vnclisten = "127.0.0.1"
+vif = [ "mac=00:16:3e:66:92:9c,bridge=ovsbr0.42,script=vif-openvswitch,model=e1000" ]
+parallel = "none"
+serial = "none"
+builder = "hvm"
+boot = "c"
+disk = [ "format=raw,vdev=hda,access=rw,backendtype=phy,target=/dev/HostVG/XenGuest2" ]
Index: libvirt-4.10.0/tests/xlconfigdata/test-fullvirt-ovswitch-tagged.xml
===================================================================
--- /dev/null
+++ libvirt-4.10.0/tests/xlconfigdata/test-fullvirt-ovswitch-tagged.xml
@@ -0,0 +1,50 @@
+<domain type='xen'>
+ <name>XenGuest2</name>
+ <uuid>c7a5fdb2-cdaf-9455-926a-d65c16db1809</uuid>
+ <memory unit='KiB'>8388608</memory>
+ <currentMemory unit='KiB'>8388608</currentMemory>
+ <vcpu placement='static'>8</vcpu>
+ <os>
+ <type arch='x86_64' machine='xenfv'>hvm</type>
+ <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
+ <boot dev='hd'/>
+ </os>
+ <features>
+ <acpi/>
+ <apic/>
+ <pae/>
+ </features>
+ <clock offset='variable' adjustment='0' basis='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>restart</on_crash>
+ <devices>
+ <emulator>/usr/lib/xen/bin/qemu-system-i386</emulator>
+ <disk type='block' device='disk'>
+ <driver name='phy' type='raw'/>
+ <source dev='/dev/HostVG/XenGuest2'/>
+ <target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' target='0' unit='0'/>
+ </disk>
+ <controller type='ide' index='0'/>
+ <interface type='bridge'>
+ <mac address='00:16:3e:66:92:9c'/>
+ <source bridge='ovsbr0'/>
+ <vlan>
+ <tag id='42'/>
+ </vlan>
+ <virtualport type='openvswitch'/>
+ <script path='vif-openvswitch'/>
+ <model type='e1000'/>
+ </interface>
+ <input type='mouse' bus='ps2'/>
+ <input type='keyboard' bus='ps2'/>
+ <graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1'>
+ <listen type='address' address='127.0.0.1'/>
+ </graphics>
+ <video>
+ <model type='cirrus' vram='8192' heads='1' primary='yes'/>
+ </video>
+ <memballoon model='xen'/>
+ </devices>
+</domain>
Index: libvirt-4.10.0/tests/xlconfigdata/test-fullvirt-ovswitch-trunked.cfg
===================================================================
--- /dev/null
+++ libvirt-4.10.0/tests/xlconfigdata/test-fullvirt-ovswitch-trunked.cfg
@@ -0,0 +1,25 @@
+name = "XenGuest2"
+uuid = "c7a5fdb2-cdaf-9455-926a-d65c16db1809"
+maxmem = 8192
+memory = 8192
+vcpus = 8
+pae = 1
+acpi = 1
+apic = 1
+viridian = 0
+rtc_timeoffset = 0
+localtime = 0
+on_poweroff = "destroy"
+on_reboot = "restart"
+on_crash = "restart"
+device_model = "/usr/lib/xen/bin/qemu-system-i386"
+sdl = 0
+vnc = 1
+vncunused = 1
+vnclisten = "127.0.0.1"
+vif = [ "mac=00:16:3e:66:92:9c,bridge=ovsbr0:42:43,script=vif-openvswitch,model=e1000" ]
+parallel = "none"
+serial = "none"
+builder = "hvm"
+boot = "c"
+disk = [ "format=raw,vdev=hda,access=rw,backendtype=phy,target=/dev/HostVG/XenGuest2" ]
Index: libvirt-4.10.0/tests/xlconfigdata/test-fullvirt-ovswitch-trunked.xml
===================================================================
--- /dev/null
+++ libvirt-4.10.0/tests/xlconfigdata/test-fullvirt-ovswitch-trunked.xml
@@ -0,0 +1,51 @@
+<domain type='xen'>
+ <name>XenGuest2</name>
+ <uuid>c7a5fdb2-cdaf-9455-926a-d65c16db1809</uuid>
+ <memory unit='KiB'>8388608</memory>
+ <currentMemory unit='KiB'>8388608</currentMemory>
+ <vcpu placement='static'>8</vcpu>
+ <os>
+ <type arch='x86_64' machine='xenfv'>hvm</type>
+ <loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
+ <boot dev='hd'/>
+ </os>
+ <features>
+ <acpi/>
+ <apic/>
+ <pae/>
+ </features>
+ <clock offset='variable' adjustment='0' basis='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>restart</on_crash>
+ <devices>
+ <emulator>/usr/lib/xen/bin/qemu-system-i386</emulator>
+ <disk type='block' device='disk'>
+ <driver name='phy' type='raw'/>
+ <source dev='/dev/HostVG/XenGuest2'/>
+ <target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' target='0' unit='0'/>
+ </disk>
+ <controller type='ide' index='0'/>
+ <interface type='bridge'>
+ <mac address='00:16:3e:66:92:9c'/>
+ <source bridge='ovsbr0'/>
+ <vlan trunk='yes'>
+ <tag id='42'/>
+ <tag id='43'/>
+ </vlan>
+ <virtualport type='openvswitch'/>
+ <script path='vif-openvswitch'/>
+ <model type='e1000'/>
+ </interface>
+ <input type='mouse' bus='ps2'/>
+ <input type='keyboard' bus='ps2'/>
+ <graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1'>
+ <listen type='address' address='127.0.0.1'/>
+ </graphics>
+ <video>
+ <model type='cirrus' vram='8192' heads='1' primary='yes'/>
+ </video>
+ <memballoon model='xen'/>
+ </devices>
+</domain>
Index: libvirt-4.10.0/tests/xlconfigtest.c
===================================================================
--- libvirt-4.10.0.orig/tests/xlconfigtest.c
+++ libvirt-4.10.0/tests/xlconfigtest.c
@@ -250,6 +250,8 @@ mymain(void)
DO_TEST_FORMAT(name, true); \
} while (0)
+ DO_TEST("fullvirt-ovswitch-tagged");
+ DO_TEST("fullvirt-ovswitch-trunked");
DO_TEST_REPLACE_VARS("fullvirt-ovmf");
DO_TEST("paravirt-maxvcpus");
DO_TEST("new-disk");

View File

@ -1,31 +0,0 @@
libxl: advertise system qemu instead of qemu-xen in caps
Xen in SLE12 SP2, openSUSE Leap 42.2, and Tumbleweed will no
longer provide qemu-xen (aka qemu-upstream). Instead, the
qemu binary from the distro qemu package will be used. Change
the libvirt capabilities to advertise /usr/bin/qemu-system-x86_64
as the default <emulator>, instead of the qemu-xen one.
See FATE#320638 for details.
Index: libvirt-4.9.0/src/libxl/libxl_capabilities.c
===================================================================
--- libvirt-4.9.0.orig/src/libxl/libxl_capabilities.c
+++ libvirt-4.9.0/src/libxl/libxl_capabilities.c
@@ -38,6 +38,7 @@
#include "libxl_capabilities.h"
#include "cpu/cpu_x86.h"
#include "cpu/cpu_x86_data.h"
+#include "configmake.h"
#define VIR_FROM_THIS VIR_FROM_LIBXL
@@ -506,7 +507,7 @@ libxlCapsInitGuests(libxl_ctx *ctx, virC
if ((guest = virCapabilitiesAddGuest(caps,
guest_archs[i].hvm ? VIR_DOMAIN_OSTYPE_HVM : VIR_DOMAIN_OSTYPE_XEN,
guest_archs[i].arch,
- LIBXL_EXECBIN_DIR "/qemu-system-i386",
+ BINDIR "/qemu-system-x86_64",
(guest_archs[i].hvm ?
LIBXL_FIRMWARE_DIR "/hvmloader" :
NULL),

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-4.9.0/src/libxl/libxl_conf.c Index: libvirt-4.10.0/src/libxl/libxl_conf.c
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/src/libxl/libxl_conf.c --- libvirt-4.10.0.orig/src/libxl/libxl_conf.c
+++ libvirt-4.9.0/src/libxl/libxl_conf.c +++ libvirt-4.10.0/src/libxl/libxl_conf.c
@@ -848,6 +848,30 @@ libxlDiskSetDiscard(libxl_device_disk *x @@ -888,6 +888,30 @@ libxlDiskSetDiscard(libxl_device_disk *x
#endif #endif
} }
@ -38,7 +38,7 @@ Index: libvirt-4.9.0/src/libxl/libxl_conf.c
static char * static char *
libxlMakeNetworkDiskSrcStr(virStorageSourcePtr src, libxlMakeNetworkDiskSrcStr(virStorageSourcePtr src,
const char *username, const char *username,
@@ -1096,6 +1120,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk @@ -1136,6 +1160,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,11 +16,11 @@ Signed-off-by: Jim Fehlig <jfehlig@suse.com>
tools/virsh.pod | 8 ++++++++ tools/virsh.pod | 8 ++++++++
6 files changed, 125 insertions(+), 6 deletions(-) 6 files changed, 125 insertions(+), 6 deletions(-)
Index: libvirt-4.9.0/include/libvirt/libvirt-domain.h Index: libvirt-4.10.0/include/libvirt/libvirt-domain.h
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/include/libvirt/libvirt-domain.h --- libvirt-4.10.0.orig/include/libvirt/libvirt-domain.h
+++ libvirt-4.9.0/include/libvirt/libvirt-domain.h +++ libvirt-4.10.0/include/libvirt/libvirt-domain.h
@@ -1015,6 +1015,31 @@ typedef enum { @@ -1017,6 +1017,31 @@ typedef enum {
*/ */
# define VIR_MIGRATE_PARAM_AUTO_CONVERGE_INCREMENT "auto_converge.increment" # define VIR_MIGRATE_PARAM_AUTO_CONVERGE_INCREMENT "auto_converge.increment"
@ -52,10 +52,10 @@ Index: libvirt-4.9.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-4.9.0/src/libxl/libxl_driver.c Index: libvirt-4.10.0/src/libxl/libxl_driver.c
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/src/libxl/libxl_driver.c --- libvirt-4.10.0.orig/src/libxl/libxl_driver.c
+++ libvirt-4.9.0/src/libxl/libxl_driver.c +++ libvirt-4.10.0/src/libxl/libxl_driver.c
@@ -6119,6 +6119,9 @@ libxlDomainMigratePerform3Params(virDoma @@ -6119,6 +6119,9 @@ libxlDomainMigratePerform3Params(virDoma
const char *dname = NULL; const char *dname = NULL;
const char *uri = NULL; const char *uri = NULL;
@ -99,10 +99,10 @@ Index: libvirt-4.9.0/src/libxl/libxl_driver.c
goto cleanup; goto cleanup;
} }
Index: libvirt-4.9.0/src/libxl/libxl_migration.c Index: libvirt-4.10.0/src/libxl/libxl_migration.c
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/src/libxl/libxl_migration.c --- libvirt-4.10.0.orig/src/libxl/libxl_migration.c
+++ libvirt-4.9.0/src/libxl/libxl_migration.c +++ libvirt-4.10.0/src/libxl/libxl_migration.c
@@ -346,18 +346,39 @@ libxlMigrateDstReceive(virNetSocketPtr s @@ -346,18 +346,39 @@ libxlMigrateDstReceive(virNetSocketPtr s
static int static int
libxlDoMigrateSrcSend(libxlDriverPrivatePtr driver, libxlDoMigrateSrcSend(libxlDriverPrivatePtr driver,
@ -264,10 +264,10 @@ Index: libvirt-4.9.0/src/libxl/libxl_migration.c
virObjectLock(vm); virObjectLock(vm);
if (ret < 0) { if (ret < 0) {
Index: libvirt-4.9.0/src/libxl/libxl_migration.h Index: libvirt-4.10.0/src/libxl/libxl_migration.h
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/src/libxl/libxl_migration.h --- libvirt-4.10.0.orig/src/libxl/libxl_migration.h
+++ libvirt-4.9.0/src/libxl/libxl_migration.h +++ libvirt-4.10.0/src/libxl/libxl_migration.h
@@ -39,6 +39,10 @@ @@ -39,6 +39,10 @@
VIR_MIGRATE_PARAM_URI, VIR_TYPED_PARAM_STRING, \ VIR_MIGRATE_PARAM_URI, VIR_TYPED_PARAM_STRING, \
VIR_MIGRATE_PARAM_DEST_NAME, VIR_TYPED_PARAM_STRING, \ VIR_MIGRATE_PARAM_DEST_NAME, VIR_TYPED_PARAM_STRING, \
@ -312,11 +312,11 @@ Index: libvirt-4.9.0/src/libxl/libxl_migration.h
virDomainPtr virDomainPtr
libxlDomainMigrationDstFinish(virConnectPtr dconn, libxlDomainMigrationDstFinish(virConnectPtr dconn,
Index: libvirt-4.9.0/tools/virsh-domain.c Index: libvirt-4.10.0/tools/virsh-domain.c
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/tools/virsh-domain.c --- libvirt-4.10.0.orig/tools/virsh-domain.c
+++ libvirt-4.9.0/tools/virsh-domain.c +++ libvirt-4.10.0/tools/virsh-domain.c
@@ -10450,6 +10450,22 @@ static const vshCmdOptDef opts_migrate[] @@ -10554,6 +10554,22 @@ static const vshCmdOptDef opts_migrate[]
.type = VSH_OT_BOOL, .type = VSH_OT_BOOL,
.help = N_("use TLS for migration") .help = N_("use TLS for migration")
}, },
@ -339,7 +339,7 @@ Index: libvirt-4.9.0/tools/virsh-domain.c
{.name = NULL} {.name = NULL}
}; };
@@ -10473,6 +10489,7 @@ doMigrate(void *opaque) @@ -10577,6 +10593,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-4.9.0/tools/virsh-domain.c
sigemptyset(&sigmask); sigemptyset(&sigmask);
sigaddset(&sigmask, SIGINT); sigaddset(&sigmask, SIGINT);
@@ -10592,6 +10609,27 @@ doMigrate(void *opaque) @@ -10696,6 +10713,27 @@ doMigrate(void *opaque)
goto save_error; goto save_error;
} }
@ -375,11 +375,11 @@ Index: libvirt-4.9.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-4.9.0/tools/virsh.pod Index: libvirt-4.10.0/tools/virsh.pod
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/tools/virsh.pod --- libvirt-4.10.0.orig/tools/virsh.pod
+++ libvirt-4.9.0/tools/virsh.pod +++ libvirt-4.10.0/tools/virsh.pod
@@ -1937,6 +1937,14 @@ Providing I<--tls> causes the migration @@ -1994,6 +1994,14 @@ Providing I<--tls> causes the migration
the migration of the domain. Usage requires proper TLS setup for both source the migration of the domain. Usage requires proper TLS setup for both source
and target. and target.

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-4.9.0/src/libxl/libxl_conf.c Index: libvirt-4.10.0/src/libxl/libxl_conf.c
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/src/libxl/libxl_conf.c --- libvirt-4.10.0.orig/src/libxl/libxl_conf.c
+++ libvirt-4.9.0/src/libxl/libxl_conf.c +++ libvirt-4.10.0/src/libxl/libxl_conf.c
@@ -848,6 +848,25 @@ libxlDiskSetDiscard(libxl_device_disk *x @@ -888,6 +888,25 @@ libxlDiskSetDiscard(libxl_device_disk *x
#endif #endif
} }
@ -37,7 +37,7 @@ Index: libvirt-4.9.0/src/libxl/libxl_conf.c
static void static void
libxlDiskSetCacheMode(libxl_device_disk *x_disk, int cachemode) libxlDiskSetCacheMode(libxl_device_disk *x_disk, int cachemode)
{ {
@@ -993,6 +1012,7 @@ libxlMakeNetworkDiskSrc(virStorageSource @@ -1033,6 +1052,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 +45,7 @@ Index: libvirt-4.9.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);
@@ -1008,7 +1028,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk @@ -1048,7 +1068,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 +54,7 @@ Index: libvirt-4.9.0/src/libxl/libxl_conf.c
return -1; return -1;
} }
@@ -1121,6 +1141,9 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk @@ -1161,6 +1181,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

@ -0,0 +1,120 @@
commit 2f5d4894a9d8680461883161beb97b6602734726
Author: Jim Fehlig <jfehlig@suse.com>
Date: Tue Jun 28 14:20:02 2016 -0600
libxl: support openvswitch interfaces
It is currently possible to use <interface>s of type openvswitch
with the libxl driver in a non-standard way, e.g.
<interface type='bridge'>
<source bridge='ovsbr0'/>
<mac address='00:16:3e:7a:35:ce'/>
<script path='vif-openvswitch'/>
</interface>
This patch adds support for openvswitch <interface>s specified
in typical libvirt config
<interface type='bridge'>
<source bridge='ovsbr0'/>
<mac address='00:16:3e:7a:35:ce'/>
<virtualport type='openvswitch'/>
</interface>
VLAN tags and trunking are also supported using the extended
syntax for specifying an openvswitch bridge in libxl
BRIDGE_NAME[.VLAN][:TRUNK:TRUNK]
See Xen's networking wiki for more details on openvswitch support
https://wiki.xenproject.org/wiki/Xen_Networking#Open_vSwitch
Signed-off-by: Jim Fehlig <jfehlig@suse.com>
Index: libvirt-4.10.0/src/libxl/libxl_conf.c
===================================================================
--- libvirt-4.10.0.orig/src/libxl/libxl_conf.c
+++ libvirt-4.10.0/src/libxl/libxl_conf.c
@@ -51,6 +51,7 @@
#include "cpu/cpu.h"
#include "xen_common.h"
#include "xen_xl.h"
+#include "virnetdevvportprofile.h"
#define VIR_FROM_THIS VIR_FROM_LIBXL
@@ -1229,6 +1230,11 @@ libxlMakeNic(virDomainDefPtr def,
virNetworkPtr network = NULL;
virConnectPtr conn = NULL;
virNetDevBandwidthPtr actual_bw;
+ virNetDevVPortProfilePtr port_profile;
+ virNetDevVlanPtr virt_vlan;
+ virBuffer buf = VIR_BUFFER_INITIALIZER;
+ size_t i;
+ const char *script = NULL;
int ret = -1;
/* TODO: Where is mtu stored?
@@ -1287,14 +1293,50 @@ libxlMakeNic(virDomainDefPtr def,
if (VIR_STRDUP(x_nic->ifname, l_nic->ifname) < 0)
goto cleanup;
+ port_profile = virDomainNetGetActualVirtPortProfile(l_nic);
+ virt_vlan = virDomainNetGetActualVlan(l_nic);
+ script = l_nic->script;
switch (actual_type) {
case VIR_DOMAIN_NET_TYPE_BRIDGE:
+ virBufferAsprintf(&buf, "%s", virDomainNetGetActualBridgeName(l_nic));
+ /*
+ * A bit of special handling if vif will be connected to an
+ * openvswitch bridge
+ */
+ if (port_profile &&
+ port_profile->virtPortType == VIR_NETDEV_VPORT_PROFILE_OPENVSWITCH) {
+ /*
+ * If a custom script is not specified for openvswitch, use
+ * Xen's vif-openvswitch script
+ */
+ if (!script)
+ script = "vif-openvswitch";
+ /*
+ * libxl_device_nic->bridge supports an extended format for
+ * specifying VLAN tags and trunks when using openvswitch
+ *
+ * BRIDGE_NAME[.VLAN][:TRUNK:TRUNK]
+ *
+ * See Xen's networking wiki for more details
+ * https://wiki.xenproject.org/wiki/Xen_Networking#Open_vSwitch
+ */
+ if (virt_vlan && virt_vlan->nTags > 0) {
+ if (virt_vlan->trunk) {
+ for (i = 0; i < virt_vlan->nTags; i++)
+ virBufferAsprintf(&buf, ":%d", virt_vlan->tag[i]);
+ } else {
+ virBufferAsprintf(&buf, ".%d", virt_vlan->tag[0]);
+ }
+ }
+ }
+ if (virBufferCheckError(&buf) < 0)
+ goto cleanup;
if (VIR_STRDUP(x_nic->bridge,
- virDomainNetGetActualBridgeName(l_nic)) < 0)
+ virBufferCurrentContent(&buf)) < 0)
goto cleanup;
ATTRIBUTE_FALLTHROUGH;
case VIR_DOMAIN_NET_TYPE_ETHERNET:
- if (VIR_STRDUP(x_nic->script, l_nic->script) < 0)
+ if (VIR_STRDUP(x_nic->script, script) < 0)
goto cleanup;
if (l_nic->guestIP.nips > 0) {
x_nic->ip = xenMakeIPList(&l_nic->guestIP);
@@ -1391,6 +1433,7 @@ libxlMakeNic(virDomainDefPtr def,
ret = 0;
cleanup:
+ virBufferFreeAndReset(&buf);
virObjectUnref(network);
virObjectUnref(conn);

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-4.9.0/src/lxc/lxc_controller.c Index: libvirt-4.10.0/src/lxc/lxc_controller.c
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/src/lxc/lxc_controller.c --- libvirt-4.10.0.orig/src/lxc/lxc_controller.c
+++ libvirt-4.9.0/src/lxc/lxc_controller.c +++ libvirt-4.10.0/src/lxc/lxc_controller.c
@@ -72,6 +72,7 @@ @@ -72,6 +72,7 @@
#include "rpc/virnetdaemon.h" #include "rpc/virnetdaemon.h"
#include "virstring.h" #include "virstring.h"
@ -33,10 +33,10 @@ Index: libvirt-4.9.0/src/lxc/lxc_controller.c
return ret; return ret;
} }
Index: libvirt-4.9.0/src/lxc/lxc_driver.c Index: libvirt-4.10.0/src/lxc/lxc_driver.c
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/src/lxc/lxc_driver.c --- libvirt-4.10.0.orig/src/lxc/lxc_driver.c
+++ libvirt-4.9.0/src/lxc/lxc_driver.c +++ libvirt-4.10.0/src/lxc/lxc_driver.c
@@ -73,6 +73,7 @@ @@ -73,6 +73,7 @@
#include "virtime.h" #include "virtime.h"
#include "virtypedparam.h" #include "virtypedparam.h"
@ -61,10 +61,10 @@ Index: libvirt-4.9.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-4.9.0/src/lxc/lxc_process.c Index: libvirt-4.10.0/src/lxc/lxc_process.c
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/src/lxc/lxc_process.c --- libvirt-4.10.0.orig/src/lxc/lxc_process.c
+++ libvirt-4.9.0/src/lxc/lxc_process.c +++ libvirt-4.10.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,10 +17,10 @@ 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-4.9.0/src/network/bridge_driver.c Index: libvirt-4.10.0/src/network/bridge_driver.c
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/src/network/bridge_driver.c --- libvirt-4.10.0.orig/src/network/bridge_driver.c
+++ libvirt-4.9.0/src/network/bridge_driver.c +++ libvirt-4.10.0/src/network/bridge_driver.c
@@ -1458,7 +1458,14 @@ networkDnsmasqConfContents(virNetworkObj @@ -1458,7 +1458,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) {
@ -37,10 +37,10 @@ Index: libvirt-4.9.0/src/network/bridge_driver.c
} }
if (ipdef->tftproot) { if (ipdef->tftproot) {
Index: libvirt-4.9.0/tests/networkxml2confdata/dhcp6host-routed-network.conf Index: libvirt-4.10.0/tests/networkxml2confdata/dhcp6host-routed-network.conf
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/tests/networkxml2confdata/dhcp6host-routed-network.conf --- libvirt-4.10.0.orig/tests/networkxml2confdata/dhcp6host-routed-network.conf
+++ libvirt-4.9.0/tests/networkxml2confdata/dhcp6host-routed-network.conf +++ libvirt-4.10.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-4.9.0/src/util/virarch.c Index: libvirt-4.10.0/src/util/virarch.c
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/src/util/virarch.c --- libvirt-4.10.0.orig/src/util/virarch.c
+++ libvirt-4.9.0/src/util/virarch.c +++ libvirt-4.10.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-4.9.0/examples/apparmor/libvirt-qemu Index: libvirt-4.10.0/examples/apparmor/libvirt-qemu
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/examples/apparmor/libvirt-qemu --- libvirt-4.10.0.orig/examples/apparmor/libvirt-qemu
+++ libvirt-4.9.0/examples/apparmor/libvirt-qemu +++ libvirt-4.10.0/examples/apparmor/libvirt-qemu
@@ -221,3 +221,6 @@ @@ -221,3 +221,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-4.9.0/src/xenconfig/xen_common.c Index: libvirt-4.10.0/src/xenconfig/xen_common.c
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/src/xenconfig/xen_common.c --- libvirt-4.10.0.orig/src/xenconfig/xen_common.c
+++ libvirt-4.9.0/src/xenconfig/xen_common.c +++ libvirt-4.10.0/src/xenconfig/xen_common.c
@@ -390,12 +390,19 @@ xenParsePCI(char *entry) @@ -390,12 +390,19 @@ xenParsePCI(char *entry)
int busID; int busID;
int slotID; int slotID;
@ -64,10 +64,10 @@ Index: libvirt-4.9.0/src/xenconfig/xen_common.c
hostdev->source.subsys.type = VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI; hostdev->source.subsys.type = VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI;
hostdev->source.subsys.u.pci.addr.domain = domainID; hostdev->source.subsys.u.pci.addr.domain = domainID;
hostdev->source.subsys.u.pci.addr.bus = busID; hostdev->source.subsys.u.pci.addr.bus = busID;
Index: libvirt-4.9.0/src/xenconfig/xen_sxpr.c Index: libvirt-4.10.0/src/xenconfig/xen_sxpr.c
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/src/xenconfig/xen_sxpr.c --- libvirt-4.10.0.orig/src/xenconfig/xen_sxpr.c
+++ libvirt-4.9.0/src/xenconfig/xen_sxpr.c +++ libvirt-4.10.0/src/xenconfig/xen_sxpr.c
@@ -1057,6 +1057,7 @@ xenParseSxprPCI(virDomainDefPtr def, @@ -1057,6 +1057,7 @@ xenParseSxprPCI(virDomainDefPtr def,
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-4.9.0/examples/apparmor/usr.lib.libvirt.virt-aa-helper Index: libvirt-4.10.0/examples/apparmor/usr.lib.libvirt.virt-aa-helper
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/examples/apparmor/usr.lib.libvirt.virt-aa-helper --- libvirt-4.10.0.orig/examples/apparmor/usr.lib.libvirt.virt-aa-helper
+++ libvirt-4.9.0/examples/apparmor/usr.lib.libvirt.virt-aa-helper +++ libvirt-4.10.0/examples/apparmor/usr.lib.libvirt.virt-aa-helper
@@ -17,7 +17,7 @@ profile virt-aa-helper /usr/{lib,lib64}/ @@ -17,7 +17,7 @@ profile virt-aa-helper /usr/{lib,lib64}/
owner @{PROC}/[0-9]*/status r, owner @{PROC}/[0-9]*/status r,
@{PROC}/filesystems r, @{PROC}/filesystems r,
@ -21,10 +21,10 @@ Index: libvirt-4.9.0/examples/apparmor/usr.lib.libvirt.virt-aa-helper
# for hostdev # for hostdev
/sys/devices/ r, /sys/devices/ r,
Index: libvirt-4.9.0/examples/apparmor/libvirt-qemu Index: libvirt-4.10.0/examples/apparmor/libvirt-qemu
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/examples/apparmor/libvirt-qemu --- libvirt-4.10.0.orig/examples/apparmor/libvirt-qemu
+++ libvirt-4.9.0/examples/apparmor/libvirt-qemu +++ libvirt-4.10.0/examples/apparmor/libvirt-qemu
@@ -62,6 +62,7 @@ @@ -62,6 +62,7 @@
#/dev/fb* rw, #/dev/fb* rw,

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-4.9.0/tools/libvirt-guests.init.in Index: libvirt-4.10.0/tools/libvirt-guests.init.in
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/tools/libvirt-guests.init.in --- libvirt-4.10.0.orig/tools/libvirt-guests.init.in
+++ libvirt-4.9.0/tools/libvirt-guests.init.in +++ libvirt-4.10.0/tools/libvirt-guests.init.in
@@ -4,27 +4,27 @@ @@ -4,27 +4,27 @@
# http://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/initscrcomconv.html # http://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/initscrcomconv.html
# #
@ -46,10 +46,10 @@ Index: libvirt-4.9.0/tools/libvirt-guests.init.in
+ +
exec @libexecdir@/libvirt-guests.sh "$@" exec @libexecdir@/libvirt-guests.sh "$@"
Index: libvirt-4.9.0/tools/libvirt-guests.sh.in Index: libvirt-4.10.0/tools/libvirt-guests.sh.in
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/tools/libvirt-guests.sh.in --- libvirt-4.10.0.orig/tools/libvirt-guests.sh.in
+++ libvirt-4.9.0/tools/libvirt-guests.sh.in +++ libvirt-4.10.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/>.
@ -209,10 +209,10 @@ Index: libvirt-4.9.0/tools/libvirt-guests.sh.in
esac esac
-exit $RETVAL -exit $RETVAL
+rc_exit +rc_exit
Index: libvirt-4.9.0/tools/libvirt-guests.sysconf Index: libvirt-4.10.0/tools/libvirt-guests.sysconf
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/tools/libvirt-guests.sysconf --- libvirt-4.10.0.orig/tools/libvirt-guests.sysconf
+++ libvirt-4.9.0/tools/libvirt-guests.sysconf +++ libvirt-4.10.0/tools/libvirt-guests.sysconf
@@ -1,19 +1,29 @@ @@ -1,19 +1,29 @@
+## Path: System/Virtualization/libvirt-guests +## Path: System/Virtualization/libvirt-guests
+ +

View File

@ -3,10 +3,10 @@ Disable TLS by default
On SUSE distros, the default is for libvirtd to listen only on the On SUSE distros, the default is for libvirtd to listen only on the
Unix Domain Socket. The libvirt client still provides remote access Unix Domain Socket. The libvirt client still provides remote access
via a SSH tunnel. via a SSH tunnel.
Index: libvirt-4.9.0/src/remote/libvirtd.conf Index: libvirt-4.10.0/src/remote/libvirtd.conf
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/src/remote/libvirtd.conf --- libvirt-4.10.0.orig/src/remote/libvirtd.conf
+++ libvirt-4.9.0/src/remote/libvirtd.conf +++ libvirt-4.10.0/src/remote/libvirtd.conf
@@ -18,8 +18,8 @@ @@ -18,8 +18,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.
@ -18,10 +18,10 @@ Index: libvirt-4.9.0/src/remote/libvirtd.conf
# Listen for unencrypted TCP connections on the public TCP/IP port. # Listen for unencrypted TCP connections on the public TCP/IP port.
# NB, must pass the --listen flag to the libvirtd process for this to # NB, must pass the --listen flag to the libvirtd process for this to
Index: libvirt-4.9.0/src/remote/remote_daemon_config.c Index: libvirt-4.10.0/src/remote/remote_daemon_config.c
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/src/remote/remote_daemon_config.c --- libvirt-4.10.0.orig/src/remote/remote_daemon_config.c
+++ libvirt-4.9.0/src/remote/remote_daemon_config.c +++ libvirt-4.10.0/src/remote/remote_daemon_config.c
@@ -110,7 +110,7 @@ daemonConfigNew(bool privileged ATTRIBUT @@ -110,7 +110,7 @@ daemonConfigNew(bool privileged ATTRIBUT
if (VIR_ALLOC(data) < 0) if (VIR_ALLOC(data) < 0)
return NULL; return NULL;
@ -31,10 +31,10 @@ Index: libvirt-4.9.0/src/remote/remote_daemon_config.c
data->listen_tcp = 0; data->listen_tcp = 0;
if (VIR_STRDUP(data->tls_port, LIBVIRTD_TLS_PORT) < 0 || if (VIR_STRDUP(data->tls_port, LIBVIRTD_TLS_PORT) < 0 ||
Index: libvirt-4.9.0/src/remote/test_libvirtd.aug.in Index: libvirt-4.10.0/src/remote/test_libvirtd.aug.in
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/src/remote/test_libvirtd.aug.in --- libvirt-4.10.0.orig/src/remote/test_libvirtd.aug.in
+++ libvirt-4.9.0/src/remote/test_libvirtd.aug.in +++ libvirt-4.10.0/src/remote/test_libvirtd.aug.in
@@ -2,7 +2,7 @@ module Test_libvirtd = @@ -2,7 +2,7 @@ module Test_libvirtd =
::CONFIG:: ::CONFIG::

View File

@ -7,10 +7,10 @@ On SUSE distros, we promote libvirt and all the libvirt-based
tools. If a user installs libvirt on their SUSE Xen host, then tools. If a user installs libvirt on their SUSE Xen host, then
libvirt should be king and override xendomains. See bsc#1015348 libvirt should be king and override xendomains. See bsc#1015348
Index: libvirt-4.9.0/src/remote/libvirtd.service.in Index: libvirt-4.10.0/src/remote/libvirtd.service.in
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/src/remote/libvirtd.service.in --- libvirt-4.10.0.orig/src/remote/libvirtd.service.in
+++ libvirt-4.9.0/src/remote/libvirtd.service.in +++ libvirt-4.10.0/src/remote/libvirtd.service.in
@@ -17,6 +17,8 @@ After=local-fs.target @@ -17,6 +17,8 @@ After=local-fs.target
After=remote-fs.target After=remote-fs.target
After=systemd-logind.service After=systemd-logind.service

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-4.9.0/src/remote/libvirtd.sysconf Index: libvirt-4.10.0/src/remote/libvirtd.sysconf
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/src/remote/libvirtd.sysconf --- libvirt-4.10.0.orig/src/remote/libvirtd.sysconf
+++ libvirt-4.9.0/src/remote/libvirtd.sysconf +++ libvirt-4.10.0/src/remote/libvirtd.sysconf
@@ -1,16 +1,25 @@ @@ -1,16 +1,25 @@
+## Path: System/Virtualization/libvirt +## Path: System/Virtualization/libvirt
+ +

View File

@ -1,9 +1,9 @@
Adjust paths of OVMF firmwares on SUSE distros Adjust paths of OVMF firmwares on SUSE distros
Index: libvirt-4.9.0/src/qemu/qemu.conf Index: libvirt-4.10.0/src/qemu/qemu.conf
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/src/qemu/qemu.conf --- libvirt-4.10.0.orig/src/qemu/qemu.conf
+++ libvirt-4.9.0/src/qemu/qemu.conf +++ libvirt-4.10.0/src/qemu/qemu.conf
@@ -768,10 +768,9 @@ security_default_confined = 0 @@ -768,10 +768,9 @@ security_default_confined = 0
# for x86_64 and i686, but it's AAVMF for aarch64. The libvirt default # for x86_64 and i686, but it's AAVMF for aarch64. The libvirt default
# follows this scheme. # follows this scheme.
@ -18,10 +18,10 @@ Index: libvirt-4.9.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-4.9.0/src/qemu/qemu_conf.c Index: libvirt-4.10.0/src/qemu/qemu_conf.c
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/src/qemu/qemu_conf.c --- libvirt-4.10.0.orig/src/qemu/qemu_conf.c
+++ libvirt-4.9.0/src/qemu/qemu_conf.c +++ libvirt-4.10.0/src/qemu/qemu_conf.c
@@ -118,10 +118,9 @@ void qemuDomainCmdlineDefFree(qemuDomain @@ -118,10 +118,9 @@ void qemuDomainCmdlineDefFree(qemuDomain
#ifndef DEFAULT_LOADER_NVRAM #ifndef DEFAULT_LOADER_NVRAM
@ -36,10 +36,10 @@ Index: libvirt-4.9.0/src/qemu/qemu_conf.c
#endif #endif
Index: libvirt-4.9.0/src/security/virt-aa-helper.c Index: libvirt-4.10.0/src/security/virt-aa-helper.c
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/src/security/virt-aa-helper.c --- libvirt-4.10.0.orig/src/security/virt-aa-helper.c
+++ libvirt-4.9.0/src/security/virt-aa-helper.c +++ libvirt-4.10.0/src/security/virt-aa-helper.c
@@ -511,7 +511,8 @@ valid_path(const char *path, const bool @@ -511,7 +511,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 */

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-4.9.0/src/qemu/qemu.conf Index: libvirt-4.10.0/src/qemu/qemu.conf
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/src/qemu/qemu.conf --- libvirt-4.10.0.orig/src/qemu/qemu.conf
+++ libvirt-4.9.0/src/qemu/qemu.conf +++ libvirt-4.10.0/src/qemu/qemu.conf
@@ -414,11 +414,20 @@ @@ -414,11 +414,20 @@
# isolation, but it cannot appear in a list of drivers. # isolation, but it cannot appear in a list of drivers.
# #

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-4.9.0/src/locking/virtlockd.sysconf Index: libvirt-4.10.0/src/locking/virtlockd.sysconf
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/src/locking/virtlockd.sysconf --- libvirt-4.10.0.orig/src/locking/virtlockd.sysconf
+++ libvirt-4.9.0/src/locking/virtlockd.sysconf +++ libvirt-4.10.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-4.9.0/src/logging/virtlogd.sysconf Index: libvirt-4.10.0/src/logging/virtlogd.sysconf
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/src/logging/virtlogd.sysconf --- libvirt-4.10.0.orig/src/logging/virtlogd.sysconf
+++ libvirt-4.9.0/src/logging/virtlogd.sysconf +++ libvirt-4.10.0/src/logging/virtlogd.sysconf
@@ -1,3 +1,7 @@ @@ -1,3 +1,7 @@
+## Path: System/Virtualization/virtlogd +## Path: System/Virtualization/virtlogd
+ +

View File

@ -1,8 +1,8 @@
Index: libvirt-4.0.0/tools/Makefile.am Index: libvirt-4.10.0/tools/Makefile.am
=================================================================== ===================================================================
--- libvirt-4.0.0.orig/tools/Makefile.am --- libvirt-4.10.0.orig/tools/Makefile.am
+++ libvirt-4.0.0/tools/Makefile.am +++ libvirt-4.10.0/tools/Makefile.am
@@ -52,6 +52,7 @@ PODFILES = \ @@ -53,6 +53,7 @@ PODFILES = \
virt-sanlock-cleanup.pod \ virt-sanlock-cleanup.pod \
virt-xml-validate.pod \ virt-xml-validate.pod \
virsh.pod \ virsh.pod \
@ -10,7 +10,7 @@ Index: libvirt-4.0.0/tools/Makefile.am
$(NULL) $(NULL)
MANINFILES = \ MANINFILES = \
@@ -86,7 +87,7 @@ MAINTAINERCLEANFILES = @@ -87,7 +88,7 @@ MAINTAINERCLEANFILES =
confdir = $(sysconfdir)/libvirt confdir = $(sysconfdir)/libvirt
conf_DATA = conf_DATA =
@ -19,7 +19,7 @@ Index: libvirt-4.0.0/tools/Makefile.am
bin_PROGRAMS = virsh virt-admin bin_PROGRAMS = virsh virt-admin
libexec_SCRIPTS = libvirt-guests.sh libexec_SCRIPTS = libvirt-guests.sh
man1_MANS = \ man1_MANS = \
@@ -112,6 +113,8 @@ bin_PROGRAMS += virt-host-validate @@ -113,6 +114,8 @@ bin_PROGRAMS += virt-host-validate
man1_MANS += virt-host-validate.1 man1_MANS += virt-host-validate.1
endif WITH_HOST_VALIDATE endif WITH_HOST_VALIDATE
@ -28,10 +28,10 @@ Index: libvirt-4.0.0/tools/Makefile.am
virt-xml-validate: virt-xml-validate.in Makefile virt-xml-validate: virt-xml-validate.in Makefile
$(AM_V_GEN)sed -e 's|[@]schemadir@|$(pkgdatadir)/schemas|g' \ $(AM_V_GEN)sed -e 's|[@]schemadir@|$(pkgdatadir)/schemas|g' \
-e 's|[@]VERSION@|$(VERSION)|g' \ -e 's|[@]VERSION@|$(VERSION)|g' \
Index: libvirt-4.0.0/tools/virt-create-rootfs Index: libvirt-4.10.0/tools/virt-create-rootfs
=================================================================== ===================================================================
--- /dev/null --- /dev/null
+++ libvirt-4.0.0/tools/virt-create-rootfs +++ libvirt-4.10.0/tools/virt-create-rootfs
@@ -0,0 +1,214 @@ @@ -0,0 +1,214 @@
+#!/bin/sh +#!/bin/sh
+set -e +set -e
@ -247,10 +247,10 @@ 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-4.10.0/tools/virt-create-rootfs.pod
=================================================================== ===================================================================
--- /dev/null --- /dev/null
+++ libvirt-4.0.0/tools/virt-create-rootfs.pod +++ libvirt-4.10.0/tools/virt-create-rootfs.pod
@@ -0,0 +1,77 @@ @@ -0,0 +1,77 @@
+=head1 NAME +=head1 NAME
+ +

View File

@ -1,7 +1,7 @@
Index: libvirt-4.9.0/src/xenconfig/xen_sxpr.c Index: libvirt-4.10.0/src/xenconfig/xen_sxpr.c
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/src/xenconfig/xen_sxpr.c --- libvirt-4.10.0.orig/src/xenconfig/xen_sxpr.c
+++ libvirt-4.9.0/src/xenconfig/xen_sxpr.c +++ libvirt-4.10.0/src/xenconfig/xen_sxpr.c
@@ -387,7 +387,7 @@ xenParseSxprVifRate(const char *rate, un @@ -387,7 +387,7 @@ xenParseSxprVifRate(const char *rate, un
static int static int
xenParseSxprDisks(virDomainDefPtr def, xenParseSxprDisks(virDomainDefPtr def,

View File

@ -6,10 +6,10 @@ and 'file'. This was implicitly done prior to commit 9673418c.
https://bugzilla.suse.com/show_bug.cgi?id=938228 https://bugzilla.suse.com/show_bug.cgi?id=938228
Index: libvirt-4.9.0/src/xenconfig/xen_sxpr.c Index: libvirt-4.10.0/src/xenconfig/xen_sxpr.c
=================================================================== ===================================================================
--- libvirt-4.9.0.orig/src/xenconfig/xen_sxpr.c --- libvirt-4.10.0.orig/src/xenconfig/xen_sxpr.c
+++ libvirt-4.9.0/src/xenconfig/xen_sxpr.c +++ libvirt-4.10.0/src/xenconfig/xen_sxpr.c
@@ -501,10 +501,11 @@ xenParseSxprDisks(virDomainDefPtr def, @@ -501,10 +501,11 @@ xenParseSxprDisks(virDomainDefPtr def,
omnipotent, we can revisit this, perhaps stat()'ing omnipotent, we can revisit this, perhaps stat()'ing
the src file in question */ the src file in question */