forked from pool/libvirt
Accepting request 639816 from home:jfehlig:branches:Virtualization
- Update to libvirt 4.8.0 - Many incremental improvements and bug fixes, see http://libvirt.org/news.html - Dropped patches: 60b4fd90-libxl-rm-vm-finish-phase.patch, e39c66d3-libxl-fix-p2p-migration.patch, 47da84e0-libxl-fix-job-handling-migsrc.patch, 0149464a-libxl-fix-job-handling-migdst.patch, 5ea2abb3-libxl-join-mig-rcv-thread.patch OBS-URL: https://build.opensuse.org/request/show/639816 OBS-URL: https://build.opensuse.org/package/show/Virtualization/libvirt?expand=0&rev=709
This commit is contained in:
parent
938c7e0e48
commit
ce630fa7e7
@ -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.7.0/src/conf/domain_stats.c
|
Index: libvirt-4.8.0/src/conf/domain_stats.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ libvirt-4.7.0/src/conf/domain_stats.c
|
+++ libvirt-4.8.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.7.0/src/conf/domain_stats.c
|
|||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+#undef STATS_ADD_NET_PARAM
|
+#undef STATS_ADD_NET_PARAM
|
||||||
Index: libvirt-4.7.0/src/conf/domain_stats.h
|
Index: libvirt-4.8.0/src/conf/domain_stats.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ libvirt-4.7.0/src/conf/domain_stats.h
|
+++ libvirt-4.8.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.7.0/src/conf/domain_stats.h
|
|||||||
+ int *maxparams);
|
+ int *maxparams);
|
||||||
+
|
+
|
||||||
+#endif /* __DOMAIN_STATS_H */
|
+#endif /* __DOMAIN_STATS_H */
|
||||||
Index: libvirt-4.7.0/src/libvirt_private.syms
|
Index: libvirt-4.8.0/src/libvirt_private.syms
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/src/libvirt_private.syms
|
--- libvirt-4.8.0.orig/src/libvirt_private.syms
|
||||||
+++ libvirt-4.7.0/src/libvirt_private.syms
|
+++ libvirt-4.8.0/src/libvirt_private.syms
|
||||||
@@ -650,6 +650,9 @@ virDomainConfNWFilterInstantiate;
|
@@ -653,6 +653,9 @@ virDomainConfNWFilterInstantiate;
|
||||||
virDomainConfNWFilterTeardown;
|
virDomainConfNWFilterTeardown;
|
||||||
virDomainConfVMNWFilterTeardown;
|
virDomainConfVMNWFilterTeardown;
|
||||||
|
|
||||||
@ -245,7 +245,7 @@ Index: libvirt-4.7.0/src/libvirt_private.syms
|
|||||||
|
|
||||||
# conf/interface_conf.h
|
# conf/interface_conf.h
|
||||||
virInterfaceDefFormat;
|
virInterfaceDefFormat;
|
||||||
@@ -1540,6 +1543,7 @@ virCgroupGetMemoryUsage;
|
@@ -1541,6 +1544,7 @@ virCgroupGetMemoryUsage;
|
||||||
virCgroupGetMemSwapHardLimit;
|
virCgroupGetMemSwapHardLimit;
|
||||||
virCgroupGetMemSwapUsage;
|
virCgroupGetMemSwapUsage;
|
||||||
virCgroupGetPercpuStats;
|
virCgroupGetPercpuStats;
|
||||||
@ -253,11 +253,11 @@ Index: libvirt-4.7.0/src/libvirt_private.syms
|
|||||||
virCgroupHasController;
|
virCgroupHasController;
|
||||||
virCgroupHasEmptyTasks;
|
virCgroupHasEmptyTasks;
|
||||||
virCgroupKillPainfully;
|
virCgroupKillPainfully;
|
||||||
Index: libvirt-4.7.0/src/qemu/qemu_driver.c
|
Index: libvirt-4.8.0/src/qemu/qemu_driver.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/src/qemu/qemu_driver.c
|
--- libvirt-4.8.0.orig/src/qemu/qemu_driver.c
|
||||||
+++ libvirt-4.7.0/src/qemu/qemu_driver.c
|
+++ libvirt-4.8.0/src/qemu/qemu_driver.c
|
||||||
@@ -74,6 +74,7 @@
|
@@ -69,6 +69,7 @@
|
||||||
#include "virarptable.h"
|
#include "virarptable.h"
|
||||||
#include "viruuid.h"
|
#include "viruuid.h"
|
||||||
#include "domain_conf.h"
|
#include "domain_conf.h"
|
||||||
@ -265,7 +265,7 @@ Index: libvirt-4.7.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"
|
||||||
@@ -19641,21 +19642,7 @@ qemuDomainGetStatsState(virQEMUDriverPtr
|
@@ -19674,21 +19675,7 @@ qemuDomainGetStatsState(virQEMUDriverPtr
|
||||||
int *maxparams,
|
int *maxparams,
|
||||||
unsigned int privflags ATTRIBUTE_UNUSED)
|
unsigned int privflags ATTRIBUTE_UNUSED)
|
||||||
{
|
{
|
||||||
@ -288,7 +288,7 @@ Index: libvirt-4.7.0/src/qemu/qemu_driver.c
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -19678,37 +19665,7 @@ qemuDomainGetStatsCpu(virQEMUDriverPtr d
|
@@ -19711,37 +19698,7 @@ qemuDomainGetStatsCpu(virQEMUDriverPtr d
|
||||||
unsigned int privflags ATTRIBUTE_UNUSED)
|
unsigned int privflags ATTRIBUTE_UNUSED)
|
||||||
{
|
{
|
||||||
qemuDomainObjPrivatePtr priv = dom->privateData;
|
qemuDomainObjPrivatePtr priv = dom->privateData;
|
||||||
@ -327,7 +327,7 @@ Index: libvirt-4.7.0/src/qemu/qemu_driver.c
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@@ -19888,44 +19845,6 @@ qemuDomainGetStatsVcpu(virQEMUDriverPtr
|
@@ -19921,44 +19878,6 @@ qemuDomainGetStatsVcpu(virQEMUDriverPtr
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -372,7 +372,7 @@ Index: libvirt-4.7.0/src/qemu/qemu_driver.c
|
|||||||
static int
|
static int
|
||||||
qemuDomainGetStatsInterface(virQEMUDriverPtr driver ATTRIBUTE_UNUSED,
|
qemuDomainGetStatsInterface(virQEMUDriverPtr driver ATTRIBUTE_UNUSED,
|
||||||
virDomainObjPtr dom,
|
virDomainObjPtr dom,
|
||||||
@@ -19933,68 +19852,9 @@ qemuDomainGetStatsInterface(virQEMUDrive
|
@@ -19966,68 +19885,9 @@ qemuDomainGetStatsInterface(virQEMUDrive
|
||||||
int *maxparams,
|
int *maxparams,
|
||||||
unsigned int privflags ATTRIBUTE_UNUSED)
|
unsigned int privflags ATTRIBUTE_UNUSED)
|
||||||
{
|
{
|
||||||
@ -442,7 +442,7 @@ Index: libvirt-4.7.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]; \
|
||||||
@@ -20227,10 +20087,10 @@ qemuDomainGetStatsBlockExportHeader(virD
|
@@ -20260,10 +20120,10 @@ qemuDomainGetStatsBlockExportHeader(virD
|
||||||
{
|
{
|
||||||
int ret = -1;
|
int ret = -1;
|
||||||
|
|
||||||
@ -455,7 +455,7 @@ Index: libvirt-4.7.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);
|
||||||
@@ -20370,7 +20230,7 @@ qemuDomainGetStatsBlock(virQEMUDriverPtr
|
@@ -20403,7 +20263,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,7 +464,7 @@ Index: libvirt-4.7.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,
|
||||||
@@ -20395,10 +20255,6 @@ qemuDomainGetStatsBlock(virQEMUDriverPtr
|
@@ -20428,10 +20288,6 @@ qemuDomainGetStatsBlock(virQEMUDriverPtr
|
||||||
|
|
||||||
#undef QEMU_ADD_BLOCK_PARAM_ULL
|
#undef QEMU_ADD_BLOCK_PARAM_ULL
|
||||||
|
|
||||||
@ -475,11 +475,11 @@ Index: libvirt-4.7.0/src/qemu/qemu_driver.c
|
|||||||
static int
|
static int
|
||||||
qemuDomainGetStatsPerfOneEvent(virPerfPtr perf,
|
qemuDomainGetStatsPerfOneEvent(virPerfPtr perf,
|
||||||
virPerfEventType type,
|
virPerfEventType type,
|
||||||
Index: libvirt-4.7.0/src/util/vircgroup.c
|
Index: libvirt-4.8.0/src/util/vircgroup.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/src/util/vircgroup.c
|
--- libvirt-4.8.0.orig/src/util/vircgroup.c
|
||||||
+++ libvirt-4.7.0/src/util/vircgroup.c
|
+++ libvirt-4.8.0/src/util/vircgroup.c
|
||||||
@@ -4037,6 +4037,44 @@ virCgroupControllerAvailable(int control
|
@@ -2628,6 +2628,44 @@ virCgroupControllerAvailable(int control
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -521,14 +521,13 @@ Index: libvirt-4.7.0/src/util/vircgroup.c
|
|||||||
+ return 0;
|
+ return 0;
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
#else /* !VIR_CGROUP_SUPPORTED */
|
#else /* !__linux__ */
|
||||||
|
|
||||||
bool
|
bool
|
||||||
@@ -4799,6 +4837,14 @@ virCgroupControllerAvailable(int control
|
@@ -2637,6 +2675,15 @@ virCgroupAvailable(void)
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
+
|
|
||||||
|
|
||||||
+int
|
+int
|
||||||
+virCgroupGetStatsCpu(virCgroupPtr cgroup,
|
+virCgroupGetStatsCpu(virCgroupPtr cgroup,
|
||||||
+ virDomainStatsRecordPtr record,
|
+ virDomainStatsRecordPtr record,
|
||||||
@ -536,14 +535,16 @@ Index: libvirt-4.7.0/src/util/vircgroup.c
|
|||||||
+{
|
+{
|
||||||
+ return 0;
|
+ return 0;
|
||||||
+}
|
+}
|
||||||
#endif /* !VIR_CGROUP_SUPPORTED */
|
+
|
||||||
|
+
|
||||||
|
int
|
||||||
Index: libvirt-4.7.0/src/util/vircgroup.h
|
virCgroupNewPartition(const char *path ATTRIBUTE_UNUSED,
|
||||||
|
bool create ATTRIBUTE_UNUSED,
|
||||||
|
Index: libvirt-4.8.0/src/util/vircgroup.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/src/util/vircgroup.h
|
--- libvirt-4.8.0.orig/src/util/vircgroup.h
|
||||||
+++ libvirt-4.7.0/src/util/vircgroup.h
|
+++ libvirt-4.8.0/src/util/vircgroup.h
|
||||||
@@ -286,4 +286,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);
|
||||||
|
|
||||||
bool virCgroupControllerAvailable(int controller);
|
bool virCgroupControllerAvailable(int controller);
|
||||||
@ -553,10 +554,10 @@ Index: libvirt-4.7.0/src/util/vircgroup.h
|
|||||||
+ int *maxparams);
|
+ int *maxparams);
|
||||||
+
|
+
|
||||||
#endif /* __VIR_CGROUP_H__ */
|
#endif /* __VIR_CGROUP_H__ */
|
||||||
Index: libvirt-4.7.0/src/conf/Makefile.inc.am
|
Index: libvirt-4.8.0/src/conf/Makefile.inc.am
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/src/conf/Makefile.inc.am
|
--- libvirt-4.8.0.orig/src/conf/Makefile.inc.am
|
||||||
+++ libvirt-4.7.0/src/conf/Makefile.inc.am
|
+++ libvirt-4.8.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 \
|
||||||
|
@ -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-4.7.0/src/libxl/libxl_driver.c
|
Index: libvirt-4.8.0/src/libxl/libxl_driver.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/src/libxl/libxl_driver.c
|
--- libvirt-4.8.0.orig/src/libxl/libxl_driver.c
|
||||||
+++ libvirt-4.7.0/src/libxl/libxl_driver.c
|
+++ libvirt-4.8.0/src/libxl/libxl_driver.c
|
||||||
@@ -5119,6 +5119,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.7.0/src/libxl/libxl_driver.c
|
|||||||
static int
|
static int
|
||||||
libxlDomainGetJobInfo(virDomainPtr dom,
|
libxlDomainGetJobInfo(virDomainPtr dom,
|
||||||
virDomainJobInfoPtr info)
|
virDomainJobInfoPtr info)
|
||||||
@@ -6497,6 +6588,7 @@ static virHypervisorDriver libxlHypervis
|
@@ -6635,6 +6726,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 */
|
||||||
|
@ -9,11 +9,11 @@ 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.7.0/src/lxc/lxc_driver.c
|
Index: libvirt-4.8.0/src/lxc/lxc_driver.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/src/lxc/lxc_driver.c
|
--- libvirt-4.8.0.orig/src/lxc/lxc_driver.c
|
||||||
+++ libvirt-4.7.0/src/lxc/lxc_driver.c
|
+++ libvirt-4.8.0/src/lxc/lxc_driver.c
|
||||||
@@ -79,6 +79,7 @@
|
@@ -78,6 +78,7 @@
|
||||||
#include "viraccessapichecklxc.h"
|
#include "viraccessapichecklxc.h"
|
||||||
#include "virhostdev.h"
|
#include "virhostdev.h"
|
||||||
#include "netdev_bandwidth_conf.h"
|
#include "netdev_bandwidth_conf.h"
|
||||||
@ -21,7 +21,7 @@ Index: libvirt-4.7.0/src/lxc/lxc_driver.c
|
|||||||
|
|
||||||
#define VIR_FROM_THIS VIR_FROM_LXC
|
#define VIR_FROM_THIS VIR_FROM_LXC
|
||||||
|
|
||||||
@@ -5411,6 +5412,142 @@ lxcDomainHasManagedSaveImage(virDomainPt
|
@@ -5410,6 +5411,142 @@ lxcDomainHasManagedSaveImage(virDomainPt
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -164,7 +164,7 @@ Index: libvirt-4.7.0/src/lxc/lxc_driver.c
|
|||||||
|
|
||||||
/* Function Tables */
|
/* Function Tables */
|
||||||
static virHypervisorDriver lxcHypervisorDriver = {
|
static virHypervisorDriver lxcHypervisorDriver = {
|
||||||
@@ -5506,6 +5643,7 @@ static virHypervisorDriver lxcHypervisor
|
@@ -5505,6 +5642,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 */
|
||||||
|
@ -1,239 +0,0 @@
|
|||||||
commit 0149464afc7100f048a2468e40e84b6a50aeb3a3
|
|
||||||
Author: Jim Fehlig <jfehlig@suse.com>
|
|
||||||
Date: Wed Aug 29 11:11:00 2018 -0600
|
|
||||||
|
|
||||||
libxl: fix job handling across migration phases on dst
|
|
||||||
|
|
||||||
The libxlDomainMigrationDst* functions are a bit flawed in their
|
|
||||||
handling of modify jobs. A job begins when the destination host
|
|
||||||
begins receiving the incoming VM and ends after the VM is started.
|
|
||||||
The finish phase contains another BeginJob/EndJob sequence.
|
|
||||||
|
|
||||||
This patch changes the logic to begin a job for the incoming VM
|
|
||||||
in the prepare phase and end the job in the finish phase.
|
|
||||||
|
|
||||||
Signed-off-by: Jim Fehlig <jfehlig@suse.com>
|
|
||||||
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
|
|
||||||
|
|
||||||
Index: libvirt-4.7.0/src/libxl/libxl_driver.c
|
|
||||||
===================================================================
|
|
||||||
--- libvirt-4.7.0.orig/src/libxl/libxl_driver.c
|
|
||||||
+++ libvirt-4.7.0/src/libxl/libxl_driver.c
|
|
||||||
@@ -6020,15 +6020,8 @@ libxlDomainMigrateFinish3Params(virConne
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (libxlDomainObjBeginJob(driver, vm, LIBXL_JOB_MODIFY) < 0) {
|
|
||||||
- virDomainObjEndAPI(&vm);
|
|
||||||
- return NULL;
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
ret = libxlDomainMigrationDstFinish(dconn, vm, flags, cancelled);
|
|
||||||
|
|
||||||
- libxlDomainObjEndJob(driver, vm);
|
|
||||||
-
|
|
||||||
virDomainObjEndAPI(&vm);
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
Index: libvirt-4.7.0/src/libxl/libxl_migration.c
|
|
||||||
===================================================================
|
|
||||||
--- libvirt-4.7.0.orig/src/libxl/libxl_migration.c
|
|
||||||
+++ libvirt-4.7.0/src/libxl/libxl_migration.c
|
|
||||||
@@ -266,9 +266,6 @@ libxlDoMigrateDstReceive(void *opaque)
|
|
||||||
size_t i;
|
|
||||||
|
|
||||||
virObjectRef(vm);
|
|
||||||
- virObjectLock(vm);
|
|
||||||
- if (libxlDomainObjBeginJob(driver, vm, LIBXL_JOB_MODIFY) < 0)
|
|
||||||
- goto cleanup;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Always start the domain paused. If needed, unpause in the
|
|
||||||
@@ -288,10 +285,6 @@ libxlDoMigrateDstReceive(void *opaque)
|
|
||||||
args->nsocks = 0;
|
|
||||||
VIR_FORCE_CLOSE(recvfd);
|
|
||||||
virObjectUnref(args);
|
|
||||||
-
|
|
||||||
- libxlDomainObjEndJob(driver, vm);
|
|
||||||
-
|
|
||||||
- cleanup:
|
|
||||||
virDomainObjEndAPI(&vm);
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -583,6 +576,13 @@ libxlDomainMigrationDstPrepareTunnel3(vi
|
|
||||||
goto error;
|
|
||||||
*def = NULL;
|
|
||||||
|
|
||||||
+ /*
|
|
||||||
+ * Unless an error is encountered in this function, the job will
|
|
||||||
+ * be terminated in the finish phase.
|
|
||||||
+ */
|
|
||||||
+ if (libxlDomainObjBeginJob(driver, vm, LIBXL_JOB_MODIFY) < 0)
|
|
||||||
+ goto error;
|
|
||||||
+
|
|
||||||
priv = vm->privateData;
|
|
||||||
|
|
||||||
if (taint_hook) {
|
|
||||||
@@ -595,18 +595,18 @@ libxlDomainMigrationDstPrepareTunnel3(vi
|
|
||||||
* stream -> pipe -> recvfd of libxlDomainStartRestore
|
|
||||||
*/
|
|
||||||
if (pipe(dataFD) < 0)
|
|
||||||
- goto error;
|
|
||||||
+ goto endjob;
|
|
||||||
|
|
||||||
/* Stream data will be written to pipeIn */
|
|
||||||
if (virFDStreamOpen(st, dataFD[1]) < 0)
|
|
||||||
- goto error;
|
|
||||||
+ goto endjob;
|
|
||||||
dataFD[1] = -1; /* 'st' owns the FD now & will close it */
|
|
||||||
|
|
||||||
if (libxlMigrationDstArgsInitialize() < 0)
|
|
||||||
- goto error;
|
|
||||||
+ goto endjob;
|
|
||||||
|
|
||||||
if (!(args = virObjectNew(libxlMigrationDstArgsClass)))
|
|
||||||
- goto error;
|
|
||||||
+ goto endjob;
|
|
||||||
|
|
||||||
args->conn = virObjectRef(dconn);
|
|
||||||
args->vm = virObjectRef(vm);
|
|
||||||
@@ -620,12 +620,15 @@ libxlDomainMigrationDstPrepareTunnel3(vi
|
|
||||||
if (virThreadCreate(&thread, false, libxlDoMigrateDstReceive, args) < 0) {
|
|
||||||
virReportError(VIR_ERR_OPERATION_FAILED, "%s",
|
|
||||||
_("Failed to create thread for receiving migration data"));
|
|
||||||
- goto error;
|
|
||||||
+ goto endjob;
|
|
||||||
}
|
|
||||||
|
|
||||||
ret = 0;
|
|
||||||
goto done;
|
|
||||||
|
|
||||||
+ endjob:
|
|
||||||
+ libxlDomainObjEndJob(driver, vm);
|
|
||||||
+
|
|
||||||
error:
|
|
||||||
libxlMigrationCookieFree(mig);
|
|
||||||
VIR_FORCE_CLOSE(dataFD[1]);
|
|
||||||
@@ -679,6 +682,13 @@ libxlDomainMigrationDstPrepare(virConnec
|
|
||||||
goto error;
|
|
||||||
*def = NULL;
|
|
||||||
|
|
||||||
+ /*
|
|
||||||
+ * Unless an error is encountered in this function, the job will
|
|
||||||
+ * be terminated in the finish phase.
|
|
||||||
+ */
|
|
||||||
+ if (libxlDomainObjBeginJob(driver, vm, LIBXL_JOB_MODIFY) < 0)
|
|
||||||
+ goto error;
|
|
||||||
+
|
|
||||||
priv = vm->privateData;
|
|
||||||
|
|
||||||
if (taint_hook) {
|
|
||||||
@@ -689,27 +699,27 @@ libxlDomainMigrationDstPrepare(virConnec
|
|
||||||
/* Create socket connection to receive migration data */
|
|
||||||
if (!uri_in) {
|
|
||||||
if ((hostname = virGetHostname()) == NULL)
|
|
||||||
- goto error;
|
|
||||||
+ goto endjob;
|
|
||||||
|
|
||||||
if (STRPREFIX(hostname, "localhost")) {
|
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
|
||||||
_("hostname on destination resolved to localhost,"
|
|
||||||
" but migration requires an FQDN"));
|
|
||||||
- goto error;
|
|
||||||
+ goto endjob;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (virPortAllocatorAcquire(driver->migrationPorts, &port) < 0)
|
|
||||||
- goto error;
|
|
||||||
+ goto endjob;
|
|
||||||
|
|
||||||
priv->migrationPort = port;
|
|
||||||
if (virAsprintf(uri_out, "tcp://%s:%d", hostname, port) < 0)
|
|
||||||
- goto error;
|
|
||||||
+ goto endjob;
|
|
||||||
} else {
|
|
||||||
if (!(STRPREFIX(uri_in, "tcp://"))) {
|
|
||||||
/* not full URI, add prefix tcp:// */
|
|
||||||
char *tmp;
|
|
||||||
if (virAsprintf(&tmp, "tcp://%s", uri_in) < 0)
|
|
||||||
- goto error;
|
|
||||||
+ goto endjob;
|
|
||||||
uri = virURIParse(tmp);
|
|
||||||
VIR_FREE(tmp);
|
|
||||||
} else {
|
|
||||||
@@ -720,20 +730,20 @@ libxlDomainMigrationDstPrepare(virConnec
|
|
||||||
virReportError(VIR_ERR_INVALID_ARG,
|
|
||||||
_("unable to parse URI: %s"),
|
|
||||||
uri_in);
|
|
||||||
- goto error;
|
|
||||||
+ goto endjob;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (uri->server == NULL) {
|
|
||||||
virReportError(VIR_ERR_INVALID_ARG,
|
|
||||||
_("missing host in migration URI: %s"),
|
|
||||||
uri_in);
|
|
||||||
- goto error;
|
|
||||||
+ goto endjob;
|
|
||||||
}
|
|
||||||
hostname = uri->server;
|
|
||||||
|
|
||||||
if (uri->port == 0) {
|
|
||||||
if (virPortAllocatorAcquire(driver->migrationPorts, &port) < 0)
|
|
||||||
- goto error;
|
|
||||||
+ goto endjob;
|
|
||||||
|
|
||||||
priv->migrationPort = port;
|
|
||||||
} else {
|
|
||||||
@@ -741,7 +751,7 @@ libxlDomainMigrationDstPrepare(virConnec
|
|
||||||
}
|
|
||||||
|
|
||||||
if (virAsprintf(uri_out, "tcp://%s:%d", hostname, port) < 0)
|
|
||||||
- goto error;
|
|
||||||
+ goto endjob;
|
|
||||||
}
|
|
||||||
|
|
||||||
snprintf(portstr, sizeof(portstr), "%d", port);
|
|
||||||
@@ -751,14 +761,14 @@ libxlDomainMigrationDstPrepare(virConnec
|
|
||||||
&socks, &nsocks) < 0) {
|
|
||||||
virReportError(VIR_ERR_OPERATION_FAILED, "%s",
|
|
||||||
_("Fail to create socket for incoming migration"));
|
|
||||||
- goto error;
|
|
||||||
+ goto endjob;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (libxlMigrationDstArgsInitialize() < 0)
|
|
||||||
- goto error;
|
|
||||||
+ goto endjob;
|
|
||||||
|
|
||||||
if (!(args = virObjectNew(libxlMigrationDstArgsClass)))
|
|
||||||
- goto error;
|
|
||||||
+ goto endjob;
|
|
||||||
|
|
||||||
args->conn = virObjectRef(dconn);
|
|
||||||
args->vm = virObjectRef(vm);
|
|
||||||
@@ -786,11 +796,14 @@ libxlDomainMigrationDstPrepare(virConnec
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!nsocks_listen)
|
|
||||||
- goto error;
|
|
||||||
+ goto endjob;
|
|
||||||
|
|
||||||
ret = 0;
|
|
||||||
goto done;
|
|
||||||
|
|
||||||
+ endjob:
|
|
||||||
+ libxlDomainObjEndJob(driver, vm);
|
|
||||||
+
|
|
||||||
error:
|
|
||||||
for (i = 0; i < nsocks; i++) {
|
|
||||||
virNetSocketClose(socks[i]);
|
|
||||||
@@ -1354,6 +1367,8 @@ libxlDomainMigrationDstFinish(virConnect
|
|
||||||
virDomainObjListRemove(driver->domains, vm);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ /* EndJob for corresponding BeginJob in prepare phase */
|
|
||||||
+ libxlDomainObjEndJob(driver, vm);
|
|
||||||
virObjectEventStateQueue(driver->domainEventState, event);
|
|
||||||
virObjectUnref(cfg);
|
|
||||||
return dom;
|
|
@ -1,88 +0,0 @@
|
|||||||
commit 47da84e09044e5af914a64469d06adef34279964
|
|
||||||
Author: Jim Fehlig <jfehlig@suse.com>
|
|
||||||
Date: Tue Aug 28 17:30:18 2018 -0600
|
|
||||||
|
|
||||||
libxl: fix job handling across migration phases on src
|
|
||||||
|
|
||||||
The libxlDomainMigrationSrc* functions are a bit flawed in their
|
|
||||||
handling of modify jobs. A job begins at the start of the begin
|
|
||||||
phase but ends before the phase completes. No job is running for
|
|
||||||
the remaining phases of migration on the source host.
|
|
||||||
|
|
||||||
Change the logic to keep the job running after a successful begin
|
|
||||||
phase, and end the job in the confirm phase. The job must also end
|
|
||||||
in the perform phase in the case of error since confirm phase would
|
|
||||||
not be executed.
|
|
||||||
|
|
||||||
Signed-off-by: Jim Fehlig <jfehlig@suse.com>
|
|
||||||
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
|
|
||||||
|
|
||||||
Index: libvirt-4.7.0/src/libxl/libxl_migration.c
|
|
||||||
===================================================================
|
|
||||||
--- libvirt-4.7.0.orig/src/libxl/libxl_migration.c
|
|
||||||
+++ libvirt-4.7.0/src/libxl/libxl_migration.c
|
|
||||||
@@ -399,6 +399,11 @@ libxlDomainMigrationSrcBegin(virConnectP
|
|
||||||
virDomainDefPtr def;
|
|
||||||
char *xml = NULL;
|
|
||||||
|
|
||||||
+ /*
|
|
||||||
+ * In the case of successful migration, a job is started here and
|
|
||||||
+ * terminated in the confirm phase. Errors in the begin or perform
|
|
||||||
+ * phase will also terminate the job.
|
|
||||||
+ */
|
|
||||||
if (libxlDomainObjBeginJob(driver, vm, LIBXL_JOB_MODIFY) < 0)
|
|
||||||
goto cleanup;
|
|
||||||
|
|
||||||
@@ -428,6 +433,9 @@ libxlDomainMigrationSrcBegin(virConnectP
|
|
||||||
goto endjob;
|
|
||||||
|
|
||||||
xml = virDomainDefFormat(def, cfg->caps, VIR_DOMAIN_DEF_FORMAT_SECURE);
|
|
||||||
+ /* Valid xml means success! EndJob in the confirm phase */
|
|
||||||
+ if (xml)
|
|
||||||
+ goto cleanup;
|
|
||||||
|
|
||||||
endjob:
|
|
||||||
libxlDomainObjEndJob(driver, vm);
|
|
||||||
@@ -1169,6 +1177,14 @@ libxlDomainMigrationSrcPerformP2P(libxlD
|
|
||||||
ret = libxlDoMigrateSrcP2P(driver, vm, sconn, xmlin, dconn, dconnuri,
|
|
||||||
dname, uri_str, flags);
|
|
||||||
|
|
||||||
+ if (ret < 0) {
|
|
||||||
+ /*
|
|
||||||
+ * Confirm phase will not be executed if perform fails. End the
|
|
||||||
+ * job started in begin phase.
|
|
||||||
+ */
|
|
||||||
+ libxlDomainObjEndJob(driver, vm);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
cleanup:
|
|
||||||
orig_err = virSaveLastError();
|
|
||||||
virObjectUnlock(vm);
|
|
||||||
@@ -1232,11 +1248,17 @@ libxlDomainMigrationSrcPerform(libxlDriv
|
|
||||||
ret = libxlDoMigrateSrcSend(driver, vm, flags, sockfd);
|
|
||||||
virObjectLock(vm);
|
|
||||||
|
|
||||||
- if (ret < 0)
|
|
||||||
+ if (ret < 0) {
|
|
||||||
virDomainLockProcessResume(driver->lockManager,
|
|
||||||
"xen:///system",
|
|
||||||
vm,
|
|
||||||
priv->lockState);
|
|
||||||
+ /*
|
|
||||||
+ * Confirm phase will not be executed if perform fails. End the
|
|
||||||
+ * job started in begin phase.
|
|
||||||
+ */
|
|
||||||
+ libxlDomainObjEndJob(driver, vm);
|
|
||||||
+ }
|
|
||||||
|
|
||||||
cleanup:
|
|
||||||
VIR_FORCE_CLOSE(sockfd);
|
|
||||||
@@ -1386,6 +1408,8 @@ libxlDomainMigrationSrcConfirm(libxlDriv
|
|
||||||
ret = 0;
|
|
||||||
|
|
||||||
cleanup:
|
|
||||||
+ /* EndJob for corresponding BeginJob in begin phase */
|
|
||||||
+ libxlDomainObjEndJob(driver, vm);
|
|
||||||
virObjectEventStateQueue(driver->domainEventState, event);
|
|
||||||
virObjectUnref(cfg);
|
|
||||||
return ret;
|
|
@ -1,87 +0,0 @@
|
|||||||
commit 5ea2abb3bfd552175dc2dfcc295fde3fbf17fc37
|
|
||||||
Author: Jim Fehlig <jfehlig@suse.com>
|
|
||||||
Date: Fri Aug 24 15:38:14 2018 -0600
|
|
||||||
|
|
||||||
libxl: join with thread receiving migration data
|
|
||||||
|
|
||||||
It is possible the incoming VM is not fully started when the finish
|
|
||||||
phase of migration is executed. In libxlDomainMigrationDstFinish,
|
|
||||||
wait for the thread receiving the VM to complete before executing
|
|
||||||
finish phase tasks.
|
|
||||||
|
|
||||||
Signed-off-by: Jim Fehlig <jfehlig@suse.com>
|
|
||||||
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
|
|
||||||
|
|
||||||
Index: libvirt-4.7.0/src/libxl/libxl_domain.h
|
|
||||||
===================================================================
|
|
||||||
--- libvirt-4.7.0.orig/src/libxl/libxl_domain.h
|
|
||||||
+++ libvirt-4.7.0/src/libxl/libxl_domain.h
|
|
||||||
@@ -65,6 +65,7 @@ struct _libxlDomainObjPrivate {
|
|
||||||
/* console */
|
|
||||||
virChrdevsPtr devs;
|
|
||||||
libxl_evgen_domain_death *deathW;
|
|
||||||
+ virThreadPtr migrationDstReceiveThr;
|
|
||||||
unsigned short migrationPort;
|
|
||||||
char *lockState;
|
|
||||||
|
|
||||||
Index: libvirt-4.7.0/src/libxl/libxl_migration.c
|
|
||||||
===================================================================
|
|
||||||
--- libvirt-4.7.0.orig/src/libxl/libxl_migration.c
|
|
||||||
+++ libvirt-4.7.0/src/libxl/libxl_migration.c
|
|
||||||
@@ -297,9 +297,9 @@ libxlMigrateDstReceive(virNetSocketPtr s
|
|
||||||
libxlMigrationDstArgs *args = opaque;
|
|
||||||
virNetSocketPtr *socks = args->socks;
|
|
||||||
size_t nsocks = args->nsocks;
|
|
||||||
+ libxlDomainObjPrivatePtr priv = args->vm->privateData;
|
|
||||||
virNetSocketPtr client_sock;
|
|
||||||
int recvfd = -1;
|
|
||||||
- virThread thread;
|
|
||||||
size_t i;
|
|
||||||
|
|
||||||
/* Accept migration connection */
|
|
||||||
@@ -318,7 +318,10 @@ libxlMigrateDstReceive(virNetSocketPtr s
|
|
||||||
* the migration data
|
|
||||||
*/
|
|
||||||
args->recvfd = recvfd;
|
|
||||||
- if (virThreadCreate(&thread, false,
|
|
||||||
+ VIR_FREE(priv->migrationDstReceiveThr);
|
|
||||||
+ if (VIR_ALLOC(priv->migrationDstReceiveThr) < 0)
|
|
||||||
+ goto fail;
|
|
||||||
+ if (virThreadCreate(priv->migrationDstReceiveThr, true,
|
|
||||||
libxlDoMigrateDstReceive, args) < 0) {
|
|
||||||
virReportError(VIR_ERR_OPERATION_FAILED, "%s",
|
|
||||||
_("Failed to create thread for receiving migration data"));
|
|
||||||
@@ -557,7 +560,6 @@ libxlDomainMigrationDstPrepareTunnel3(vi
|
|
||||||
libxlDriverPrivatePtr driver = dconn->privateData;
|
|
||||||
virDomainObjPtr vm = NULL;
|
|
||||||
libxlMigrationDstArgs *args = NULL;
|
|
||||||
- virThread thread;
|
|
||||||
bool taint_hook = false;
|
|
||||||
libxlDomainObjPrivatePtr priv = NULL;
|
|
||||||
char *xmlout = NULL;
|
|
||||||
@@ -617,7 +619,10 @@ libxlDomainMigrationDstPrepareTunnel3(vi
|
|
||||||
args->nsocks = 0;
|
|
||||||
mig = NULL;
|
|
||||||
|
|
||||||
- if (virThreadCreate(&thread, false, libxlDoMigrateDstReceive, args) < 0) {
|
|
||||||
+ VIR_FREE(priv->migrationDstReceiveThr);
|
|
||||||
+ if (VIR_ALLOC(priv->migrationDstReceiveThr) < 0)
|
|
||||||
+ goto error;
|
|
||||||
+ if (virThreadCreate(priv->migrationDstReceiveThr, true, libxlDoMigrateDstReceive, args) < 0) {
|
|
||||||
virReportError(VIR_ERR_OPERATION_FAILED, "%s",
|
|
||||||
_("Failed to create thread for receiving migration data"));
|
|
||||||
goto endjob;
|
|
||||||
@@ -1291,6 +1296,13 @@ libxlDomainMigrationDstFinish(virConnect
|
|
||||||
virObjectEventPtr event = NULL;
|
|
||||||
virDomainPtr dom = NULL;
|
|
||||||
|
|
||||||
+ if (priv->migrationDstReceiveThr) {
|
|
||||||
+ virObjectUnlock(vm);
|
|
||||||
+ virThreadJoin(priv->migrationDstReceiveThr);
|
|
||||||
+ virObjectLock(vm);
|
|
||||||
+ VIR_FREE(priv->migrationDstReceiveThr);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
virPortAllocatorRelease(priv->migrationPort);
|
|
||||||
priv->migrationPort = 0;
|
|
||||||
|
|
@ -1,44 +0,0 @@
|
|||||||
commit 60b4fd90213135be0e471756d3d95c68eb3e8f59
|
|
||||||
Author: Jim Fehlig <jfehlig@suse.com>
|
|
||||||
Date: Fri Aug 24 14:55:03 2018 -0600
|
|
||||||
|
|
||||||
libxl: migration: defer removing VM until finish phase
|
|
||||||
|
|
||||||
If for any reason the restore of a VM fails on the destination host
|
|
||||||
in a migration operation, the VM is removed (if not persistent) from
|
|
||||||
the virDomainObjList, meaning it is no longer available for additional
|
|
||||||
cleanup or processing in the finish phase. Defer removing the VM from
|
|
||||||
the virDomainObjList until the finish phase, which already contains
|
|
||||||
logic to remove the VM.
|
|
||||||
|
|
||||||
Signed-off-by: Jim Fehlig <jfehlig@suse.com>
|
|
||||||
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
|
|
||||||
|
|
||||||
Index: libvirt-4.7.0/src/libxl/libxl_migration.c
|
|
||||||
===================================================================
|
|
||||||
--- libvirt-4.7.0.orig/src/libxl/libxl_migration.c
|
|
||||||
+++ libvirt-4.7.0/src/libxl/libxl_migration.c
|
|
||||||
@@ -264,7 +264,6 @@ libxlDoMigrateDstReceive(void *opaque)
|
|
||||||
libxlDriverPrivatePtr driver = args->conn->privateData;
|
|
||||||
int recvfd = args->recvfd;
|
|
||||||
size_t i;
|
|
||||||
- int ret;
|
|
||||||
|
|
||||||
virObjectRef(vm);
|
|
||||||
virObjectLock(vm);
|
|
||||||
@@ -274,12 +273,10 @@ libxlDoMigrateDstReceive(void *opaque)
|
|
||||||
/*
|
|
||||||
* Always start the domain paused. If needed, unpause in the
|
|
||||||
* finish phase, after transfer of the domain is complete.
|
|
||||||
+ * Errors and cleanup are also handled in the finish phase.
|
|
||||||
*/
|
|
||||||
- ret = libxlDomainStartRestore(driver, vm, true, recvfd,
|
|
||||||
- args->migcookie->xenMigStreamVer);
|
|
||||||
-
|
|
||||||
- if (ret < 0 && !vm->persistent)
|
|
||||||
- virDomainObjListRemove(driver->domains, vm);
|
|
||||||
+ libxlDomainStartRestore(driver, vm, true, recvfd,
|
|
||||||
+ args->migcookie->xenMigStreamVer);
|
|
||||||
|
|
||||||
/* Remove all listen socks from event handler, and close them. */
|
|
||||||
for (i = 0; i < nsocks; i++) {
|
|
@ -1,7 +1,7 @@
|
|||||||
Index: libvirt-4.7.0/examples/apparmor/libvirt-lxc
|
Index: libvirt-4.8.0/examples/apparmor/libvirt-lxc
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/examples/apparmor/libvirt-lxc
|
--- libvirt-4.8.0.orig/examples/apparmor/libvirt-lxc
|
||||||
+++ libvirt-4.7.0/examples/apparmor/libvirt-lxc
|
+++ libvirt-4.8.0/examples/apparmor/libvirt-lxc
|
||||||
@@ -2,39 +2,15 @@
|
@@ -2,39 +2,15 @@
|
||||||
|
|
||||||
#include <abstractions/base>
|
#include <abstractions/base>
|
||||||
|
@ -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.7.0/src/qemu/qemu_driver.c
|
Index: libvirt-4.8.0/src/qemu/qemu_driver.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/src/qemu/qemu_driver.c
|
--- libvirt-4.8.0.orig/src/qemu/qemu_driver.c
|
||||||
+++ libvirt-4.7.0/src/qemu/qemu_driver.c
|
+++ libvirt-4.8.0/src/qemu/qemu_driver.c
|
||||||
@@ -17511,6 +17511,14 @@ qemuDomainBlockCopyCommon(virDomainObjPt
|
@@ -17503,6 +17503,14 @@ qemuDomainBlockCopyCommon(virDomainObjPt
|
||||||
goto endjob;
|
goto endjob;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,115 +0,0 @@
|
|||||||
commit e39c66d3ce3e65170a1db1324eb1fb8e57d82ecb
|
|
||||||
Author: Jim Fehlig <jfehlig@suse.com>
|
|
||||||
Date: Tue Aug 28 17:13:54 2018 -0600
|
|
||||||
|
|
||||||
libxl: fix logic in P2P migration
|
|
||||||
|
|
||||||
libxlDoMigrateSrcP2P() performs all phases of the migration
|
|
||||||
protocol for peer-to-peer migration. Unfortunately the logic
|
|
||||||
was a bit flawed since it is possible to skip the confirm
|
|
||||||
phase after a successfull begin and prepare phase. Fix the
|
|
||||||
logic to always call the confirm phase after a successful begin
|
|
||||||
and perform. Skip the confirm phase if begin or perform fail.
|
|
||||||
|
|
||||||
Signed-off-by: Jim Fehlig <jfehlig@suse.com>
|
|
||||||
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
|
|
||||||
|
|
||||||
Index: libvirt-4.7.0/src/libxl/libxl_migration.c
|
|
||||||
===================================================================
|
|
||||||
--- libvirt-4.7.0.orig/src/libxl/libxl_migration.c
|
|
||||||
+++ libvirt-4.7.0/src/libxl/libxl_migration.c
|
|
||||||
@@ -972,21 +972,13 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
|
|
||||||
char *cookieout = NULL;
|
|
||||||
int cookieoutlen;
|
|
||||||
bool cancelled = true;
|
|
||||||
+ bool notify_source = true;
|
|
||||||
virErrorPtr orig_err = NULL;
|
|
||||||
int ret = -1;
|
|
||||||
/* For tunnel migration */
|
|
||||||
virStreamPtr st = NULL;
|
|
||||||
struct libxlTunnelControl *tc = NULL;
|
|
||||||
|
|
||||||
- dom_xml = libxlDomainMigrationSrcBegin(sconn, vm, xmlin,
|
|
||||||
- &cookieout, &cookieoutlen);
|
|
||||||
- if (!dom_xml)
|
|
||||||
- goto cleanup;
|
|
||||||
-
|
|
||||||
- if (virTypedParamsAddString(¶ms, &nparams, &maxparams,
|
|
||||||
- VIR_MIGRATE_PARAM_DEST_XML, dom_xml) < 0)
|
|
||||||
- goto cleanup;
|
|
||||||
-
|
|
||||||
if (dname &&
|
|
||||||
virTypedParamsAddString(¶ms, &nparams, &maxparams,
|
|
||||||
VIR_MIGRATE_PARAM_DEST_NAME, dname) < 0)
|
|
||||||
@@ -997,6 +989,19 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
|
|
||||||
VIR_MIGRATE_PARAM_URI, uri) < 0)
|
|
||||||
goto cleanup;
|
|
||||||
|
|
||||||
+ dom_xml = libxlDomainMigrationSrcBegin(sconn, vm, xmlin,
|
|
||||||
+ &cookieout, &cookieoutlen);
|
|
||||||
+ /*
|
|
||||||
+ * If dom_xml is non-NULL the begin phase has succeeded, and the
|
|
||||||
+ * confirm phase must be called to cleanup the migration operation.
|
|
||||||
+ */
|
|
||||||
+ if (!dom_xml)
|
|
||||||
+ goto cleanup;
|
|
||||||
+
|
|
||||||
+ if (virTypedParamsAddString(¶ms, &nparams, &maxparams,
|
|
||||||
+ VIR_MIGRATE_PARAM_DEST_XML, dom_xml) < 0)
|
|
||||||
+ goto confirm;
|
|
||||||
+
|
|
||||||
/* We don't require the destination to have P2P support
|
|
||||||
* as it looks to be normal migration from the receiver perpective.
|
|
||||||
*/
|
|
||||||
@@ -1006,7 +1011,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
|
|
||||||
virObjectUnlock(vm);
|
|
||||||
if (flags & VIR_MIGRATE_TUNNELLED) {
|
|
||||||
if (!(st = virStreamNew(dconn, 0)))
|
|
||||||
- goto cleanup;
|
|
||||||
+ goto confirm;
|
|
||||||
ret = dconn->driver->domainMigratePrepareTunnel3Params
|
|
||||||
(dconn, st, params, nparams, cookieout, cookieoutlen, NULL, NULL, destflags);
|
|
||||||
} else {
|
|
||||||
@@ -1016,7 +1021,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
|
|
||||||
virObjectLock(vm);
|
|
||||||
|
|
||||||
if (ret == -1)
|
|
||||||
- goto cleanup;
|
|
||||||
+ goto confirm;
|
|
||||||
|
|
||||||
if (!(flags & VIR_MIGRATE_TUNNELLED)) {
|
|
||||||
if (uri_out) {
|
|
||||||
@@ -1038,8 +1043,10 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
|
|
||||||
else
|
|
||||||
ret = libxlDomainMigrationSrcPerform(driver, vm, NULL, NULL,
|
|
||||||
uri_out, NULL, flags);
|
|
||||||
- if (ret < 0)
|
|
||||||
+ if (ret < 0) {
|
|
||||||
+ notify_source = false;
|
|
||||||
orig_err = virSaveLastError();
|
|
||||||
+ }
|
|
||||||
|
|
||||||
cancelled = (ret < 0);
|
|
||||||
|
|
||||||
@@ -1067,12 +1074,15 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
|
|
||||||
if (!orig_err)
|
|
||||||
orig_err = virSaveLastError();
|
|
||||||
|
|
||||||
- VIR_DEBUG("Confirm3 cancelled=%d vm=%p", cancelled, vm);
|
|
||||||
- ret = libxlDomainMigrationSrcConfirm(driver, vm, flags, cancelled);
|
|
||||||
-
|
|
||||||
- if (ret < 0)
|
|
||||||
- VIR_WARN("Guest %s probably left in 'paused' state on source",
|
|
||||||
- vm->def->name);
|
|
||||||
+ confirm:
|
|
||||||
+ if (notify_source) {
|
|
||||||
+ VIR_DEBUG("Confirm3 cancelled=%d vm=%p", cancelled, vm);
|
|
||||||
+ ret = libxlDomainMigrationSrcConfirm(driver, vm, flags, cancelled);
|
|
||||||
+
|
|
||||||
+ if (ret < 0)
|
|
||||||
+ VIR_WARN("Guest %s probably left in 'paused' state on source",
|
|
||||||
+ vm->def->name);
|
|
||||||
+ }
|
|
||||||
|
|
||||||
cleanup:
|
|
||||||
if (flags & VIR_MIGRATE_TUNNELLED) {
|
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:92c279f7321624ac5a37a81f8bbe8c8d2a16781da04c63c99c92d3de035767e4
|
|
||||||
size 14813352
|
|
@ -1,10 +0,0 @@
|
|||||||
-----BEGIN PGP SIGNATURE-----
|
|
||||||
|
|
||||||
iQEcBAABAgAGBQJbjW0tAAoJEBVYiyZZa+pdVjgIAM1W7JkjCuOexxKUr+tQnKwU
|
|
||||||
zyPHPP65VvZJs2lF3yvF+0NY3roQTCkVNoxiA9rwu2TEay3mTFxF5N9jypNu4kDs
|
|
||||||
cuPgJSW8U68XUvDIeebNKEegxSWDJfND8ARr7OoMKSeaU09mUk3eNXwCQ7LEqU9r
|
|
||||||
iXyRcIzZWuaW+HBMI5PprvE00yow3EFrSWFptmf8X4W5pIK1CVU1Lj6b6XKssPam
|
|
||||||
WK72M9CJrulvtN+SnuoF3dB7FbARstevR5dtdREY9KdT2xEEOj3f8c/JEYCLZkZV
|
|
||||||
HH/9tflDeQcplTEkHoFEj0aIJ3bS9OQqjghCZWerJDxlFrRxWySbclsCpF0jQxA=
|
|
||||||
=YpT0
|
|
||||||
-----END PGP SIGNATURE-----
|
|
3
libvirt-4.8.0.tar.xz
Normal file
3
libvirt-4.8.0.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:c2fd7112d6689fbb4d700b31c01aadd8a0eb275e127dc959cdc166f5f60b3032
|
||||||
|
size 14739652
|
10
libvirt-4.8.0.tar.xz.asc
Normal file
10
libvirt-4.8.0.tar.xz.asc
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQEcBAABAgAGBQJbsjv9AAoJEBVYiyZZa+pdHs8H/2Vq5LT4yMFlSA6gephfgPkV
|
||||||
|
+I8lITiZleJuQLDN73iUrUvCw2rOY0B5s0TRAwUIdh4t0dtszJt2X+MsaLY+n3dB
|
||||||
|
19WZSTGtwOy/gd5NNPz8ua2Z4KH1DPcme2pMkqurwsmu+6FBnl+gVZYZeZm4S1gl
|
||||||
|
C/8JZu/5VDCbN/HDgQQ1fGlgSZZZ5JwLoHF6USg3GDEOO20B4LUeOiy5Vgp/B8+T
|
||||||
|
7C0Jf4KS6rsH5HXw63ATrTWO/XYbDeoVYXgWe9tugsyVO8mzoF/Odu49Pkc2Kzp5
|
||||||
|
Sdod9MsAIFgZLKNCw3izCaCpf2Xdwwz7D3wF7BIdKsVgUfX52Xk84/YwyHT2O2Q=
|
||||||
|
=w6sZ
|
||||||
|
-----END PGP SIGNATURE-----
|
@ -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.7.0/src/cpu_map/ppc64_POWER8.xml
|
Index: libvirt-4.8.0/src/cpu_map/ppc64_POWER8.xml
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/src/cpu_map/ppc64_POWER8.xml
|
--- libvirt-4.8.0.orig/src/cpu_map/ppc64_POWER8.xml
|
||||||
+++ libvirt-4.7.0/src/cpu_map/ppc64_POWER8.xml
|
+++ libvirt-4.8.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'/>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Index: libvirt-4.7.0/configure.ac
|
Index: libvirt-4.8.0/configure.ac
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/configure.ac
|
--- libvirt-4.8.0.orig/configure.ac
|
||||||
+++ libvirt-4.7.0/configure.ac
|
+++ libvirt-4.8.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,11 +26,11 @@ Index: libvirt-4.7.0/configure.ac
|
|||||||
LIBVIRT_RESULT_NLS
|
LIBVIRT_RESULT_NLS
|
||||||
LIBVIRT_RESULT_NSS
|
LIBVIRT_RESULT_NSS
|
||||||
LIBVIRT_RESULT_NUMACTL
|
LIBVIRT_RESULT_NUMACTL
|
||||||
Index: libvirt-4.7.0/tools/virsh.c
|
Index: libvirt-4.8.0/tools/virsh.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/tools/virsh.c
|
--- libvirt-4.8.0.orig/tools/virsh.c
|
||||||
+++ libvirt-4.7.0/tools/virsh.c
|
+++ libvirt-4.8.0/tools/virsh.c
|
||||||
@@ -575,6 +575,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)
|
||||||
vshPrint(ctl, " netcf");
|
vshPrint(ctl, " netcf");
|
||||||
@ -39,10 +39,10 @@ Index: libvirt-4.7.0/tools/virsh.c
|
|||||||
# elif defined(WITH_UDEV)
|
# elif defined(WITH_UDEV)
|
||||||
vshPrint(ctl, " udev");
|
vshPrint(ctl, " udev");
|
||||||
# endif
|
# endif
|
||||||
Index: libvirt-4.7.0/src/interface/interface_backend_netcf.c
|
Index: libvirt-4.8.0/src/interface/interface_backend_netcf.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/src/interface/interface_backend_netcf.c
|
--- libvirt-4.8.0.orig/src/interface/interface_backend_netcf.c
|
||||||
+++ libvirt-4.7.0/src/interface/interface_backend_netcf.c
|
+++ libvirt-4.8.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.7.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.7.0/src/interface/interface_driver.c
|
Index: libvirt-4.8.0/src/interface/interface_driver.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/src/interface/interface_driver.c
|
--- libvirt-4.8.0.orig/src/interface/interface_driver.c
|
||||||
+++ libvirt-4.7.0/src/interface/interface_driver.c
|
+++ libvirt-4.8.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.7.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.7.0/m4/virt-netcontrol.m4
|
Index: libvirt-4.8.0/m4/virt-netcontrol.m4
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ libvirt-4.7.0/m4/virt-netcontrol.m4
|
+++ libvirt-4.8.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.7.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.7.0/src/interface/Makefile.inc.am
|
Index: libvirt-4.8.0/src/interface/Makefile.inc.am
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/src/interface/Makefile.inc.am
|
--- libvirt-4.8.0.orig/src/interface/Makefile.inc.am
|
||||||
+++ libvirt-4.7.0/src/interface/Makefile.inc.am
|
+++ libvirt-4.8.0/src/interface/Makefile.inc.am
|
||||||
@@ -4,6 +4,7 @@ INTERFACE_DRIVER_SOURCES = \
|
@@ -4,6 +4,7 @@ INTERFACE_DRIVER_SOURCES = \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
|
@ -1,3 +1,16 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Oct 2 19:55:14 UTC 2018 - jfehlig@suse.com
|
||||||
|
|
||||||
|
- Update to libvirt 4.8.0
|
||||||
|
- Many incremental improvements and bug fixes, see
|
||||||
|
http://libvirt.org/news.html
|
||||||
|
- Dropped patches:
|
||||||
|
60b4fd90-libxl-rm-vm-finish-phase.patch,
|
||||||
|
e39c66d3-libxl-fix-p2p-migration.patch,
|
||||||
|
47da84e0-libxl-fix-job-handling-migsrc.patch,
|
||||||
|
0149464a-libxl-fix-job-handling-migdst.patch,
|
||||||
|
5ea2abb3-libxl-join-mig-rcv-thread.patch
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Sep 24 10:42:27 UTC 2018 - Jan Engelhardt <jengelh@inai.de>
|
Mon Sep 24 10:42:27 UTC 2018 - Jan Engelhardt <jengelh@inai.de>
|
||||||
|
|
||||||
|
14
libvirt.spec
14
libvirt.spec
@ -12,7 +12,7 @@
|
|||||||
# license that conforms to the Open Source Definition (Version 1.9)
|
# license that conforms to the Open Source Definition (Version 1.9)
|
||||||
# published by the Open Source Initiative.
|
# published by the Open Source Initiative.
|
||||||
|
|
||||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
@ -185,7 +185,7 @@
|
|||||||
|
|
||||||
Name: libvirt
|
Name: libvirt
|
||||||
Url: http://libvirt.org/
|
Url: http://libvirt.org/
|
||||||
Version: 4.7.0
|
Version: 4.8.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,11 +339,6 @@ Source6: libvirtd-relocation-server.xml
|
|||||||
Source99: baselibs.conf
|
Source99: baselibs.conf
|
||||||
Source100: %{name}-rpmlintrc
|
Source100: %{name}-rpmlintrc
|
||||||
# Upstream patches
|
# Upstream patches
|
||||||
Patch0: 60b4fd90-libxl-rm-vm-finish-phase.patch
|
|
||||||
Patch1: e39c66d3-libxl-fix-p2p-migration.patch
|
|
||||||
Patch2: 47da84e0-libxl-fix-job-handling-migsrc.patch
|
|
||||||
Patch3: 0149464a-libxl-fix-job-handling-migdst.patch
|
|
||||||
Patch4: 5ea2abb3-libxl-join-mig-rcv-thread.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
|
||||||
@ -906,11 +901,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
|
|
||||||
%patch100 -p1
|
%patch100 -p1
|
||||||
%patch101 -p1
|
%patch101 -p1
|
||||||
%patch150 -p1
|
%patch150 -p1
|
||||||
|
@ -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-4.7.0/src/libxl/libxl_driver.c
|
Index: libvirt-4.8.0/src/libxl/libxl_driver.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/src/libxl/libxl_driver.c
|
--- libvirt-4.8.0.orig/src/libxl/libxl_driver.c
|
||||||
+++ libvirt-4.7.0/src/libxl/libxl_driver.c
|
+++ libvirt-4.8.0/src/libxl/libxl_driver.c
|
||||||
@@ -1344,6 +1344,61 @@ libxlDomainReboot(virDomainPtr dom, unsi
|
@@ -1355,6 +1355,61 @@ libxlDomainReboot(virDomainPtr dom, unsi
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@ -74,11 +74,11 @@ Index: libvirt-4.7.0/src/libxl/libxl_driver.c
|
|||||||
libxlDomainDestroyFlags(virDomainPtr dom,
|
libxlDomainDestroyFlags(virDomainPtr dom,
|
||||||
unsigned int flags)
|
unsigned int flags)
|
||||||
{
|
{
|
||||||
@@ -6376,6 +6431,7 @@ static virHypervisorDriver libxlHypervis
|
@@ -6510,6 +6565,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 */
|
||||||
+ .domainReset = libxlDomainReset, /* 1.2.16 */
|
+ .domainReset = libxlDomainReset, /* 1.2.16 */
|
||||||
.domainDestroy = libxlDomainDestroy, /* 0.9.0 */
|
.domainDestroy = libxlDomainDestroy, /* 0.9.0 */
|
||||||
.domainDestroyFlags = libxlDomainDestroyFlags, /* 0.9.4 */
|
.domainDestroyFlags = libxlDomainDestroyFlags, /* 0.9.4 */
|
||||||
.domainGetOSType = libxlDomainGetOSType, /* 0.9.0 */
|
#ifdef LIBXL_HAVE_DOMAIN_SUSPEND_ONLY
|
||||||
|
@ -8,10 +8,10 @@ as the default <emulator>, instead of the qemu-xen one.
|
|||||||
|
|
||||||
See FATE#320638 for details.
|
See FATE#320638 for details.
|
||||||
|
|
||||||
Index: libvirt-4.7.0/src/libxl/libxl_capabilities.c
|
Index: libvirt-4.8.0/src/libxl/libxl_capabilities.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/src/libxl/libxl_capabilities.c
|
--- libvirt-4.8.0.orig/src/libxl/libxl_capabilities.c
|
||||||
+++ libvirt-4.7.0/src/libxl/libxl_capabilities.c
|
+++ libvirt-4.8.0/src/libxl/libxl_capabilities.c
|
||||||
@@ -38,6 +38,7 @@
|
@@ -38,6 +38,7 @@
|
||||||
#include "libxl_capabilities.h"
|
#include "libxl_capabilities.h"
|
||||||
#include "cpu/cpu_x86.h"
|
#include "cpu/cpu_x86.h"
|
||||||
|
@ -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.7.0/src/libxl/libxl_conf.c
|
Index: libvirt-4.8.0/src/libxl/libxl_conf.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/src/libxl/libxl_conf.c
|
--- libvirt-4.8.0.orig/src/libxl/libxl_conf.c
|
||||||
+++ libvirt-4.7.0/src/libxl/libxl_conf.c
|
+++ libvirt-4.8.0/src/libxl/libxl_conf.c
|
||||||
@@ -837,6 +837,30 @@ libxlDiskSetDiscard(libxl_device_disk *x
|
@@ -848,6 +848,30 @@ libxlDiskSetDiscard(libxl_device_disk *x
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -38,7 +38,7 @@ Index: libvirt-4.7.0/src/libxl/libxl_conf.c
|
|||||||
static char *
|
static char *
|
||||||
libxlMakeNetworkDiskSrcStr(virStorageSourcePtr src,
|
libxlMakeNetworkDiskSrcStr(virStorageSourcePtr src,
|
||||||
const char *username,
|
const char *username,
|
||||||
@@ -1085,6 +1109,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
|
@@ -1096,6 +1120,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;
|
||||||
|
@ -16,10 +16,10 @@ Signed-off-by: Jim Fehlig <jfehlig@suse.com>
|
|||||||
tools/virsh.pod | 8 ++++++++
|
tools/virsh.pod | 8 ++++++++
|
||||||
6 files changed, 125 insertions(+), 6 deletions(-)
|
6 files changed, 125 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
Index: libvirt-4.7.0/include/libvirt/libvirt-domain.h
|
Index: libvirt-4.8.0/include/libvirt/libvirt-domain.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/include/libvirt/libvirt-domain.h
|
--- libvirt-4.8.0.orig/include/libvirt/libvirt-domain.h
|
||||||
+++ libvirt-4.7.0/include/libvirt/libvirt-domain.h
|
+++ libvirt-4.8.0/include/libvirt/libvirt-domain.h
|
||||||
@@ -1015,6 +1015,31 @@ typedef enum {
|
@@ -1015,6 +1015,31 @@ typedef enum {
|
||||||
*/
|
*/
|
||||||
# define VIR_MIGRATE_PARAM_AUTO_CONVERGE_INCREMENT "auto_converge.increment"
|
# define VIR_MIGRATE_PARAM_AUTO_CONVERGE_INCREMENT "auto_converge.increment"
|
||||||
@ -52,11 +52,11 @@ Index: libvirt-4.7.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.7.0/src/libxl/libxl_driver.c
|
Index: libvirt-4.8.0/src/libxl/libxl_driver.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/src/libxl/libxl_driver.c
|
--- libvirt-4.8.0.orig/src/libxl/libxl_driver.c
|
||||||
+++ libvirt-4.7.0/src/libxl/libxl_driver.c
|
+++ libvirt-4.8.0/src/libxl/libxl_driver.c
|
||||||
@@ -5985,6 +5985,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;
|
||||||
int ret = -1;
|
int ret = -1;
|
||||||
@ -66,7 +66,7 @@ Index: libvirt-4.7.0/src/libxl/libxl_driver.c
|
|||||||
|
|
||||||
#ifdef LIBXL_HAVE_NO_SUSPEND_RESUME
|
#ifdef LIBXL_HAVE_NO_SUSPEND_RESUME
|
||||||
virReportUnsupportedError();
|
virReportUnsupportedError();
|
||||||
@@ -6001,6 +6004,18 @@ libxlDomainMigratePerform3Params(virDoma
|
@@ -6135,6 +6138,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-4.7.0/src/libxl/libxl_driver.c
|
|||||||
virTypedParamsGetString(params, nparams,
|
virTypedParamsGetString(params, nparams,
|
||||||
VIR_MIGRATE_PARAM_URI,
|
VIR_MIGRATE_PARAM_URI,
|
||||||
&uri) < 0)
|
&uri) < 0)
|
||||||
@@ -6015,11 +6030,11 @@ libxlDomainMigratePerform3Params(virDoma
|
@@ -6149,11 +6164,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-4.7.0/src/libxl/libxl_driver.c
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
Index: libvirt-4.7.0/src/libxl/libxl_migration.c
|
Index: libvirt-4.8.0/src/libxl/libxl_migration.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/src/libxl/libxl_migration.c
|
--- libvirt-4.8.0.orig/src/libxl/libxl_migration.c
|
||||||
+++ libvirt-4.7.0/src/libxl/libxl_migration.c
|
+++ libvirt-4.8.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.7.0/src/libxl/libxl_migration.c
|
|||||||
virObjectLock(vm);
|
virObjectLock(vm);
|
||||||
|
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
Index: libvirt-4.7.0/src/libxl/libxl_migration.h
|
Index: libvirt-4.8.0/src/libxl/libxl_migration.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/src/libxl/libxl_migration.h
|
--- libvirt-4.8.0.orig/src/libxl/libxl_migration.h
|
||||||
+++ libvirt-4.7.0/src/libxl/libxl_migration.h
|
+++ libvirt-4.8.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.7.0/src/libxl/libxl_migration.h
|
|||||||
|
|
||||||
virDomainPtr
|
virDomainPtr
|
||||||
libxlDomainMigrationDstFinish(virConnectPtr dconn,
|
libxlDomainMigrationDstFinish(virConnectPtr dconn,
|
||||||
Index: libvirt-4.7.0/tools/virsh-domain.c
|
Index: libvirt-4.8.0/tools/virsh-domain.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/tools/virsh-domain.c
|
--- libvirt-4.8.0.orig/tools/virsh-domain.c
|
||||||
+++ libvirt-4.7.0/tools/virsh-domain.c
|
+++ libvirt-4.8.0/tools/virsh-domain.c
|
||||||
@@ -10425,6 +10425,22 @@ static const vshCmdOptDef opts_migrate[]
|
@@ -10450,6 +10450,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.7.0/tools/virsh-domain.c
|
|||||||
{.name = NULL}
|
{.name = NULL}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -10448,6 +10464,7 @@ doMigrate(void *opaque)
|
@@ -10473,6 +10489,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.7.0/tools/virsh-domain.c
|
|||||||
|
|
||||||
sigemptyset(&sigmask);
|
sigemptyset(&sigmask);
|
||||||
sigaddset(&sigmask, SIGINT);
|
sigaddset(&sigmask, SIGINT);
|
||||||
@@ -10567,6 +10584,27 @@ doMigrate(void *opaque)
|
@@ -10592,6 +10609,27 @@ doMigrate(void *opaque)
|
||||||
goto save_error;
|
goto save_error;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -375,10 +375,10 @@ Index: libvirt-4.7.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.7.0/tools/virsh.pod
|
Index: libvirt-4.8.0/tools/virsh.pod
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/tools/virsh.pod
|
--- libvirt-4.8.0.orig/tools/virsh.pod
|
||||||
+++ libvirt-4.7.0/tools/virsh.pod
|
+++ libvirt-4.8.0/tools/virsh.pod
|
||||||
@@ -1937,6 +1937,14 @@ Providing I<--tls> causes the migration
|
@@ -1937,6 +1937,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.
|
||||||
|
@ -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.7.0/src/libxl/libxl_conf.c
|
Index: libvirt-4.8.0/src/libxl/libxl_conf.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/src/libxl/libxl_conf.c
|
--- libvirt-4.8.0.orig/src/libxl/libxl_conf.c
|
||||||
+++ libvirt-4.7.0/src/libxl/libxl_conf.c
|
+++ libvirt-4.8.0/src/libxl/libxl_conf.c
|
||||||
@@ -837,6 +837,25 @@ libxlDiskSetDiscard(libxl_device_disk *x
|
@@ -848,6 +848,25 @@ libxlDiskSetDiscard(libxl_device_disk *x
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -37,7 +37,7 @@ Index: libvirt-4.7.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)
|
||||||
{
|
{
|
||||||
@@ -982,6 +1001,7 @@ libxlMakeNetworkDiskSrc(virStorageSource
|
@@ -993,6 +1012,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.7.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);
|
||||||
@@ -997,7 +1017,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
|
@@ -1008,7 +1028,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.7.0/src/libxl/libxl_conf.c
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1110,6 +1130,9 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
|
@@ -1121,6 +1141,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);
|
||||||
|
@ -13,11 +13,11 @@ device with the same name that is being created.
|
|||||||
src/lxc/lxc_process.c | 1 +
|
src/lxc/lxc_process.c | 1 +
|
||||||
3 files changed, 4 insertions(+)
|
3 files changed, 4 insertions(+)
|
||||||
|
|
||||||
Index: libvirt-4.7.0/src/lxc/lxc_controller.c
|
Index: libvirt-4.8.0/src/lxc/lxc_controller.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/src/lxc/lxc_controller.c
|
--- libvirt-4.8.0.orig/src/lxc/lxc_controller.c
|
||||||
+++ libvirt-4.7.0/src/lxc/lxc_controller.c
|
+++ libvirt-4.8.0/src/lxc/lxc_controller.c
|
||||||
@@ -73,6 +73,7 @@
|
@@ -72,6 +72,7 @@
|
||||||
#include "rpc/virnetdaemon.h"
|
#include "rpc/virnetdaemon.h"
|
||||||
#include "virstring.h"
|
#include "virstring.h"
|
||||||
#include "virgettext.h"
|
#include "virgettext.h"
|
||||||
@ -25,7 +25,7 @@ Index: libvirt-4.7.0/src/lxc/lxc_controller.c
|
|||||||
|
|
||||||
#define VIR_FROM_THIS VIR_FROM_LXC
|
#define VIR_FROM_THIS VIR_FROM_LXC
|
||||||
|
|
||||||
@@ -1999,6 +2000,7 @@ static int virLXCControllerDeleteInterfa
|
@@ -1998,6 +1999,7 @@ static int virLXCControllerDeleteInterfa
|
||||||
if (virNetDevVethDelete(ctrl->veths[i]) < 0)
|
if (virNetDevVethDelete(ctrl->veths[i]) < 0)
|
||||||
ret = -1;
|
ret = -1;
|
||||||
}
|
}
|
||||||
@ -33,11 +33,11 @@ Index: libvirt-4.7.0/src/lxc/lxc_controller.c
|
|||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
Index: libvirt-4.7.0/src/lxc/lxc_driver.c
|
Index: libvirt-4.8.0/src/lxc/lxc_driver.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/src/lxc/lxc_driver.c
|
--- libvirt-4.8.0.orig/src/lxc/lxc_driver.c
|
||||||
+++ libvirt-4.7.0/src/lxc/lxc_driver.c
|
+++ libvirt-4.8.0/src/lxc/lxc_driver.c
|
||||||
@@ -74,6 +74,7 @@
|
@@ -73,6 +73,7 @@
|
||||||
#include "virtime.h"
|
#include "virtime.h"
|
||||||
#include "virtypedparam.h"
|
#include "virtypedparam.h"
|
||||||
#include "viruri.h"
|
#include "viruri.h"
|
||||||
@ -45,7 +45,7 @@ Index: libvirt-4.7.0/src/lxc/lxc_driver.c
|
|||||||
#include "virstring.h"
|
#include "virstring.h"
|
||||||
#include "viraccessapicheck.h"
|
#include "viraccessapicheck.h"
|
||||||
#include "viraccessapichecklxc.h"
|
#include "viraccessapichecklxc.h"
|
||||||
@@ -3945,6 +3946,7 @@ lxcDomainAttachDeviceNetLive(virConnectP
|
@@ -3944,6 +3945,7 @@ lxcDomainAttachDeviceNetLive(virConnectP
|
||||||
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-4.7.0/src/lxc/lxc_driver.c
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case VIR_DOMAIN_NET_TYPE_DIRECT:
|
case VIR_DOMAIN_NET_TYPE_DIRECT:
|
||||||
@@ -4388,6 +4390,7 @@ lxcDomainDetachDeviceNetLive(virDomainOb
|
@@ -4387,6 +4389,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-4.7.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.7.0/src/lxc/lxc_process.c
|
Index: libvirt-4.8.0/src/lxc/lxc_process.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/src/lxc/lxc_process.c
|
--- libvirt-4.8.0.orig/src/lxc/lxc_process.c
|
||||||
+++ libvirt-4.7.0/src/lxc/lxc_process.c
|
+++ libvirt-4.8.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"
|
||||||
|
@ -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-4.7.0/src/network/bridge_driver.c
|
Index: libvirt-4.8.0/src/network/bridge_driver.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/src/network/bridge_driver.c
|
--- libvirt-4.8.0.orig/src/network/bridge_driver.c
|
||||||
+++ libvirt-4.7.0/src/network/bridge_driver.c
|
+++ libvirt-4.8.0/src/network/bridge_driver.c
|
||||||
@@ -1463,7 +1463,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) {
|
||||||
virBufferAddLit(&configbuf, "dhcp-no-override\n");
|
virBufferAddLit(&configbuf, "dhcp-no-override\n");
|
||||||
@ -37,10 +37,10 @@ Index: libvirt-4.7.0/src/network/bridge_driver.c
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (ipdef->tftproot) {
|
if (ipdef->tftproot) {
|
||||||
Index: libvirt-4.7.0/tests/networkxml2confdata/dhcp6host-routed-network.conf
|
Index: libvirt-4.8.0/tests/networkxml2confdata/dhcp6host-routed-network.conf
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/tests/networkxml2confdata/dhcp6host-routed-network.conf
|
--- libvirt-4.8.0.orig/tests/networkxml2confdata/dhcp6host-routed-network.conf
|
||||||
+++ libvirt-4.7.0/tests/networkxml2confdata/dhcp6host-routed-network.conf
|
+++ libvirt-4.8.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
|
||||||
|
@ -2,10 +2,10 @@ Canonicalize hostarch name ppc64le to ppc64
|
|||||||
|
|
||||||
See bnc#894956
|
See bnc#894956
|
||||||
|
|
||||||
Index: libvirt-4.7.0/src/util/virarch.c
|
Index: libvirt-4.8.0/src/util/virarch.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/src/util/virarch.c
|
--- libvirt-4.8.0.orig/src/util/virarch.c
|
||||||
+++ libvirt-4.7.0/src/util/virarch.c
|
+++ libvirt-4.8.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")) {
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Index: libvirt-4.7.0/examples/apparmor/libvirt-qemu
|
Index: libvirt-4.8.0/examples/apparmor/libvirt-qemu
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/examples/apparmor/libvirt-qemu
|
--- libvirt-4.8.0.orig/examples/apparmor/libvirt-qemu
|
||||||
+++ libvirt-4.7.0/examples/apparmor/libvirt-qemu
|
+++ libvirt-4.8.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,
|
||||||
|
@ -8,11 +8,11 @@ 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.7.0/src/xenconfig/xen_common.c
|
Index: libvirt-4.8.0/src/xenconfig/xen_common.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/src/xenconfig/xen_common.c
|
--- libvirt-4.8.0.orig/src/xenconfig/xen_common.c
|
||||||
+++ libvirt-4.7.0/src/xenconfig/xen_common.c
|
+++ libvirt-4.8.0/src/xenconfig/xen_common.c
|
||||||
@@ -402,12 +402,19 @@ xenParsePCI(char *entry)
|
@@ -390,12 +390,19 @@ xenParsePCI(char *entry)
|
||||||
int busID;
|
int busID;
|
||||||
int slotID;
|
int slotID;
|
||||||
int funcID;
|
int funcID;
|
||||||
@ -32,7 +32,7 @@ Index: libvirt-4.7.0/src/xenconfig/xen_common.c
|
|||||||
if (!(nextkey = strchr(key, ':')))
|
if (!(nextkey = strchr(key, ':')))
|
||||||
return NULL;
|
return NULL;
|
||||||
if (virStrncpy(domain, key, (nextkey - key), sizeof(domain)) < 0) {
|
if (virStrncpy(domain, key, (nextkey - key), sizeof(domain)) < 0) {
|
||||||
@@ -452,10 +459,30 @@ xenParsePCI(char *entry)
|
@@ -440,10 +447,30 @@ xenParsePCI(char *entry)
|
||||||
if (virStrToLong_i(func, NULL, 16, &funcID) < 0)
|
if (virStrToLong_i(func, NULL, 16, &funcID) < 0)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
@ -64,10 +64,10 @@ Index: libvirt-4.7.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.7.0/src/xenconfig/xen_sxpr.c
|
Index: libvirt-4.8.0/src/xenconfig/xen_sxpr.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/src/xenconfig/xen_sxpr.c
|
--- libvirt-4.8.0.orig/src/xenconfig/xen_sxpr.c
|
||||||
+++ libvirt-4.7.0/src/xenconfig/xen_sxpr.c
|
+++ libvirt-4.8.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;
|
||||||
|
@ -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.7.0/examples/apparmor/usr.lib.libvirt.virt-aa-helper
|
Index: libvirt-4.8.0/examples/apparmor/usr.lib.libvirt.virt-aa-helper
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/examples/apparmor/usr.lib.libvirt.virt-aa-helper
|
--- libvirt-4.8.0.orig/examples/apparmor/usr.lib.libvirt.virt-aa-helper
|
||||||
+++ libvirt-4.7.0/examples/apparmor/usr.lib.libvirt.virt-aa-helper
|
+++ libvirt-4.8.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.7.0/examples/apparmor/usr.lib.libvirt.virt-aa-helper
|
|||||||
|
|
||||||
# for hostdev
|
# for hostdev
|
||||||
/sys/devices/ r,
|
/sys/devices/ r,
|
||||||
Index: libvirt-4.7.0/examples/apparmor/libvirt-qemu
|
Index: libvirt-4.8.0/examples/apparmor/libvirt-qemu
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/examples/apparmor/libvirt-qemu
|
--- libvirt-4.8.0.orig/examples/apparmor/libvirt-qemu
|
||||||
+++ libvirt-4.7.0/examples/apparmor/libvirt-qemu
|
+++ libvirt-4.8.0/examples/apparmor/libvirt-qemu
|
||||||
@@ -62,6 +62,7 @@
|
@@ -62,6 +62,7 @@
|
||||||
#/dev/fb* rw,
|
#/dev/fb* rw,
|
||||||
|
|
||||||
|
@ -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.7.0/tools/libvirt-guests.init.in
|
Index: libvirt-4.8.0/tools/libvirt-guests.init.in
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/tools/libvirt-guests.init.in
|
--- libvirt-4.8.0.orig/tools/libvirt-guests.init.in
|
||||||
+++ libvirt-4.7.0/tools/libvirt-guests.init.in
|
+++ libvirt-4.8.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.7.0/tools/libvirt-guests.init.in
|
|||||||
+
|
+
|
||||||
|
|
||||||
exec @libexecdir@/libvirt-guests.sh "$@"
|
exec @libexecdir@/libvirt-guests.sh "$@"
|
||||||
Index: libvirt-4.7.0/tools/libvirt-guests.sh.in
|
Index: libvirt-4.8.0/tools/libvirt-guests.sh.in
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/tools/libvirt-guests.sh.in
|
--- libvirt-4.8.0.orig/tools/libvirt-guests.sh.in
|
||||||
+++ libvirt-4.7.0/tools/libvirt-guests.sh.in
|
+++ libvirt-4.8.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.7.0/tools/libvirt-guests.sh.in
|
|||||||
esac
|
esac
|
||||||
-exit $RETVAL
|
-exit $RETVAL
|
||||||
+rc_exit
|
+rc_exit
|
||||||
Index: libvirt-4.7.0/tools/libvirt-guests.sysconf
|
Index: libvirt-4.8.0/tools/libvirt-guests.sysconf
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/tools/libvirt-guests.sysconf
|
--- libvirt-4.8.0.orig/tools/libvirt-guests.sysconf
|
||||||
+++ libvirt-4.7.0/tools/libvirt-guests.sysconf
|
+++ libvirt-4.8.0/tools/libvirt-guests.sysconf
|
||||||
@@ -1,19 +1,29 @@
|
@@ -1,19 +1,29 @@
|
||||||
+## Path: System/Virtualization/libvirt-guests
|
+## Path: System/Virtualization/libvirt-guests
|
||||||
+
|
+
|
||||||
|
@ -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.7.0/src/remote/libvirtd.conf
|
Index: libvirt-4.8.0/src/remote/libvirtd.conf
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/src/remote/libvirtd.conf
|
--- libvirt-4.8.0.orig/src/remote/libvirtd.conf
|
||||||
+++ libvirt-4.7.0/src/remote/libvirtd.conf
|
+++ libvirt-4.8.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.7.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.7.0/src/remote/remote_daemon_config.c
|
Index: libvirt-4.8.0/src/remote/remote_daemon_config.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/src/remote/remote_daemon_config.c
|
--- libvirt-4.8.0.orig/src/remote/remote_daemon_config.c
|
||||||
+++ libvirt-4.7.0/src/remote/remote_daemon_config.c
|
+++ libvirt-4.8.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.7.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.7.0/src/remote/test_libvirtd.aug.in
|
Index: libvirt-4.8.0/src/remote/test_libvirtd.aug.in
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/src/remote/test_libvirtd.aug.in
|
--- libvirt-4.8.0.orig/src/remote/test_libvirtd.aug.in
|
||||||
+++ libvirt-4.7.0/src/remote/test_libvirtd.aug.in
|
+++ libvirt-4.8.0/src/remote/test_libvirtd.aug.in
|
||||||
@@ -2,7 +2,7 @@ module Test_libvirtd =
|
@@ -2,7 +2,7 @@ module Test_libvirtd =
|
||||||
::CONFIG::
|
::CONFIG::
|
||||||
|
|
||||||
|
@ -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.7.0/src/remote/libvirtd.service.in
|
Index: libvirt-4.8.0/src/remote/libvirtd.service.in
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/src/remote/libvirtd.service.in
|
--- libvirt-4.8.0.orig/src/remote/libvirtd.service.in
|
||||||
+++ libvirt-4.7.0/src/remote/libvirtd.service.in
|
+++ libvirt-4.8.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
|
||||||
|
@ -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.7.0/src/remote/libvirtd.sysconf
|
Index: libvirt-4.8.0/src/remote/libvirtd.sysconf
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/src/remote/libvirtd.sysconf
|
--- libvirt-4.8.0.orig/src/remote/libvirtd.sysconf
|
||||||
+++ libvirt-4.7.0/src/remote/libvirtd.sysconf
|
+++ libvirt-4.8.0/src/remote/libvirtd.sysconf
|
||||||
@@ -1,16 +1,25 @@
|
@@ -1,16 +1,25 @@
|
||||||
+## Path: System/Virtualization/libvirt
|
+## Path: System/Virtualization/libvirt
|
||||||
+
|
+
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
Adjust paths of OVMF firmwares on SUSE distros
|
Adjust paths of OVMF firmwares on SUSE distros
|
||||||
|
|
||||||
Index: libvirt-4.7.0/src/qemu/qemu.conf
|
Index: libvirt-4.8.0/src/qemu/qemu.conf
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/src/qemu/qemu.conf
|
--- libvirt-4.8.0.orig/src/qemu/qemu.conf
|
||||||
+++ libvirt-4.7.0/src/qemu/qemu.conf
|
+++ libvirt-4.8.0/src/qemu/qemu.conf
|
||||||
@@ -769,10 +769,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.
|
||||||
#nvram = [
|
#nvram = [
|
||||||
@ -18,11 +18,11 @@ Index: libvirt-4.7.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.7.0/src/qemu/qemu_conf.c
|
Index: libvirt-4.8.0/src/qemu/qemu_conf.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/src/qemu/qemu_conf.c
|
--- libvirt-4.8.0.orig/src/qemu/qemu_conf.c
|
||||||
+++ libvirt-4.7.0/src/qemu/qemu_conf.c
|
+++ libvirt-4.8.0/src/qemu/qemu_conf.c
|
||||||
@@ -122,10 +122,9 @@ void qemuDomainCmdlineDefFree(qemuDomain
|
@@ -118,10 +118,9 @@ void qemuDomainCmdlineDefFree(qemuDomain
|
||||||
|
|
||||||
#ifndef DEFAULT_LOADER_NVRAM
|
#ifndef DEFAULT_LOADER_NVRAM
|
||||||
# define DEFAULT_LOADER_NVRAM \
|
# define DEFAULT_LOADER_NVRAM \
|
||||||
@ -36,11 +36,11 @@ Index: libvirt-4.7.0/src/qemu/qemu_conf.c
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
Index: libvirt-4.7.0/src/security/virt-aa-helper.c
|
Index: libvirt-4.8.0/src/security/virt-aa-helper.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/src/security/virt-aa-helper.c
|
--- libvirt-4.8.0.orig/src/security/virt-aa-helper.c
|
||||||
+++ libvirt-4.7.0/src/security/virt-aa-helper.c
|
+++ libvirt-4.8.0/src/security/virt-aa-helper.c
|
||||||
@@ -515,7 +515,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 */
|
||||||
"/usr/share/qemu-efi/", /* for AAVMF images */
|
"/usr/share/qemu-efi/", /* for AAVMF images */
|
||||||
|
@ -7,10 +7,10 @@ suse-qemu-conf-secdriver.patch, suse-qemu-conf-lockmgr.patch,
|
|||||||
etc.), but for now they are all lumped together in this
|
etc.), but for now they are all lumped together in this
|
||||||
single patch.
|
single patch.
|
||||||
|
|
||||||
Index: libvirt-4.7.0/src/qemu/qemu.conf
|
Index: libvirt-4.8.0/src/qemu/qemu.conf
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/src/qemu/qemu.conf
|
--- libvirt-4.8.0.orig/src/qemu/qemu.conf
|
||||||
+++ libvirt-4.7.0/src/qemu/qemu.conf
|
+++ libvirt-4.8.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.
|
||||||
#
|
#
|
||||||
|
@ -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.7.0/src/locking/virtlockd.sysconf
|
Index: libvirt-4.8.0/src/locking/virtlockd.sysconf
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/src/locking/virtlockd.sysconf
|
--- libvirt-4.8.0.orig/src/locking/virtlockd.sysconf
|
||||||
+++ libvirt-4.7.0/src/locking/virtlockd.sysconf
|
+++ libvirt-4.8.0/src/locking/virtlockd.sysconf
|
||||||
@@ -1,3 +1,7 @@
|
@@ -1,3 +1,7 @@
|
||||||
+## Path: System/Virtualization/virtlockd
|
+## Path: System/Virtualization/virtlockd
|
||||||
+
|
+
|
||||||
|
@ -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.7.0/src/logging/virtlogd.sysconf
|
Index: libvirt-4.8.0/src/logging/virtlogd.sysconf
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/src/logging/virtlogd.sysconf
|
--- libvirt-4.8.0.orig/src/logging/virtlogd.sysconf
|
||||||
+++ libvirt-4.7.0/src/logging/virtlogd.sysconf
|
+++ libvirt-4.8.0/src/logging/virtlogd.sysconf
|
||||||
@@ -1,3 +1,7 @@
|
@@ -1,3 +1,7 @@
|
||||||
+## Path: System/Virtualization/virtlogd
|
+## Path: System/Virtualization/virtlogd
|
||||||
+
|
+
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Index: libvirt-4.7.0/src/xenconfig/xen_sxpr.c
|
Index: libvirt-4.8.0/src/xenconfig/xen_sxpr.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/src/xenconfig/xen_sxpr.c
|
--- libvirt-4.8.0.orig/src/xenconfig/xen_sxpr.c
|
||||||
+++ libvirt-4.7.0/src/xenconfig/xen_sxpr.c
|
+++ libvirt-4.8.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,
|
||||||
|
@ -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.7.0/src/xenconfig/xen_sxpr.c
|
Index: libvirt-4.8.0/src/xenconfig/xen_sxpr.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-4.7.0.orig/src/xenconfig/xen_sxpr.c
|
--- libvirt-4.8.0.orig/src/xenconfig/xen_sxpr.c
|
||||||
+++ libvirt-4.7.0/src/xenconfig/xen_sxpr.c
|
+++ libvirt-4.8.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 */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user