Accepting request 737172 from Virtualization

OBS-URL: https://build.opensuse.org/request/show/737172
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libvirt?expand=0&rev=290
This commit is contained in:
Dominique Leuenberger 2019-10-22 13:38:11 +00:00 committed by Git OBS Bridge
commit 67ebd5518b
30 changed files with 294 additions and 438 deletions

View File

@ -18,11 +18,11 @@ them.
create mode 100644 src/conf/domain_stats.c
create mode 100644 src/conf/domain_stats.h
Index: libvirt-5.7.0/src/conf/domain_stats.c
Index: libvirt-5.8.0/src/conf/domain_stats.c
===================================================================
--- /dev/null
+++ libvirt-5.7.0/src/conf/domain_stats.c
@@ -0,0 +1,139 @@
+++ libvirt-5.8.0/src/conf/domain_stats.c
@@ -0,0 +1,119 @@
+/*
+ * domain_stats.c: domain stats extraction helpers
+ *
@ -63,52 +63,34 @@ Index: libvirt-5.7.0/src/conf/domain_stats.c
+
+int
+virDomainStatsGetState(virDomainObjPtr dom,
+ virDomainStatsRecordPtr record,
+ int *maxparams)
+ virTypedParamListPtr params)
+{
+ if (virTypedParamsAddInt(&record->params,
+ &record->nparams,
+ maxparams,
+ "state.state",
+ dom->state.state) < 0)
+ if (virTypedParamListAddInt(params, dom->state.state, "state.state") < 0)
+ return -1;
+
+ if (virTypedParamsAddInt(&record->params,
+ &record->nparams,
+ maxparams,
+ "state.reason",
+ dom->state.reason) < 0)
+ if (virTypedParamListAddInt(params, dom->state.reason, "state.reason") < 0)
+ return -1;
+
+ return 0;
+}
+
+#define STATS_ADD_NET_PARAM(record, maxparams, num, name, value) \
+do { \
+ char param_name[VIR_TYPED_PARAM_FIELD_LENGTH]; \
+ snprintf(param_name, VIR_TYPED_PARAM_FIELD_LENGTH, \
+ "net.%zu.%s", num, name); \
+ if (value >= 0 && virTypedParamsAddULLong(&(record)->params, \
+ &(record)->nparams, \
+ maxparams, \
+ param_name, \
+ value) < 0) \
+ return -1; \
+} while (0)
+#define STATS_ADD_NET_PARAM(params, num, name, value) \
+ if (value >= 0 && \
+ virTypedParamListAddULLong((params), (value), "net.%zu.%s", (num), (name)) < 0) \
+ return -1;
+
+int
+virDomainStatsGetInterface(virDomainObjPtr dom,
+ virDomainStatsRecordPtr record,
+ int *maxparams)
+ virTypedParamListPtr params)
+{
+ size_t i;
+ struct _virDomainInterfaceStats tmp;
+ int ret = -1;
+
+ if (!virDomainObjIsActive(dom))
+ return 0;
+
+ VIR_DOMAIN_STATS_ADD_COUNT_PARAM(record, maxparams, "net", dom->def->nnets);
+ if (virTypedParamListAddUInt(params, dom->def->nnets, "net.count") < 0)
+ return -1;
+
+ /* Check the path is one of the domain's network interfaces. */
+ for (i = 0; i < dom->def->nnets; i++) {
@ -122,8 +104,8 @@ Index: libvirt-5.7.0/src/conf/domain_stats.c
+
+ actualType = virDomainNetGetActualType(net);
+
+ VIR_DOMAIN_STATS_ADD_NAME_PARAM(record, maxparams,
+ "net", "name", i, net->ifname);
+ if (virTypedParamListAddString(params, net->ifname, "net.%zu.name", i) < 0)
+ return -1;
+
+ if (actualType == VIR_DOMAIN_NET_TYPE_VHOSTUSER) {
+ if (virNetDevOpenvswitchInterfaceStats(net->ifname, &tmp) < 0) {
@ -138,35 +120,33 @@ Index: libvirt-5.7.0/src/conf/domain_stats.c
+ }
+ }
+
+ STATS_ADD_NET_PARAM(record, maxparams, i,
+ "rx.bytes", tmp.rx_bytes);
+ STATS_ADD_NET_PARAM(record, maxparams, i,
+ "rx.pkts", tmp.rx_packets);
+ STATS_ADD_NET_PARAM(record, maxparams, i,
+ "rx.errs", tmp.rx_errs);
+ STATS_ADD_NET_PARAM(record, maxparams, i,
+ "rx.drop", tmp.rx_drop);
+ STATS_ADD_NET_PARAM(record, maxparams, i,
+ "tx.bytes", tmp.tx_bytes);
+ STATS_ADD_NET_PARAM(record, maxparams, i,
+ "tx.pkts", tmp.tx_packets);
+ STATS_ADD_NET_PARAM(record, maxparams, i,
+ "tx.errs", tmp.tx_errs);
+ STATS_ADD_NET_PARAM(record, maxparams, i,
+ "tx.drop", tmp.tx_drop);
+ STATS_ADD_NET_PARAM(params, i,
+ "rx.bytes", tmp.rx_bytes);
+ STATS_ADD_NET_PARAM(params, i,
+ "rx.pkts", tmp.rx_packets);
+ STATS_ADD_NET_PARAM(params, i,
+ "rx.errs", tmp.rx_errs);
+ STATS_ADD_NET_PARAM(params, i,
+ "rx.drop", tmp.rx_drop);
+ STATS_ADD_NET_PARAM(params, i,
+ "tx.bytes", tmp.tx_bytes);
+ STATS_ADD_NET_PARAM(params, i,
+ "tx.pkts", tmp.tx_packets);
+ STATS_ADD_NET_PARAM(params, i,
+ "tx.errs", tmp.tx_errs);
+ STATS_ADD_NET_PARAM(params, i,
+ "tx.drop", tmp.tx_drop);
+ }
+
+ ret = 0;
+ cleanup:
+ return ret;
+ return 0;
+}
+
+#undef STATS_ADD_NET_PARAM
Index: libvirt-5.7.0/src/conf/domain_stats.h
Index: libvirt-5.8.0/src/conf/domain_stats.h
===================================================================
--- /dev/null
+++ libvirt-5.7.0/src/conf/domain_stats.h
@@ -0,0 +1,64 @@
+++ libvirt-5.8.0/src/conf/domain_stats.h
@@ -0,0 +1,62 @@
+/*
+ * domain_stats.h: domain stats extraction helpers
+ *
@ -223,19 +203,17 @@ Index: libvirt-5.7.0/src/conf/domain_stats.h
+} while (0)
+
+int virDomainStatsGetState(virDomainObjPtr dom,
+ virDomainStatsRecordPtr record,
+ int *maxparams);
+ virTypedParamListPtr params);
+
+int virDomainStatsGetInterface(virDomainObjPtr dom,
+ virDomainStatsRecordPtr record,
+ int *maxparams);
+ virTypedParamListPtr params);
+
+#endif /* __DOMAIN_STATS_H */
Index: libvirt-5.7.0/src/libvirt_private.syms
Index: libvirt-5.8.0/src/libvirt_private.syms
===================================================================
--- libvirt-5.7.0.orig/src/libvirt_private.syms
+++ libvirt-5.7.0/src/libvirt_private.syms
@@ -695,6 +695,9 @@ virDomainConfNWFilterInstantiate;
--- libvirt-5.8.0.orig/src/libvirt_private.syms
+++ libvirt-5.8.0/src/libvirt_private.syms
@@ -697,6 +697,9 @@ virDomainConfNWFilterInstantiate;
virDomainConfNWFilterTeardown;
virDomainConfVMNWFilterTeardown;
@ -253,10 +231,10 @@ Index: libvirt-5.7.0/src/libvirt_private.syms
virCgroupHasController;
virCgroupHasEmptyTasks;
virCgroupKillPainfully;
Index: libvirt-5.7.0/src/qemu/qemu_driver.c
Index: libvirt-5.8.0/src/qemu/qemu_driver.c
===================================================================
--- libvirt-5.7.0.orig/src/qemu/qemu_driver.c
+++ libvirt-5.7.0/src/qemu/qemu_driver.c
--- libvirt-5.8.0.orig/src/qemu/qemu_driver.c
+++ libvirt-5.8.0/src/qemu/qemu_driver.c
@@ -67,6 +67,7 @@
#include "virarptable.h"
#include "viruuid.h"
@ -265,115 +243,53 @@ Index: libvirt-5.7.0/src/qemu/qemu_driver.c
#include "domain_audit.h"
#include "node_device_conf.h"
#include "virpci.h"
@@ -20767,21 +20768,7 @@ qemuDomainGetStatsState(virQEMUDriverPtr
int *maxparams,
@@ -20451,13 +20452,7 @@ qemuDomainGetStatsState(virQEMUDriverPtr
virTypedParamListPtr params,
unsigned int privflags ATTRIBUTE_UNUSED)
{
- if (virTypedParamsAddInt(&record->params,
- &record->nparams,
- maxparams,
- "state.state",
- dom->state.state) < 0)
- if (virTypedParamListAddInt(params, dom->state.state, "state.state") < 0)
- return -1;
-
- if (virTypedParamsAddInt(&record->params,
- &record->nparams,
- maxparams,
- "state.reason",
- dom->state.reason) < 0)
- if (virTypedParamListAddInt(params, dom->state.reason, "state.reason") < 0)
- return -1;
-
- return 0;
+ return virDomainStatsGetState(dom, record, maxparams);
+ return virDomainStatsGetState(dom, params);
}
@@ -20998,37 +20985,7 @@ qemuDomainGetStatsCpuCgroup(virDomainObj
int *maxparams)
{
qemuDomainObjPrivatePtr priv = dom->privateData;
- unsigned long long cpu_time = 0;
- unsigned long long user_time = 0;
- unsigned long long sys_time = 0;
- int err = 0;
-
- if (!priv->cgroup)
- return 0;
-
@@ -20659,17 +20654,7 @@ qemuDomainGetStatsCpuCgroup(virDomainObj
if (!priv->cgroup)
return 0;
- err = virCgroupGetCpuacctUsage(priv->cgroup, &cpu_time);
- if (!err && virTypedParamsAddULLong(&record->params,
- &record->nparams,
- maxparams,
- "cpu.time",
- cpu_time) < 0)
- if (!err && virTypedParamListAddULLong(params, cpu_time, "cpu.time") < 0)
- return -1;
-
- err = virCgroupGetCpuacctStat(priv->cgroup, &user_time, &sys_time);
- if (!err && virTypedParamsAddULLong(&record->params,
- &record->nparams,
- maxparams,
- "cpu.user",
- user_time) < 0)
- if (!err && virTypedParamListAddULLong(params, user_time, "cpu.user") < 0)
- return -1;
- if (!err && virTypedParamsAddULLong(&record->params,
- &record->nparams,
- maxparams,
- "cpu.system",
- sys_time) < 0)
- if (!err && virTypedParamListAddULLong(params, sys_time, "cpu.system") < 0)
- return -1;
-
- return 0;
+ return virCgroupGetStatsCpu(priv->cgroup, record, maxparams);
+ return virCgroupGetStatsCpu(priv->cgroup, params);
}
@@ -21224,44 +21181,6 @@ qemuDomainGetStatsVcpu(virQEMUDriverPtr
@@ -20827,79 +20812,15 @@ qemuDomainGetStatsVcpu(virQEMUDriverPtr
return ret;
}
-#define QEMU_ADD_COUNT_PARAM(record, maxparams, type, count) \
-do { \
- char param_name[VIR_TYPED_PARAM_FIELD_LENGTH]; \
- snprintf(param_name, VIR_TYPED_PARAM_FIELD_LENGTH, "%s.count", type); \
- if (virTypedParamsAddUInt(&(record)->params, \
- &(record)->nparams, \
- maxparams, \
- param_name, \
- count) < 0) \
- goto cleanup; \
-} while (0)
-
-#define QEMU_ADD_NAME_PARAM(record, maxparams, type, subtype, num, name) \
-do { \
- char param_name[VIR_TYPED_PARAM_FIELD_LENGTH]; \
- snprintf(param_name, VIR_TYPED_PARAM_FIELD_LENGTH, \
- "%s.%zu.%s", type, num, subtype); \
- if (virTypedParamsAddString(&(record)->params, \
- &(record)->nparams, \
- maxparams, \
- param_name, \
- name) < 0) \
- goto cleanup; \
-} while (0)
-
-#define QEMU_ADD_NET_PARAM(record, maxparams, num, name, value) \
-do { \
- char param_name[VIR_TYPED_PARAM_FIELD_LENGTH]; \
- snprintf(param_name, VIR_TYPED_PARAM_FIELD_LENGTH, \
- "net.%zu.%s", num, name); \
- if (value >= 0 && virTypedParamsAddULLong(&(record)->params, \
- &(record)->nparams, \
- maxparams, \
- param_name, \
- value) < 0) \
- return -1; \
-} while (0)
-#define QEMU_ADD_NET_PARAM(params, num, name, value) \
- if (value >= 0 && \
- virTypedParamListAddULLong((params), (value), "net.%zu.%s", (num), (name)) < 0) \
- return -1;
-
static int
qemuDomainGetStatsInterface(virQEMUDriverPtr driver ATTRIBUTE_UNUSED,
virDomainObjPtr dom,
@@ -21269,68 +21188,9 @@ qemuDomainGetStatsInterface(virQEMUDrive
int *maxparams,
virTypedParamListPtr params,
unsigned int privflags ATTRIBUTE_UNUSED)
{
- size_t i;
@ -383,7 +299,8 @@ Index: libvirt-5.7.0/src/qemu/qemu_driver.c
- if (!virDomainObjIsActive(dom))
- return 0;
-
- QEMU_ADD_COUNT_PARAM(record, maxparams, "net", dom->def->nnets);
- if (virTypedParamListAddUInt(params, dom->def->nnets, "net.count") < 0)
- goto cleanup;
-
- /* Check the path is one of the domain's network interfaces. */
- for (i = 0; i < dom->def->nnets; i++) {
@ -397,8 +314,8 @@ Index: libvirt-5.7.0/src/qemu/qemu_driver.c
-
- actualType = virDomainNetGetActualType(net);
-
- QEMU_ADD_NAME_PARAM(record, maxparams,
- "net", "name", i, net->ifname);
- if (virTypedParamListAddString(params, net->ifname, "net.%zu.name", i) < 0)
- goto cleanup;
-
- if (actualType == VIR_DOMAIN_NET_TYPE_VHOSTUSER) {
- if (virNetDevOpenvswitchInterfaceStats(net->ifname, &tmp) < 0) {
@ -413,96 +330,45 @@ Index: libvirt-5.7.0/src/qemu/qemu_driver.c
- }
- }
-
- QEMU_ADD_NET_PARAM(record, maxparams, i,
- QEMU_ADD_NET_PARAM(params, i,
- "rx.bytes", tmp.rx_bytes);
- QEMU_ADD_NET_PARAM(record, maxparams, i,
- QEMU_ADD_NET_PARAM(params, i,
- "rx.pkts", tmp.rx_packets);
- QEMU_ADD_NET_PARAM(record, maxparams, i,
- QEMU_ADD_NET_PARAM(params, i,
- "rx.errs", tmp.rx_errs);
- QEMU_ADD_NET_PARAM(record, maxparams, i,
- QEMU_ADD_NET_PARAM(params, i,
- "rx.drop", tmp.rx_drop);
- QEMU_ADD_NET_PARAM(record, maxparams, i,
- QEMU_ADD_NET_PARAM(params, i,
- "tx.bytes", tmp.tx_bytes);
- QEMU_ADD_NET_PARAM(record, maxparams, i,
- QEMU_ADD_NET_PARAM(params, i,
- "tx.pkts", tmp.tx_packets);
- QEMU_ADD_NET_PARAM(record, maxparams, i,
- QEMU_ADD_NET_PARAM(params, i,
- "tx.errs", tmp.tx_errs);
- QEMU_ADD_NET_PARAM(record, maxparams, i,
- QEMU_ADD_NET_PARAM(params, i,
- "tx.drop", tmp.tx_drop);
- }
-
- ret = 0;
- cleanup:
- return ret;
+ return virDomainStatsGetInterface(dom, record, maxparams);
+ return virDomainStatsGetInterface(dom,params);
}
-#undef QEMU_ADD_NET_PARAM
-
#define QEMU_ADD_BLOCK_PARAM_UI(record, maxparams, num, name, value) \
do { \
char param_name[VIR_TYPED_PARAM_FIELD_LENGTH]; \
@@ -21560,10 +21420,10 @@ qemuDomainGetStatsBlockExportHeader(virD
{
int ret = -1;
- QEMU_ADD_NAME_PARAM(records, nrecords, "block", "name", recordnr, disk->dst);
+ VIR_DOMAIN_STATS_ADD_NAME_PARAM(records, nrecords, "block", "name", recordnr, disk->dst);
if (virStorageSourceIsLocalStorage(src) && src->path)
- QEMU_ADD_NAME_PARAM(records, nrecords, "block", "path", recordnr, src->path);
+ VIR_DOMAIN_STATS_ADD_NAME_PARAM(records, nrecords, "block", "path", recordnr, src->path);
if (src->id)
QEMU_ADD_BLOCK_PARAM_UI(records, nrecords, recordnr, "backingIndex",
src->id);
@@ -21717,7 +21577,7 @@ qemuDomainGetStatsBlock(virQEMUDriverPtr
* after the iteration than it is to iterate twice; but we still
* want count listed first. */
count_index = record->nparams;
- QEMU_ADD_COUNT_PARAM(record, maxparams, "block", 0);
+ VIR_DOMAIN_STATS_ADD_COUNT_PARAM(record, maxparams, "block", 0);
for (i = 0; i < dom->def->ndisks; i++) {
if (qemuDomainGetStatsBlockExportDisk(dom->def->disks[i], stats, nodestats,
@@ -21742,8 +21602,6 @@ qemuDomainGetStatsBlock(virQEMUDriverPtr
#undef QEMU_ADD_BLOCK_PARAM_ULL
-#undef QEMU_ADD_NAME_PARAM
-
#define QEMU_ADD_IOTHREAD_PARAM_UI(record, maxparams, id, name, value) \
do { \
char param_name[VIR_TYPED_PARAM_FIELD_LENGTH]; \
@@ -21795,7 +21653,7 @@ qemuDomainGetStatsIOThread(virQEMUDriver
if (niothreads == 0)
return 0;
- QEMU_ADD_COUNT_PARAM(record, maxparams, "iothread", niothreads);
+ VIR_DOMAIN_STATS_ADD_COUNT_PARAM(record, maxparams, "iothread", niothreads);
for (i = 0; i < niothreads; i++) {
if (iothreads[i]->poll_valid) {
@@ -21828,8 +21686,6 @@ qemuDomainGetStatsIOThread(virQEMUDriver
#undef QEMU_ADD_IOTHREAD_PARAM_ULL
-#undef QEMU_ADD_COUNT_PARAM
-
/* refresh information by opening images on the disk */
static int
qemuDomainGetStatsPerfOneEvent(virPerfPtr perf,
virPerfEventType type,
Index: libvirt-5.7.0/src/util/vircgroup.c
Index: libvirt-5.8.0/src/util/vircgroup.c
===================================================================
--- libvirt-5.7.0.orig/src/util/vircgroup.c
+++ libvirt-5.7.0/src/util/vircgroup.c
@@ -2791,6 +2791,44 @@ virCgroupControllerAvailable(int control
--- libvirt-5.8.0.orig/src/util/vircgroup.c
+++ libvirt-5.8.0/src/util/vircgroup.c
@@ -2792,6 +2792,31 @@ virCgroupControllerAvailable(int control
return ret;
}
+int
+virCgroupGetStatsCpu(virCgroupPtr cgroup,
+ virDomainStatsRecordPtr record,
+ int *maxparams)
+ virTypedParamListPtr params)
+{
+ unsigned long long cpu_time = 0;
+ unsigned long long user_time = 0;
@ -513,25 +379,13 @@ Index: libvirt-5.7.0/src/util/vircgroup.c
+ return 0;
+
+ err = virCgroupGetCpuacctUsage(cgroup, &cpu_time);
+ if (!err && virTypedParamsAddULLong(&record->params,
+ &record->nparams,
+ maxparams,
+ "cpu.time",
+ cpu_time) < 0)
+ if (!err && virTypedParamListAddULLong(params, cpu_time, "cpu.time") < 0)
+ return -1;
+
+ err = virCgroupGetCpuacctStat(cgroup, &user_time, &sys_time);
+ if (!err && virTypedParamsAddULLong(&record->params,
+ &record->nparams,
+ maxparams,
+ "cpu.user",
+ user_time) < 0)
+ if (!err && virTypedParamListAddULLong(params, user_time, "cpu.user") < 0)
+ return -1;
+ if (!err && virTypedParamsAddULLong(&record->params,
+ &record->nparams,
+ maxparams,
+ "cpu.system",
+ sys_time) < 0)
+ if (!err && virTypedParamListAddULLong(params, sys_time, "cpu.system") < 0)
+ return -1;
+
+ return 0;
@ -540,14 +394,13 @@ Index: libvirt-5.7.0/src/util/vircgroup.c
#else /* !__linux__ */
bool
@@ -2800,6 +2838,15 @@ virCgroupAvailable(void)
@@ -2801,6 +2826,14 @@ virCgroupAvailable(void)
}
+int
+virCgroupGetStatsCpu(virCgroupPtr cgroup,
+ virDomainStatsRecordPtr record,
+ int *maxparams)
+ virTypedParamListPtr params)
+{
+ return 0;
+}
@ -556,22 +409,29 @@ Index: libvirt-5.7.0/src/util/vircgroup.c
int
virCgroupNewPartition(const char *path ATTRIBUTE_UNUSED,
bool create ATTRIBUTE_UNUSED,
Index: libvirt-5.7.0/src/util/vircgroup.h
Index: libvirt-5.8.0/src/util/vircgroup.h
===================================================================
--- libvirt-5.7.0.orig/src/util/vircgroup.h
+++ libvirt-5.7.0/src/util/vircgroup.h
@@ -285,3 +285,7 @@ int virCgroupSetOwner(virCgroupPtr cgrou
--- libvirt-5.8.0.orig/src/util/vircgroup.h
+++ libvirt-5.8.0/src/util/vircgroup.h
@@ -24,6 +24,7 @@
#include "virutil.h"
#include "virbitmap.h"
#include "virenum.h"
+#include "virtypedparam.h"
struct _virCgroup;
typedef struct _virCgroup virCgroup;
@@ -285,3 +286,6 @@ int virCgroupSetOwner(virCgroupPtr cgrou
int virCgroupHasEmptyTasks(virCgroupPtr cgroup, int controller);
bool virCgroupControllerAvailable(int controller);
+
+int virCgroupGetStatsCpu(virCgroupPtr cgroup,
+ virDomainStatsRecordPtr record,
+ int *maxparams);
Index: libvirt-5.7.0/src/conf/Makefile.inc.am
+ virTypedParamListPtr params);
Index: libvirt-5.8.0/src/conf/Makefile.inc.am
===================================================================
--- libvirt-5.7.0.orig/src/conf/Makefile.inc.am
+++ libvirt-5.7.0/src/conf/Makefile.inc.am
--- libvirt-5.8.0.orig/src/conf/Makefile.inc.am
+++ libvirt-5.8.0/src/conf/Makefile.inc.am
@@ -26,6 +26,8 @@ DOMAIN_CONF_SOURCES = \
conf/domain_audit.h \
conf/domain_nwfilter.c \

View File

@ -19,11 +19,11 @@ reworking this patch and submitting it to upstream libvirt.
src/libxl/libxl_driver.c | 91 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 91 insertions(+)
Index: libvirt-5.7.0/src/libxl/libxl_driver.c
Index: libvirt-5.8.0/src/libxl/libxl_driver.c
===================================================================
--- libvirt-5.7.0.orig/src/libxl/libxl_driver.c
+++ libvirt-5.7.0/src/libxl/libxl_driver.c
@@ -5290,6 +5290,97 @@ libxlDomainMemoryStats(virDomainPtr dom,
--- libvirt-5.8.0.orig/src/libxl/libxl_driver.c
+++ libvirt-5.8.0/src/libxl/libxl_driver.c
@@ -5289,6 +5289,97 @@ libxlDomainMemoryStats(virDomainPtr dom,
#undef LIBXL_SET_MEMSTAT
@ -121,7 +121,7 @@ Index: libvirt-5.7.0/src/libxl/libxl_driver.c
static int
libxlDomainGetJobInfo(virDomainPtr dom,
virDomainJobInfoPtr info)
@@ -6738,6 +6829,7 @@ static virHypervisorDriver libxlHypervis
@@ -6737,6 +6828,7 @@ static virHypervisorDriver libxlHypervis
#endif
.nodeGetFreeMemory = libxlNodeGetFreeMemory, /* 0.9.0 */
.nodeGetCellsFreeMemory = libxlNodeGetCellsFreeMemory, /* 1.1.1 */

View File

@ -9,10 +9,10 @@ them using the existing API.
src/lxc/lxc_driver.c | 138 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 138 insertions(+)
Index: libvirt-5.7.0/src/lxc/lxc_driver.c
Index: libvirt-5.8.0/src/lxc/lxc_driver.c
===================================================================
--- libvirt-5.7.0.orig/src/lxc/lxc_driver.c
+++ libvirt-5.7.0/src/lxc/lxc_driver.c
--- libvirt-5.8.0.orig/src/lxc/lxc_driver.c
+++ libvirt-5.8.0/src/lxc/lxc_driver.c
@@ -75,6 +75,7 @@
#include "viraccessapichecklxc.h"
#include "virhostdev.h"
@ -21,23 +21,22 @@ Index: libvirt-5.7.0/src/lxc/lxc_driver.c
#define VIR_FROM_THIS VIR_FROM_LXC
@@ -5402,6 +5403,142 @@ lxcDomainHasManagedSaveImage(virDomainPt
@@ -5404,6 +5405,135 @@ lxcDomainHasManagedSaveImage(virDomainPt
return ret;
}
+static int
+lxcDomainGetStatsCpu(virDomainObjPtr dom,
+ virDomainStatsRecordPtr record,
+ int *maxparams)
+ virTypedParamListPtr params)
+{
+ virLXCDomainObjPrivatePtr priv = dom->privateData;
+ return virCgroupGetStatsCpu(priv->cgroup, record, maxparams);
+ return virCgroupGetStatsCpu(priv->cgroup, params);
+}
+
+typedef int
+(*lxcDomainGetStatsFunc)(virDomainObjPtr dom,
+ virDomainStatsRecordPtr record,
+ int *maxparams);
+ virTypedParamListPtr params);
+
+
+struct lxcDomainGetStatsWorker {
+ lxcDomainGetStatsFunc func;
@ -57,36 +56,30 @@ Index: libvirt-5.7.0/src/lxc/lxc_driver.c
+ unsigned int stats,
+ virDomainStatsRecordPtr *record)
+{
+ int maxparams = 0;
+ virDomainStatsRecordPtr tmp;
+ VIR_AUTOFREE(virDomainStatsRecordPtr) tmp = NULL;
+ VIR_AUTOPTR(virTypedParamList) params = NULL;
+ size_t i;
+ int ret = -1;
+
+ if (VIR_ALLOC(tmp) < 0)
+ goto cleanup;
+ if (VIR_ALLOC(params) < 0)
+ return -1;
+
+ for (i = 0; lxcDomainGetStatsWorkers[i].func; i++) {
+ if (stats & lxcDomainGetStatsWorkers[i].stats) {
+ if (lxcDomainGetStatsWorkers[i].func(dom, tmp, &maxparams) < 0)
+ goto cleanup;
+ if (lxcDomainGetStatsWorkers[i].func(dom, params) < 0)
+ return -1;
+ }
+ }
+
+ if (VIR_ALLOC(tmp) < 0)
+ return -1;
+
+ if (!(tmp->dom = virGetDomain(conn, dom->def->name,
+ dom->def->uuid, dom->def->id)))
+ goto cleanup;
+ return -1;
+
+ *record = tmp;
+ tmp = NULL;
+ ret = 0;
+
+ cleanup:
+ if (tmp) {
+ virTypedParamsFree(tmp->params, tmp->nparams);
+ VIR_FREE(tmp);
+ }
+
+ return ret;
+ tmp->nparams = virTypedParamListStealParams(params, &tmp->params);
+ VIR_STEAL_PTR(*record, tmp);
+ return 0;
+}
+
+static int
@ -164,7 +157,7 @@ Index: libvirt-5.7.0/src/lxc/lxc_driver.c
/* Function Tables */
static virHypervisorDriver lxcHypervisorDriver = {
@@ -5497,6 +5634,7 @@ static virHypervisorDriver lxcHypervisor
@@ -5499,6 +5629,7 @@ static virHypervisorDriver lxcHypervisor
.nodeGetFreePages = lxcNodeGetFreePages, /* 1.2.6 */
.nodeAllocPages = lxcNodeAllocPages, /* 1.2.9 */
.domainHasManagedSaveImage = lxcDomainHasManagedSaveImage, /* 1.2.13 */

View File

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

View File

@ -1,11 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQEzBAABCAAdFiEE20ZoG7ka3OoXD6LUFViLJllr6l0FAl1uhdgACgkQFViLJllr
6l0KNQgAlGxX8floI0ZHRtgeqe2mLE548yVnQBz7OHFsFDPSn3DdnLB3vMXe77iP
Bp7T3T7a7O6UqRvrYvcHsFP/UaNQcMvxdljB2M+QNifFRVS/Qbg2M3QZV65xsIaX
EhxmxX4lzIufNu0jUpVUq31kSzgIszzCZBR4UxjE5NB1uD88EbRwEcGFwnVHiPVx
ARUyamKZkT/ugptqRcrM6rC2wwEdXXWa4COGXXVXCJh3UefQyqyxk+iyMtsC0Qde
J5buwnrTwSdRRBZTL90t4c1bcZ130zqrDMvWPGywZ3KAgyk8BVbycqPBtnI4kAvZ
XPfoRg1qn6ppnfuH6aVF2osQ9MkPqg==
=YxDo
-----END PGP SIGNATURE-----

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

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

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

@ -0,0 +1,11 @@
-----BEGIN PGP SIGNATURE-----
iQEzBAABCAAdFiEE20ZoG7ka3OoXD6LUFViLJllr6l0FAl2YSzwACgkQFViLJllr
6l3vqwf/TdeKwVlG7R5gi+A013LqGM/oVyoIIBeFdoqTR/ei9Kg/glZhU/9Gjdmo
szRZ5Qi8rwD6UvFkhX1ZhCybbB5neHR5hhC4og/gvM4Ly7gLC8wwNYLw0QnCTjpm
BDDcGP46FYZA/F9a2BpsPd1iaDz+v4G2UAXPtB1QAm0FwZnWaP1Z3y8UGk6naH4o
yRO9DnJ8Mx3XF9MuBN5aCUgf+bm6F6k4s3/xWLRU3qfAP2SGfeVOqsWykPCOiVm+
7HoczIzn1ssyi9pRIkhn7w43Fe3qvamCOpO3Z67r9tvbljw12CUkjUM0DsErSwtz
e1/kR/vuYtHvPqZM513kBa1VuKovPg==
=m3we
-----END PGP SIGNATURE-----

View File

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

View File

@ -1,7 +1,7 @@
Index: libvirt-5.7.0/configure.ac
Index: libvirt-5.8.0/configure.ac
===================================================================
--- libvirt-5.7.0.orig/configure.ac
+++ libvirt-5.7.0/configure.ac
--- libvirt-5.8.0.orig/configure.ac
+++ libvirt-5.8.0/configure.ac
@@ -285,6 +285,7 @@ LIBVIRT_ARG_LIBSSH
LIBVIRT_ARG_LIBXML
LIBVIRT_ARG_MACVTAP
@ -18,7 +18,7 @@ Index: libvirt-5.7.0/configure.ac
LIBVIRT_CHECK_NLS
LIBVIRT_CHECK_NUMACTL
LIBVIRT_CHECK_NWFILTER
@@ -1025,6 +1027,7 @@ LIBVIRT_RESULT_LIBXL
@@ -1018,6 +1020,7 @@ LIBVIRT_RESULT_LIBXL
LIBVIRT_RESULT_LIBXML
LIBVIRT_RESULT_MACVTAP
LIBVIRT_RESULT_NETCF
@ -26,11 +26,11 @@ Index: libvirt-5.7.0/configure.ac
LIBVIRT_RESULT_NLS
LIBVIRT_RESULT_NSS
LIBVIRT_RESULT_NUMACTL
Index: libvirt-5.7.0/tools/virsh.c
Index: libvirt-5.8.0/tools/virsh.c
===================================================================
--- libvirt-5.7.0.orig/tools/virsh.c
+++ libvirt-5.7.0/tools/virsh.c
@@ -561,6 +561,8 @@ virshShowVersion(vshControl *ctl ATTRIBU
--- libvirt-5.8.0.orig/tools/virsh.c
+++ libvirt-5.8.0/tools/virsh.c
@@ -558,6 +558,8 @@ virshShowVersion(vshControl *ctl ATTRIBU
vshPrint(ctl, " Interface");
# if defined(WITH_NETCF)
vshPrint(ctl, " netcf");
@ -39,10 +39,10 @@ Index: libvirt-5.7.0/tools/virsh.c
# elif defined(WITH_UDEV)
vshPrint(ctl, " udev");
# endif
Index: libvirt-5.7.0/src/interface/interface_backend_netcf.c
Index: libvirt-5.8.0/src/interface/interface_backend_netcf.c
===================================================================
--- libvirt-5.7.0.orig/src/interface/interface_backend_netcf.c
+++ libvirt-5.7.0/src/interface/interface_backend_netcf.c
--- libvirt-5.8.0.orig/src/interface/interface_backend_netcf.c
+++ libvirt-5.8.0/src/interface/interface_backend_netcf.c
@@ -21,7 +21,12 @@
#include <config.h>
@ -106,7 +106,7 @@ Index: libvirt-5.7.0/src/interface/interface_backend_netcf.c
/* open netcf */
if (ncf_init(&driver->netcf, NULL) != 0) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
@@ -1262,6 +1302,19 @@ static virStateDriver interfaceStateDriv
@@ -1251,6 +1291,19 @@ static virStateDriver interfaceStateDriv
int netcfIfaceRegister(void)
{
@ -126,10 +126,10 @@ Index: libvirt-5.7.0/src/interface/interface_backend_netcf.c
if (virRegisterConnectDriver(&interfaceConnectDriver, false) < 0)
return -1;
if (virSetSharedInterfaceDriver(&interfaceDriver) < 0)
Index: libvirt-5.7.0/src/interface/interface_driver.c
Index: libvirt-5.8.0/src/interface/interface_driver.c
===================================================================
--- libvirt-5.7.0.orig/src/interface/interface_driver.c
+++ libvirt-5.7.0/src/interface/interface_driver.c
--- libvirt-5.8.0.orig/src/interface/interface_driver.c
+++ libvirt-5.8.0/src/interface/interface_driver.c
@@ -30,8 +30,15 @@ interfaceRegister(void)
if (netcfIfaceRegister() == 0)
return 0;
@ -147,10 +147,10 @@ Index: libvirt-5.7.0/src/interface/interface_driver.c
if (udevIfaceRegister() == 0)
return 0;
#endif /* WITH_UDEV */
Index: libvirt-5.7.0/m4/virt-netcontrol.m4
Index: libvirt-5.8.0/m4/virt-netcontrol.m4
===================================================================
--- /dev/null
+++ libvirt-5.7.0/m4/virt-netcontrol.m4
+++ libvirt-5.8.0/m4/virt-netcontrol.m4
@@ -0,0 +1,39 @@
+dnl The libnetcontrol library
+dnl
@ -191,10 +191,10 @@ Index: libvirt-5.7.0/m4/virt-netcontrol.m4
+AC_DEFUN([LIBVIRT_RESULT_NETCONTROL],[
+ LIBVIRT_RESULT_LIB([NETCONTROL])
+])
Index: libvirt-5.7.0/src/interface/Makefile.inc.am
Index: libvirt-5.8.0/src/interface/Makefile.inc.am
===================================================================
--- libvirt-5.7.0.orig/src/interface/Makefile.inc.am
+++ libvirt-5.7.0/src/interface/Makefile.inc.am
--- libvirt-5.8.0.orig/src/interface/Makefile.inc.am
+++ libvirt-5.8.0/src/interface/Makefile.inc.am
@@ -6,6 +6,7 @@ INTERFACE_DRIVER_SOURCES = \
$(NULL)

View File

@ -1,3 +1,11 @@
-------------------------------------------------------------------
Tue Oct 8 17:07:03 UTC 2019 - James Fehlig <jfehlig@suse.com>
- Update to libvirt 5.8.0
- bsc#1149100
- Many incremental improvements and bug fixes, see
https://libvirt.org/news.html
-------------------------------------------------------------------
Thu Sep 5 22:21:03 UTC 2019 - James Fehlig <jfehlig@suse.com>

View File

@ -183,7 +183,7 @@
Name: libvirt
Url: http://libvirt.org/
Version: 5.7.0
Version: 5.8.0
Release: 0
Summary: Library providing a virtualization API
License: LGPL-2.1-or-later
@ -1034,7 +1034,6 @@ export PYTHON=%{_bindir}/python3
%{?arg_esx} \
%{?arg_hyperv} \
%{?arg_vmware} \
--without-xenapi \
--without-vz \
--without-bhyve \
--with-remote-default-mode=legacy \
@ -1898,10 +1897,6 @@ fi
%dir %{_datadir}/doc/%{name}/examples
%doc %{_datadir}/doc/%{name}/examples/*
# API docs
%dir %{_datadir}/gtk-doc/html/%{name}/
%doc %{_datadir}/gtk-doc/html/%{name}/*
%if %{with_sanlock}
%files lock-sanlock

View File

@ -8,11 +8,11 @@ Date: Mon Jun 23 15:51:20 2014 -0600
option, but domainReset can be implemented in the libxl driver by
forcibly destroying the domain and starting it again.
Index: libvirt-5.7.0/src/libxl/libxl_driver.c
Index: libvirt-5.8.0/src/libxl/libxl_driver.c
===================================================================
--- libvirt-5.7.0.orig/src/libxl/libxl_driver.c
+++ libvirt-5.7.0/src/libxl/libxl_driver.c
@@ -1364,6 +1364,61 @@ libxlDomainReboot(virDomainPtr dom, unsi
--- libvirt-5.8.0.orig/src/libxl/libxl_driver.c
+++ libvirt-5.8.0/src/libxl/libxl_driver.c
@@ -1367,6 +1367,61 @@ libxlDomainReboot(virDomainPtr dom, unsi
}
static int
@ -74,7 +74,7 @@ Index: libvirt-5.7.0/src/libxl/libxl_driver.c
libxlDomainDestroyFlags(virDomainPtr dom,
unsigned int flags)
{
@@ -6613,6 +6668,7 @@ static virHypervisorDriver libxlHypervis
@@ -6612,6 +6667,7 @@ static virHypervisorDriver libxlHypervis
.domainShutdown = libxlDomainShutdown, /* 0.9.0 */
.domainShutdownFlags = libxlDomainShutdownFlags, /* 0.9.10 */
.domainReboot = libxlDomainReboot, /* 0.9.0 */

View File

@ -3,10 +3,10 @@ https://bugzilla.novell.com/show_bug.cgi?id=879425
src/libxl/libxl_conf.c | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
Index: libvirt-5.7.0/src/libxl/libxl_conf.c
Index: libvirt-5.8.0/src/libxl/libxl_conf.c
===================================================================
--- libvirt-5.7.0.orig/src/libxl/libxl_conf.c
+++ libvirt-5.7.0/src/libxl/libxl_conf.c
--- libvirt-5.8.0.orig/src/libxl/libxl_conf.c
+++ libvirt-5.8.0/src/libxl/libxl_conf.c
@@ -897,6 +897,30 @@ libxlDiskSetDiscard(libxl_device_disk *x
#endif
}

View File

@ -16,10 +16,10 @@ Signed-off-by: Jim Fehlig <jfehlig@suse.com>
tools/virsh.pod | 8 ++++++++
6 files changed, 125 insertions(+), 6 deletions(-)
Index: libvirt-5.7.0/include/libvirt/libvirt-domain.h
Index: libvirt-5.8.0/include/libvirt/libvirt-domain.h
===================================================================
--- libvirt-5.7.0.orig/include/libvirt/libvirt-domain.h
+++ libvirt-5.7.0/include/libvirt/libvirt-domain.h
--- libvirt-5.8.0.orig/include/libvirt/libvirt-domain.h
+++ libvirt-5.8.0/include/libvirt/libvirt-domain.h
@@ -1051,6 +1051,31 @@ typedef enum {
*/
# define VIR_MIGRATE_PARAM_PARALLEL_CONNECTIONS "parallel.connections"
@ -52,11 +52,11 @@ Index: libvirt-5.7.0/include/libvirt/libvirt-domain.h
/* Domain migration. */
virDomainPtr virDomainMigrate (virDomainPtr domain, virConnectPtr dconn,
unsigned long flags, const char *dname,
Index: libvirt-5.7.0/src/libxl/libxl_driver.c
Index: libvirt-5.8.0/src/libxl/libxl_driver.c
===================================================================
--- libvirt-5.7.0.orig/src/libxl/libxl_driver.c
+++ libvirt-5.7.0/src/libxl/libxl_driver.c
@@ -6156,6 +6156,9 @@ libxlDomainMigratePerform3Params(virDoma
--- libvirt-5.8.0.orig/src/libxl/libxl_driver.c
+++ libvirt-5.8.0/src/libxl/libxl_driver.c
@@ -6155,6 +6155,9 @@ libxlDomainMigratePerform3Params(virDoma
const char *dname = NULL;
const char *uri = NULL;
int ret = -1;
@ -66,7 +66,7 @@ Index: libvirt-5.7.0/src/libxl/libxl_driver.c
#ifdef LIBXL_HAVE_NO_SUSPEND_RESUME
virReportUnsupportedError();
@@ -6172,6 +6175,18 @@ libxlDomainMigratePerform3Params(virDoma
@@ -6171,6 +6174,18 @@ libxlDomainMigratePerform3Params(virDoma
virTypedParamsGetString(params, nparams,
VIR_MIGRATE_PARAM_DEST_NAME,
&dname) < 0 ||
@ -85,7 +85,7 @@ Index: libvirt-5.7.0/src/libxl/libxl_driver.c
virTypedParamsGetString(params, nparams,
VIR_MIGRATE_PARAM_URI,
&uri) < 0)
@@ -6186,11 +6201,11 @@ libxlDomainMigratePerform3Params(virDoma
@@ -6185,11 +6200,11 @@ libxlDomainMigratePerform3Params(virDoma
if ((flags & (VIR_MIGRATE_TUNNELLED | VIR_MIGRATE_PEER2PEER))) {
if (libxlDomainMigrationSrcPerformP2P(driver, vm, dom->conn, dom_xml,
@ -99,10 +99,10 @@ Index: libvirt-5.7.0/src/libxl/libxl_driver.c
goto cleanup;
}
Index: libvirt-5.7.0/src/libxl/libxl_migration.c
Index: libvirt-5.8.0/src/libxl/libxl_migration.c
===================================================================
--- libvirt-5.7.0.orig/src/libxl/libxl_migration.c
+++ libvirt-5.7.0/src/libxl/libxl_migration.c
--- libvirt-5.8.0.orig/src/libxl/libxl_migration.c
+++ libvirt-5.8.0/src/libxl/libxl_migration.c
@@ -342,18 +342,39 @@ libxlMigrateDstReceive(virNetSocketPtr s
static int
libxlDoMigrateSrcSend(libxlDriverPrivatePtr driver,
@ -264,10 +264,10 @@ Index: libvirt-5.7.0/src/libxl/libxl_migration.c
virObjectLock(vm);
if (ret < 0) {
Index: libvirt-5.7.0/src/libxl/libxl_migration.h
Index: libvirt-5.8.0/src/libxl/libxl_migration.h
===================================================================
--- libvirt-5.7.0.orig/src/libxl/libxl_migration.h
+++ libvirt-5.7.0/src/libxl/libxl_migration.h
--- libvirt-5.8.0.orig/src/libxl/libxl_migration.h
+++ libvirt-5.8.0/src/libxl/libxl_migration.h
@@ -35,6 +35,10 @@
VIR_MIGRATE_PARAM_URI, VIR_TYPED_PARAM_STRING, \
VIR_MIGRATE_PARAM_DEST_NAME, VIR_TYPED_PARAM_STRING, \
@ -312,11 +312,11 @@ Index: libvirt-5.7.0/src/libxl/libxl_migration.h
virDomainPtr
libxlDomainMigrationDstFinish(virConnectPtr dconn,
Index: libvirt-5.7.0/tools/virsh-domain.c
Index: libvirt-5.8.0/tools/virsh-domain.c
===================================================================
--- libvirt-5.7.0.orig/tools/virsh-domain.c
+++ libvirt-5.7.0/tools/virsh-domain.c
@@ -10591,6 +10591,22 @@ static const vshCmdOptDef opts_migrate[]
--- libvirt-5.8.0.orig/tools/virsh-domain.c
+++ libvirt-5.8.0/tools/virsh-domain.c
@@ -10572,6 +10572,22 @@ static const vshCmdOptDef opts_migrate[]
.type = VSH_OT_INT,
.help = N_("migration bandwidth limit in MiB/s")
},
@ -339,7 +339,7 @@ Index: libvirt-5.7.0/tools/virsh-domain.c
{.name = NULL}
};
@@ -10614,6 +10630,7 @@ doMigrate(void *opaque)
@@ -10595,6 +10611,7 @@ doMigrate(void *opaque)
unsigned long long ullOpt = 0;
int rv;
virConnectPtr dconn = data->dconn;
@ -347,7 +347,7 @@ Index: libvirt-5.7.0/tools/virsh-domain.c
sigemptyset(&sigmask);
sigaddset(&sigmask, SIGINT);
@@ -10733,6 +10750,27 @@ doMigrate(void *opaque)
@@ -10714,6 +10731,27 @@ doMigrate(void *opaque)
goto save_error;
}
@ -375,10 +375,10 @@ Index: libvirt-5.7.0/tools/virsh-domain.c
if (vshCommandOptStringReq(ctl, cmd, "xml", &opt) < 0)
goto out;
if (opt) {
Index: libvirt-5.7.0/tools/virsh.pod
Index: libvirt-5.8.0/tools/virsh.pod
===================================================================
--- libvirt-5.7.0.orig/tools/virsh.pod
+++ libvirt-5.7.0/tools/virsh.pod
--- libvirt-5.8.0.orig/tools/virsh.pod
+++ libvirt-5.8.0/tools/virsh.pod
@@ -2254,6 +2254,14 @@ I<--parallel-connections>. Parallel conn
network link between the source and the target and thus speeding up the
migration.

View File

@ -7,10 +7,10 @@ and npiv.
For more details, see bsc#954872 and FATE#319810
Index: libvirt-5.7.0/src/libxl/libxl_conf.c
Index: libvirt-5.8.0/src/libxl/libxl_conf.c
===================================================================
--- libvirt-5.7.0.orig/src/libxl/libxl_conf.c
+++ libvirt-5.7.0/src/libxl/libxl_conf.c
--- libvirt-5.8.0.orig/src/libxl/libxl_conf.c
+++ libvirt-5.8.0/src/libxl/libxl_conf.c
@@ -897,6 +897,25 @@ libxlDiskSetDiscard(libxl_device_disk *x
#endif
}

View File

@ -13,10 +13,10 @@ device with the same name that is being created.
src/lxc/lxc_process.c | 1 +
3 files changed, 4 insertions(+)
Index: libvirt-5.7.0/src/lxc/lxc_controller.c
Index: libvirt-5.8.0/src/lxc/lxc_controller.c
===================================================================
--- libvirt-5.7.0.orig/src/lxc/lxc_controller.c
+++ libvirt-5.7.0/src/lxc/lxc_controller.c
--- libvirt-5.8.0.orig/src/lxc/lxc_controller.c
+++ libvirt-5.8.0/src/lxc/lxc_controller.c
@@ -69,6 +69,7 @@
#include "rpc/virnetdaemon.h"
#include "virstring.h"
@ -33,10 +33,10 @@ Index: libvirt-5.7.0/src/lxc/lxc_controller.c
return ret;
}
Index: libvirt-5.7.0/src/lxc/lxc_driver.c
Index: libvirt-5.8.0/src/lxc/lxc_driver.c
===================================================================
--- libvirt-5.7.0.orig/src/lxc/lxc_driver.c
+++ libvirt-5.7.0/src/lxc/lxc_driver.c
--- libvirt-5.8.0.orig/src/lxc/lxc_driver.c
+++ libvirt-5.8.0/src/lxc/lxc_driver.c
@@ -70,6 +70,7 @@
#include "virtime.h"
#include "virtypedparam.h"
@ -45,7 +45,7 @@ Index: libvirt-5.7.0/src/lxc/lxc_driver.c
#include "virstring.h"
#include "viraccessapicheck.h"
#include "viraccessapichecklxc.h"
@@ -3925,6 +3926,7 @@ lxcDomainAttachDeviceNetLive(virConnectP
@@ -3927,6 +3928,7 @@ lxcDomainAttachDeviceNetLive(virConnectP
case VIR_DOMAIN_NET_TYPE_NETWORK:
case VIR_DOMAIN_NET_TYPE_ETHERNET:
ignore_value(virNetDevVethDelete(veth));
@ -53,7 +53,7 @@ Index: libvirt-5.7.0/src/lxc/lxc_driver.c
break;
case VIR_DOMAIN_NET_TYPE_DIRECT:
@@ -4369,6 +4371,7 @@ lxcDomainDetachDeviceNetLive(virDomainOb
@@ -4371,6 +4373,7 @@ lxcDomainDetachDeviceNetLive(virDomainOb
virDomainAuditNet(vm, detach, NULL, "detach", false);
goto cleanup;
}
@ -61,10 +61,10 @@ Index: libvirt-5.7.0/src/lxc/lxc_driver.c
break;
/* It'd be nice to support this, but with macvlan
Index: libvirt-5.7.0/src/lxc/lxc_process.c
Index: libvirt-5.8.0/src/lxc/lxc_process.c
===================================================================
--- libvirt-5.7.0.orig/src/lxc/lxc_process.c
+++ libvirt-5.7.0/src/lxc/lxc_process.c
--- libvirt-5.8.0.orig/src/lxc/lxc_process.c
+++ libvirt-5.8.0/src/lxc/lxc_process.c
@@ -51,6 +51,7 @@
#include "viratomic.h"
#include "virprocess.h"

View File

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

View File

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

View File

@ -1,7 +1,7 @@
Index: libvirt-5.7.0/src/security/apparmor/libvirt-qemu
Index: libvirt-5.8.0/src/security/apparmor/libvirt-qemu
===================================================================
--- libvirt-5.7.0.orig/src/security/apparmor/libvirt-qemu
+++ libvirt-5.7.0/src/security/apparmor/libvirt-qemu
--- libvirt-5.8.0.orig/src/security/apparmor/libvirt-qemu
+++ libvirt-5.8.0/src/security/apparmor/libvirt-qemu
@@ -228,3 +228,6 @@
# required for sasl GSSAPI plugin
/etc/gss/mech.d/ r,

View File

@ -8,10 +8,10 @@ Subject: [PATCH] support managed pci devices in xen driver
src/xenxs/xen_xm.c | 28 +++++++++++++++++++++++++++-
2 files changed, 35 insertions(+), 15 deletions(-)
Index: libvirt-5.7.0/src/libxl/xen_common.c
Index: libvirt-5.8.0/src/libxl/xen_common.c
===================================================================
--- libvirt-5.7.0.orig/src/libxl/xen_common.c
+++ libvirt-5.7.0/src/libxl/xen_common.c
--- libvirt-5.8.0.orig/src/libxl/xen_common.c
+++ libvirt-5.8.0/src/libxl/xen_common.c
@@ -388,12 +388,19 @@ xenParsePCI(char *entry)
int busID;
int slotID;

View File

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

View File

@ -1,9 +1,9 @@
Adjust libvirt-guests service to conform to SUSE standards
Index: libvirt-5.7.0/tools/libvirt-guests.sh.in
Index: libvirt-5.8.0/tools/libvirt-guests.sh.in
===================================================================
--- libvirt-5.7.0.orig/tools/libvirt-guests.sh.in
+++ libvirt-5.7.0/tools/libvirt-guests.sh.in
--- libvirt-5.8.0.orig/tools/libvirt-guests.sh.in
+++ libvirt-5.8.0/tools/libvirt-guests.sh.in
@@ -16,14 +16,13 @@
# License along with this library. If not, see
# <http://www.gnu.org/licenses/>.
@ -163,10 +163,10 @@ Index: libvirt-5.7.0/tools/libvirt-guests.sh.in
esac
-exit $RETVAL
+rc_exit
Index: libvirt-5.7.0/tools/libvirt-guests.sysconf
Index: libvirt-5.8.0/tools/libvirt-guests.sysconf
===================================================================
--- libvirt-5.7.0.orig/tools/libvirt-guests.sysconf
+++ libvirt-5.7.0/tools/libvirt-guests.sysconf
--- libvirt-5.8.0.orig/tools/libvirt-guests.sysconf
+++ libvirt-5.8.0/tools/libvirt-guests.sysconf
@@ -1,19 +1,29 @@
+## Path: System/Virtualization/libvirt-guests
+

View File

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

View File

@ -1,9 +1,9 @@
Adjust libvirtd sysconfig file to conform to SUSE standards
Index: libvirt-5.7.0/src/remote/libvirtd.sysconf
Index: libvirt-5.8.0/src/remote/libvirtd.sysconf
===================================================================
--- libvirt-5.7.0.orig/src/remote/libvirtd.sysconf
+++ libvirt-5.7.0/src/remote/libvirtd.sysconf
--- libvirt-5.8.0.orig/src/remote/libvirtd.sysconf
+++ libvirt-5.8.0/src/remote/libvirtd.sysconf
@@ -1,5 +1,9 @@
+## Path: System/Virtualization/libvirt
# Customizations for the libvirtd.service systemd unit

View File

@ -6,10 +6,10 @@ autoballooning. This patch changes libvirt to also disable autoballooning
by default. It can only be enabled with the 'autoballoon' setting in
libxl.conf. See jsc#SLE-3059 for more details.
Index: libvirt-5.7.0/src/libxl/libxl.conf
Index: libvirt-5.8.0/src/libxl/libxl.conf
===================================================================
--- libvirt-5.7.0.orig/src/libxl/libxl.conf
+++ libvirt-5.7.0/src/libxl/libxl.conf
--- libvirt-5.8.0.orig/src/libxl/libxl.conf
+++ libvirt-5.8.0/src/libxl/libxl.conf
@@ -4,12 +4,11 @@
# Enable autoballooning of domain0
@ -27,10 +27,10 @@ Index: libvirt-5.7.0/src/libxl/libxl.conf
# In order to prevent accidentally starting two domains that
Index: libvirt-5.7.0/src/libxl/libxl_conf.c
Index: libvirt-5.8.0/src/libxl/libxl_conf.c
===================================================================
--- libvirt-5.7.0.orig/src/libxl/libxl_conf.c
+++ libvirt-5.7.0/src/libxl/libxl_conf.c
--- libvirt-5.8.0.orig/src/libxl/libxl_conf.c
+++ libvirt-5.8.0/src/libxl/libxl_conf.c
@@ -22,7 +22,6 @@
#include <config.h>

View File

@ -1,9 +1,9 @@
Adjust paths of OVMF firmwares on SUSE distros
Index: libvirt-5.7.0/src/qemu/qemu.conf
Index: libvirt-5.8.0/src/qemu/qemu.conf
===================================================================
--- libvirt-5.7.0.orig/src/qemu/qemu.conf
+++ libvirt-5.7.0/src/qemu/qemu.conf
--- libvirt-5.8.0.orig/src/qemu/qemu.conf
+++ libvirt-5.8.0/src/qemu/qemu.conf
@@ -796,10 +796,9 @@
# for x86_64 and i686, but it's AAVMF for aarch64. The libvirt default
# follows this scheme.
@ -18,10 +18,10 @@ Index: libvirt-5.7.0/src/qemu/qemu.conf
#]
# The backend to use for handling stdout/stderr output from
Index: libvirt-5.7.0/src/qemu/qemu_conf.c
Index: libvirt-5.8.0/src/qemu/qemu_conf.c
===================================================================
--- libvirt-5.7.0.orig/src/qemu/qemu_conf.c
+++ libvirt-5.7.0/src/qemu/qemu_conf.c
--- libvirt-5.8.0.orig/src/qemu/qemu_conf.c
+++ libvirt-5.8.0/src/qemu/qemu_conf.c
@@ -96,10 +96,9 @@ qemuDriverUnlock(virQEMUDriverPtr driver
#ifndef DEFAULT_LOADER_NVRAM
@ -36,10 +36,10 @@ Index: libvirt-5.7.0/src/qemu/qemu_conf.c
#endif
Index: libvirt-5.7.0/src/security/virt-aa-helper.c
Index: libvirt-5.8.0/src/security/virt-aa-helper.c
===================================================================
--- libvirt-5.7.0.orig/src/security/virt-aa-helper.c
+++ libvirt-5.7.0/src/security/virt-aa-helper.c
--- libvirt-5.8.0.orig/src/security/virt-aa-helper.c
+++ libvirt-5.8.0/src/security/virt-aa-helper.c
@@ -509,7 +509,8 @@ valid_path(const char *path, const bool
"/usr/share/ovmf/", /* for OVMF images */
"/usr/share/AAVMF/", /* for AAVMF images */

View File

@ -7,10 +7,10 @@ suse-qemu-conf-secdriver.patch, suse-qemu-conf-lockmgr.patch,
etc.), but for now they are all lumped together in this
single patch.
Index: libvirt-5.7.0/src/qemu/qemu.conf
Index: libvirt-5.8.0/src/qemu/qemu.conf
===================================================================
--- libvirt-5.7.0.orig/src/qemu/qemu.conf
+++ libvirt-5.7.0/src/qemu/qemu.conf
--- libvirt-5.8.0.orig/src/qemu/qemu.conf
+++ libvirt-5.8.0/src/qemu/qemu.conf
@@ -420,10 +420,19 @@
# isolation, but it cannot appear in a list of drivers.
#
@ -60,11 +60,11 @@ Index: libvirt-5.7.0/src/qemu/qemu.conf
#
#lock_manager = "lockd"
Index: libvirt-5.7.0/src/qemu/qemu_conf.c
Index: libvirt-5.8.0/src/qemu/qemu_conf.c
===================================================================
--- libvirt-5.7.0.orig/src/qemu/qemu_conf.c
+++ libvirt-5.7.0/src/qemu/qemu_conf.c
@@ -287,7 +287,7 @@ virQEMUDriverConfigPtr virQEMUDriverConf
--- libvirt-5.8.0.orig/src/qemu/qemu_conf.c
+++ libvirt-5.8.0/src/qemu/qemu_conf.c
@@ -278,7 +278,7 @@ virQEMUDriverConfigPtr virQEMUDriverConf
cfg->clearEmulatorCapabilities = true;

View File

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

View File

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

View File

@ -1,7 +1,7 @@
Index: libvirt-5.7.0/tools/Makefile.am
Index: libvirt-5.8.0/tools/Makefile.am
===================================================================
--- libvirt-5.7.0.orig/tools/Makefile.am
+++ libvirt-5.7.0/tools/Makefile.am
--- libvirt-5.8.0.orig/tools/Makefile.am
+++ libvirt-5.8.0/tools/Makefile.am
@@ -59,6 +59,7 @@ PODFILES = \
virt-sanlock-cleanup.pod \
virt-xml-validate.pod \
@ -28,10 +28,10 @@ Index: libvirt-5.7.0/tools/Makefile.am
virt-xml-validate: virt-xml-validate.in Makefile
$(AM_V_GEN)sed -e 's|[@]schemadir@|$(pkgdatadir)/schemas|g' \
-e 's|[@]VERSION@|$(VERSION)|g' \
Index: libvirt-5.7.0/tools/virt-create-rootfs
Index: libvirt-5.8.0/tools/virt-create-rootfs
===================================================================
--- /dev/null
+++ libvirt-5.7.0/tools/virt-create-rootfs
+++ libvirt-5.8.0/tools/virt-create-rootfs
@@ -0,0 +1,214 @@
+#!/bin/sh
+set -e
@ -247,10 +247,10 @@ Index: libvirt-5.7.0/tools/virt-create-rootfs
+ echo "pts/0" >> "$ROOT/etc/securetty"
+ chroot "$ROOT" /usr/bin/passwd
+fi
Index: libvirt-5.7.0/tools/virt-create-rootfs.pod
Index: libvirt-5.8.0/tools/virt-create-rootfs.pod
===================================================================
--- /dev/null
+++ libvirt-5.7.0/tools/virt-create-rootfs.pod
+++ libvirt-5.8.0/tools/virt-create-rootfs.pod
@@ -0,0 +1,77 @@
+=head1 NAME
+