diff --git a/0001-Extract-stats-functions-from-the-qemu-driver.patch b/0001-Extract-stats-functions-from-the-qemu-driver.patch index 3108524..95341af 100644 --- a/0001-Extract-stats-functions-from-the-qemu-driver.patch +++ b/0001-Extract-stats-functions-from-the-qemu-driver.patch @@ -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 \ diff --git a/0001-libxl-add-support-for-BlockResize-API.patch b/0001-libxl-add-support-for-BlockResize-API.patch index 0b7a435..6d2551b 100644 --- a/0001-libxl-add-support-for-BlockResize-API.patch +++ b/0001-libxl-add-support-for-BlockResize-API.patch @@ -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 */ diff --git a/0002-lxc-implement-connectGetAllDomainStats.patch b/0002-lxc-implement-connectGetAllDomainStats.patch index 2e74110..68037a3 100644 --- a/0002-lxc-implement-connectGetAllDomainStats.patch +++ b/0002-lxc-implement-connectGetAllDomainStats.patch @@ -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 */ diff --git a/libvirt-5.7.0.tar.xz b/libvirt-5.7.0.tar.xz deleted file mode 100644 index da24952..0000000 --- a/libvirt-5.7.0.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7e91f23574c73f0da8812917922d45af1044dbe31d2526aa34e2ff29bfef62e0 -size 13235904 diff --git a/libvirt-5.7.0.tar.xz.asc b/libvirt-5.7.0.tar.xz.asc deleted file mode 100644 index 2966956..0000000 --- a/libvirt-5.7.0.tar.xz.asc +++ /dev/null @@ -1,11 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQEzBAABCAAdFiEE20ZoG7ka3OoXD6LUFViLJllr6l0FAl1uhdgACgkQFViLJllr -6l0KNQgAlGxX8floI0ZHRtgeqe2mLE548yVnQBz7OHFsFDPSn3DdnLB3vMXe77iP -Bp7T3T7a7O6UqRvrYvcHsFP/UaNQcMvxdljB2M+QNifFRVS/Qbg2M3QZV65xsIaX -EhxmxX4lzIufNu0jUpVUq31kSzgIszzCZBR4UxjE5NB1uD88EbRwEcGFwnVHiPVx -ARUyamKZkT/ugptqRcrM6rC2wwEdXXWa4COGXXVXCJh3UefQyqyxk+iyMtsC0Qde -J5buwnrTwSdRRBZTL90t4c1bcZ130zqrDMvWPGywZ3KAgyk8BVbycqPBtnI4kAvZ -XPfoRg1qn6ppnfuH6aVF2osQ9MkPqg== -=YxDo ------END PGP SIGNATURE----- diff --git a/libvirt-5.8.0.tar.xz b/libvirt-5.8.0.tar.xz new file mode 100644 index 0000000..1b7df99 --- /dev/null +++ b/libvirt-5.8.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e23328289b18bdedc1e966f6c26402b2983149c660ed8bd52cda6feab0c20c55 +size 13129328 diff --git a/libvirt-5.8.0.tar.xz.asc b/libvirt-5.8.0.tar.xz.asc new file mode 100644 index 0000000..ff20369 --- /dev/null +++ b/libvirt-5.8.0.tar.xz.asc @@ -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----- diff --git a/libvirt-power8-models.patch b/libvirt-power8-models.patch index b996b62..c4cccac 100644 --- a/libvirt-power8-models.patch +++ b/libvirt-power8-models.patch @@ -2,10 +2,10 @@ Add POWER8 v2.0 and v2.1 to cpu map XML From: -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 @@ diff --git a/libvirt-suse-netcontrol.patch b/libvirt-suse-netcontrol.patch index 1f205b2..bdb89f7 100644 --- a/libvirt-suse-netcontrol.patch +++ b/libvirt-suse-netcontrol.patch @@ -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 @@ -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) diff --git a/libvirt.changes b/libvirt.changes index 21bcc94..0ccead4 100644 --- a/libvirt.changes +++ b/libvirt.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Tue Oct 8 17:07:03 UTC 2019 - James Fehlig + +- 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 diff --git a/libvirt.spec b/libvirt.spec index b1bfcb6..1b0479f 100644 --- a/libvirt.spec +++ b/libvirt.spec @@ -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 diff --git a/libxl-dom-reset.patch b/libxl-dom-reset.patch index 7f5b097..f8cc73a 100644 --- a/libxl-dom-reset.patch +++ b/libxl-dom-reset.patch @@ -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 */ diff --git a/libxl-set-cach-mode.patch b/libxl-set-cach-mode.patch index f968bea..11f8802 100644 --- a/libxl-set-cach-mode.patch +++ b/libxl-set-cach-mode.patch @@ -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 } diff --git a/libxl-set-migration-constraints.patch b/libxl-set-migration-constraints.patch index 0f43edb..c2a83d3 100644 --- a/libxl-set-migration-constraints.patch +++ b/libxl-set-migration-constraints.patch @@ -16,10 +16,10 @@ Signed-off-by: Jim Fehlig 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. diff --git a/libxl-support-block-script.patch b/libxl-support-block-script.patch index 4edea6b..9286bab 100644 --- a/libxl-support-block-script.patch +++ b/libxl-support-block-script.patch @@ -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 } diff --git a/lxc-wait-after-eth-del.patch b/lxc-wait-after-eth-del.patch index 381b549..2d17441 100644 --- a/lxc-wait-after-eth-del.patch +++ b/lxc-wait-after-eth-del.patch @@ -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" diff --git a/network-don-t-use-dhcp-authoritative-on-static-netwo.patch b/network-don-t-use-dhcp-authoritative-on-static-netwo.patch index 8e46fdf..9c7cefe 100644 --- a/network-don-t-use-dhcp-authoritative-on-static-netwo.patch +++ b/network-don-t-use-dhcp-authoritative-on-static-netwo.patch @@ -17,11 +17,11 @@ Signed-off-by: Martin Wilck 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 diff --git a/ppc64le-canonical-name.patch b/ppc64le-canonical-name.patch index 03b7243..baa44f7 100644 --- a/ppc64le-canonical-name.patch +++ b/ppc64le-canonical-name.patch @@ -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")) { diff --git a/qemu-apparmor-screenshot.patch b/qemu-apparmor-screenshot.patch index d90e7c9..27fe82c 100644 --- a/qemu-apparmor-screenshot.patch +++ b/qemu-apparmor-screenshot.patch @@ -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, diff --git a/support-managed-pci-xen-driver.patch b/support-managed-pci-xen-driver.patch index 47c94cd..e9729dc 100644 --- a/support-managed-pci-xen-driver.patch +++ b/support-managed-pci-xen-driver.patch @@ -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; diff --git a/suse-apparmor-libnl-paths.patch b/suse-apparmor-libnl-paths.patch index 74877ac..42f9991 100644 --- a/suse-apparmor-libnl-paths.patch +++ b/suse-apparmor-libnl-paths.patch @@ -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, diff --git a/suse-libvirt-guests-service.patch b/suse-libvirt-guests-service.patch index f9e12f3..b9b7ef3 100644 --- a/suse-libvirt-guests-service.patch +++ b/suse-libvirt-guests-service.patch @@ -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 # . @@ -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 + diff --git a/suse-libvirtd-disable-tls.patch b/suse-libvirtd-disable-tls.patch index d6cc289..3819d48 100644 --- a/suse-libvirtd-disable-tls.patch +++ b/suse-libvirtd-disable-tls.patch @@ -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. diff --git a/suse-libvirtd-sysconfig-settings.patch b/suse-libvirtd-sysconfig-settings.patch index 7b13a66..f63a806 100644 --- a/suse-libvirtd-sysconfig-settings.patch +++ b/suse-libvirtd-sysconfig-settings.patch @@ -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 diff --git a/suse-libxl-disable-autoballoon.patch b/suse-libxl-disable-autoballoon.patch index 685524c..3669251 100644 --- a/suse-libxl-disable-autoballoon.patch +++ b/suse-libxl-disable-autoballoon.patch @@ -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 diff --git a/suse-ovmf-paths.patch b/suse-ovmf-paths.patch index 2118dbd..db086a3 100644 --- a/suse-ovmf-paths.patch +++ b/suse-ovmf-paths.patch @@ -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 */ diff --git a/suse-qemu-conf.patch b/suse-qemu-conf.patch index a86c565..9c0cbfe 100644 --- a/suse-qemu-conf.patch +++ b/suse-qemu-conf.patch @@ -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; diff --git a/suse-virtlockd-sysconfig-settings.patch b/suse-virtlockd-sysconfig-settings.patch index fec7d1b..c5cdc19 100644 --- a/suse-virtlockd-sysconfig-settings.patch +++ b/suse-virtlockd-sysconfig-settings.patch @@ -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 + diff --git a/suse-virtlogd-sysconfig-settings.patch b/suse-virtlogd-sysconfig-settings.patch index aa6364d..893dd5d 100644 --- a/suse-virtlogd-sysconfig-settings.patch +++ b/suse-virtlogd-sysconfig-settings.patch @@ -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 + diff --git a/virt-create-rootfs.patch b/virt-create-rootfs.patch index 9ce1c76..161d7b6 100644 --- a/virt-create-rootfs.patch +++ b/virt-create-rootfs.patch @@ -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 +