Accepting request 893851 from home:jfehlig:branches:Virtualization

- Update to libvirt 7.3.0
  - libvirt-admin package merged with libvirt-daemon
  - libvirt-bash-completion package merged with libvirt-client and
    libvirt-daemon packages
  - Many incremental improvements and bug fixes, see
    https://libvirt.org/news.html
  - Dropped patches:
    suse-bump-xen-version.patch
  - Added patches:
    libxl-add-mocking.patch

OBS-URL: https://build.opensuse.org/request/show/893851
OBS-URL: https://build.opensuse.org/package/show/Virtualization/libvirt?expand=0&rev=888
This commit is contained in:
James Fehlig 2021-05-17 22:14:02 +00:00 committed by Git OBS Bridge
parent d419828bef
commit aeb9054b98
32 changed files with 407 additions and 436 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-7.2.0/src/conf/domain_stats.c
Index: libvirt-7.3.0/src/conf/domain_stats.c
===================================================================
--- /dev/null
+++ libvirt-7.2.0/src/conf/domain_stats.c
@@ -0,0 +1,119 @@
+++ libvirt-7.3.0/src/conf/domain_stats.c
@@ -0,0 +1,117 @@
+/*
+ * domain_stats.c: domain stats extraction helpers
+ *
@ -43,8 +43,6 @@ Index: libvirt-7.2.0/src/conf/domain_stats.c
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see
+ * <http://www.gnu.org/licenses/>.
+ *
+ * Author: Daniel P. Berrange <berrange@redhat.com>
+ */
+
+#include <config.h>
@ -62,8 +60,8 @@ Index: libvirt-7.2.0/src/conf/domain_stats.c
+VIR_LOG_INIT("conf.domain_stats");
+
+int
+virDomainStatsGetState(virDomainObjPtr dom,
+ virTypedParamListPtr params)
+virDomainStatsGetState(virDomainObj *dom,
+ virTypedParamList *params)
+{
+ if (virTypedParamListAddInt(params, dom->state.state, "state.state") < 0)
+ return -1;
@ -80,8 +78,8 @@ Index: libvirt-7.2.0/src/conf/domain_stats.c
+ return -1;
+
+int
+virDomainStatsGetInterface(virDomainObjPtr dom,
+ virTypedParamListPtr params)
+virDomainStatsGetInterface(virDomainObj *dom,
+ virTypedParamList *params)
+{
+ size_t i;
+ struct _virDomainInterfaceStats tmp;
@ -94,7 +92,7 @@ Index: libvirt-7.2.0/src/conf/domain_stats.c
+
+ /* Check the path is one of the domain's network interfaces. */
+ for (i = 0; i < dom->def->nnets; i++) {
+ virDomainNetDefPtr net = dom->def->nets[i];
+ virDomainNetDef *net = dom->def->nets[i];
+ virDomainNetType actualType;
+
+ if (!net->ifname)
@ -142,11 +140,11 @@ Index: libvirt-7.2.0/src/conf/domain_stats.c
+}
+
+#undef STATS_ADD_NET_PARAM
Index: libvirt-7.2.0/src/conf/domain_stats.h
Index: libvirt-7.3.0/src/conf/domain_stats.h
===================================================================
--- /dev/null
+++ libvirt-7.2.0/src/conf/domain_stats.h
@@ -0,0 +1,62 @@
+++ libvirt-7.3.0/src/conf/domain_stats.h
@@ -0,0 +1,60 @@
+/*
+ * domain_stats.h: domain stats extraction helpers
+ *
@ -167,8 +165,6 @@ Index: libvirt-7.2.0/src/conf/domain_stats.h
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see
+ * <http://www.gnu.org/licenses/>.
+ *
+ * Author: Daniel P. Berrange <berrange@redhat.com>
+ */
+#ifndef __DOMAIN_STATS_H
+# define __DOMAIN_STATS_H
@ -202,18 +198,18 @@ Index: libvirt-7.2.0/src/conf/domain_stats.h
+ goto cleanup; \
+} while (0)
+
+int virDomainStatsGetState(virDomainObjPtr dom,
+ virTypedParamListPtr params);
+int virDomainStatsGetState(virDomainObj *dom,
+ virTypedParamList *params);
+
+int virDomainStatsGetInterface(virDomainObjPtr dom,
+ virTypedParamListPtr params);
+int virDomainStatsGetInterface(virDomainObj *dom,
+ virTypedParamList *params);
+
+#endif /* __DOMAIN_STATS_H */
Index: libvirt-7.2.0/src/libvirt_private.syms
Index: libvirt-7.3.0/src/libvirt_private.syms
===================================================================
--- libvirt-7.2.0.orig/src/libvirt_private.syms
+++ libvirt-7.2.0/src/libvirt_private.syms
@@ -752,12 +752,16 @@ virDomainConfNWFilterTeardown;
--- libvirt-7.3.0.orig/src/libvirt_private.syms
+++ libvirt-7.3.0/src/libvirt_private.syms
@@ -754,12 +754,16 @@ virDomainConfNWFilterTeardown;
virDomainConfVMNWFilterTeardown;
@ -231,7 +227,7 @@ Index: libvirt-7.2.0/src/libvirt_private.syms
# conf/interface_conf.h
virInterfaceDefFormat;
virInterfaceDefFree;
@@ -1908,6 +1912,7 @@ virCgroupGetMemoryUsage;
@@ -1915,6 +1919,7 @@ virCgroupGetMemoryUsage;
virCgroupGetMemSwapHardLimit;
virCgroupGetMemSwapUsage;
virCgroupGetPercpuStats;
@ -239,10 +235,10 @@ Index: libvirt-7.2.0/src/libvirt_private.syms
virCgroupHasController;
virCgroupHasEmptyTasks;
virCgroupKillPainfully;
Index: libvirt-7.2.0/src/qemu/qemu_driver.c
Index: libvirt-7.3.0/src/qemu/qemu_driver.c
===================================================================
--- libvirt-7.2.0.orig/src/qemu/qemu_driver.c
+++ libvirt-7.2.0/src/qemu/qemu_driver.c
--- libvirt-7.3.0.orig/src/qemu/qemu_driver.c
+++ libvirt-7.3.0/src/qemu/qemu_driver.c
@@ -67,6 +67,7 @@
#include "virarptable.h"
#include "viruuid.h"
@ -251,8 +247,8 @@ Index: libvirt-7.2.0/src/qemu/qemu_driver.c
#include "domain_audit.h"
#include "domain_cgroup.h"
#include "domain_driver.h"
@@ -17552,13 +17553,7 @@ qemuDomainGetStatsState(virQEMUDriverPtr
virTypedParamListPtr params,
@@ -17542,13 +17543,7 @@ qemuDomainGetStatsState(virQEMUDriver *d
virTypedParamList *params,
unsigned int privflags G_GNUC_UNUSED)
{
- if (virTypedParamListAddInt(params, dom->state.state, "state.state") < 0)
@ -266,10 +262,10 @@ Index: libvirt-7.2.0/src/qemu/qemu_driver.c
}
@@ -17852,25 +17847,11 @@ qemuDomainGetStatsCpuCgroup(virDomainObj
virTypedParamListPtr params)
@@ -17841,25 +17836,11 @@ qemuDomainGetStatsCpuCgroup(virDomainObj
virTypedParamList *params)
{
qemuDomainObjPrivatePtr priv = dom->privateData;
qemuDomainObjPrivate *priv = dom->privateData;
- unsigned long long cpu_time = 0;
- unsigned long long user_time = 0;
- unsigned long long sys_time = 0;
@ -293,7 +289,7 @@ Index: libvirt-7.2.0/src/qemu/qemu_driver.c
}
@@ -18043,76 +18024,15 @@ qemuDomainGetStatsVcpu(virQEMUDriverPtr
@@ -18032,76 +18013,15 @@ qemuDomainGetStatsVcpu(virQEMUDriver *dr
return ret;
}
@ -303,9 +299,9 @@ Index: libvirt-7.2.0/src/qemu/qemu_driver.c
- return -1;
-
static int
qemuDomainGetStatsInterface(virQEMUDriverPtr driver G_GNUC_UNUSED,
virDomainObjPtr dom,
virTypedParamListPtr params,
qemuDomainGetStatsInterface(virQEMUDriver *driver G_GNUC_UNUSED,
virDomainObj *dom,
virTypedParamList *params,
unsigned int privflags G_GNUC_UNUSED)
{
- size_t i;
@ -319,7 +315,7 @@ Index: libvirt-7.2.0/src/qemu/qemu_driver.c
-
- /* Check the path is one of the domain's network interfaces. */
- for (i = 0; i < dom->def->nnets; i++) {
- virDomainNetDefPtr net = dom->def->nets[i];
- virDomainNetDef *net = dom->def->nets[i];
- virDomainNetType actualType;
-
- if (!net->ifname)
@ -371,17 +367,17 @@ Index: libvirt-7.2.0/src/qemu/qemu_driver.c
/* refresh information by opening images on the disk */
static int
Index: libvirt-7.2.0/src/util/vircgroup.c
Index: libvirt-7.3.0/src/util/vircgroup.c
===================================================================
--- libvirt-7.2.0.orig/src/util/vircgroup.c
+++ libvirt-7.2.0/src/util/vircgroup.c
@@ -2981,6 +2981,31 @@ virCgroupControllerAvailable(int control
--- libvirt-7.3.0.orig/src/util/vircgroup.c
+++ libvirt-7.3.0/src/util/vircgroup.c
@@ -3002,6 +3002,31 @@ virCgroupControllerAvailable(int control
return virCgroupHasController(cgroup, controller);
}
+int
+virCgroupGetStatsCpu(virCgroupPtr cgroup,
+ virTypedParamListPtr params)
+virCgroupGetStatsCpu(virCgroup *cgroup,
+ virTypedParamList *params)
+{
+ unsigned long long cpu_time = 0;
+ unsigned long long user_time = 0;
@ -407,13 +403,13 @@ Index: libvirt-7.2.0/src/util/vircgroup.c
#else /* !__linux__ */
bool
@@ -2990,6 +3015,14 @@ virCgroupAvailable(void)
@@ -3011,6 +3036,14 @@ virCgroupAvailable(void)
}
+int
+virCgroupGetStatsCpu(virCgroupPtr cgroup,
+ virTypedParamListPtr params)
+virCgroupGetStatsCpu(virCgroup *cgroup,
+ virTypedParamList *params)
+{
+ return 0;
+}
@ -422,10 +418,10 @@ Index: libvirt-7.2.0/src/util/vircgroup.c
int
virCgroupNewPartition(const char *path G_GNUC_UNUSED,
bool create G_GNUC_UNUSED,
Index: libvirt-7.2.0/src/util/vircgroup.h
Index: libvirt-7.3.0/src/util/vircgroup.h
===================================================================
--- libvirt-7.2.0.orig/src/util/vircgroup.h
+++ libvirt-7.2.0/src/util/vircgroup.h
--- libvirt-7.3.0.orig/src/util/vircgroup.h
+++ libvirt-7.3.0/src/util/vircgroup.h
@@ -23,6 +23,7 @@
#include "virbitmap.h"
@ -434,17 +430,17 @@ Index: libvirt-7.2.0/src/util/vircgroup.h
struct _virCgroup;
typedef struct _virCgroup virCgroup;
@@ -284,3 +285,6 @@ int virCgroupSetOwner(virCgroupPtr cgrou
int virCgroupHasEmptyTasks(virCgroupPtr cgroup, int controller);
@@ -283,3 +284,6 @@ int virCgroupSetOwner(virCgroup *cgroup,
int virCgroupHasEmptyTasks(virCgroup *cgroup, int controller);
bool virCgroupControllerAvailable(int controller);
+
+int virCgroupGetStatsCpu(virCgroupPtr cgroup,
+ virTypedParamListPtr params);
Index: libvirt-7.2.0/src/conf/meson.build
+int virCgroupGetStatsCpu(virCgroup *cgroup,
+ virTypedParamList *params);
Index: libvirt-7.3.0/src/conf/meson.build
===================================================================
--- libvirt-7.2.0.orig/src/conf/meson.build
+++ libvirt-7.2.0/src/conf/meson.build
--- libvirt-7.3.0.orig/src/conf/meson.build
+++ libvirt-7.3.0/src/conf/meson.build
@@ -15,6 +15,7 @@ domain_conf_sources = [
'domain_conf.c',
'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-7.2.0/src/libxl/libxl_driver.c
Index: libvirt-7.3.0/src/libxl/libxl_driver.c
===================================================================
--- libvirt-7.2.0.orig/src/libxl/libxl_driver.c
+++ libvirt-7.2.0/src/libxl/libxl_driver.c
@@ -5307,6 +5307,96 @@ libxlDomainMemoryStats(virDomainPtr dom,
--- libvirt-7.3.0.orig/src/libxl/libxl_driver.c
+++ libvirt-7.3.0/src/libxl/libxl_driver.c
@@ -5319,6 +5319,97 @@ libxlDomainMemoryStats(virDomainPtr dom,
#undef LIBXL_SET_MEMSTAT
@ -39,11 +39,11 @@ Index: libvirt-7.2.0/src/libxl/libxl_driver.c
+ unsigned long long size,
+ unsigned int flags)
+{
+ libxlDriverPrivatePtr driver = dom->conn->privateData;
+ libxlDriverConfigPtr cfg;
+ virDomainObjPtr vm;
+ libxlDriverPrivate *driver = dom->conn->privateData;
+ libxlDriverConfig *cfg;
+ virDomainObj *vm;
+ int ret = -1;
+ virDomainDiskDefPtr disk = NULL;
+ virDomainDiskDef *disk = NULL;
+ char *moncmd = NULL;
+ char *monreply = NULL;
+
@ -97,7 +97,8 @@ Index: libvirt-7.2.0/src/libxl/libxl_driver.c
+
+ moncmd = g_strdup_printf("block_resize %s %lluB", disk->dst, size);
+
+ if (libxl_qemu_monitor_command(cfg->ctx, vm->def->id, moncmd, &monreply) != 0) {
+ if (libxlQemuMonitorCommandWrapper(cfg->ctx, vm->def->id,
+ moncmd, &monreply) != 0) {
+ virReportError(VIR_ERR_OPERATION_FAILED,
+ _("block_resize command failed for device '%s' on domain '%d'"),
+ disk->dst, vm->def->id);
@ -120,7 +121,7 @@ Index: libvirt-7.2.0/src/libxl/libxl_driver.c
static int
libxlDomainGetJobInfo(virDomainPtr dom,
virDomainJobInfoPtr info)
@@ -6607,6 +6697,7 @@ static virHypervisorDriver libxlHypervis
@@ -6619,6 +6710,7 @@ static virHypervisorDriver libxlHypervis
#endif
.nodeGetFreeMemory = libxlNodeGetFreeMemory, /* 0.9.0 */
.nodeGetCellsFreeMemory = libxlNodeGetCellsFreeMemory, /* 1.1.1 */
@ -128,3 +129,26 @@ Index: libvirt-7.2.0/src/libxl/libxl_driver.c
.domainGetJobInfo = libxlDomainGetJobInfo, /* 1.3.1 */
.domainGetJobStats = libxlDomainGetJobStats, /* 1.3.1 */
.domainMemoryStats = libxlDomainMemoryStats, /* 1.3.0 */
Index: libvirt-7.3.0/src/libxl/libxl_api_wrapper.h
===================================================================
--- libvirt-7.3.0.orig/src/libxl/libxl_api_wrapper.h
+++ libvirt-7.3.0/src/libxl/libxl_api_wrapper.h
@@ -215,3 +215,18 @@ libxlSetMemoryTargetWrapper(libxl_ctx *c
return ret;
}
+
+static inline int
+libxlQemuMonitorCommandWrapper(libxl_ctx *ctx, uint32_t domid,
+ const char *command_line, char **output)
+{
+ int ret;
+
+#if LIBXL_API_VERSION < 0x041300
+ ret = libxl_qemu_monitor_command(ctx, domid, command_line, output);
+#else
+ ret = libxl_qemu_monitor_command(ctx, domid, command_line, output, NULL);
+#endif
+
+ return ret;
+}

View File

@ -9,10 +9,10 @@ them using the existing API.
src/lxc/lxc_driver.c | 138 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 138 insertions(+)
Index: libvirt-7.2.0/src/lxc/lxc_driver.c
Index: libvirt-7.3.0/src/lxc/lxc_driver.c
===================================================================
--- libvirt-7.2.0.orig/src/lxc/lxc_driver.c
+++ libvirt-7.2.0/src/lxc/lxc_driver.c
--- libvirt-7.3.0.orig/src/lxc/lxc_driver.c
+++ libvirt-7.3.0/src/lxc/lxc_driver.c
@@ -74,6 +74,8 @@
#include "netdev_bandwidth_conf.h"
#include "virsocket.h"
@ -27,16 +27,16 @@ Index: libvirt-7.2.0/src/lxc/lxc_driver.c
}
+static int
+lxcDomainGetStatsCpu(virDomainObjPtr dom,
+ virTypedParamListPtr params)
+lxcDomainGetStatsCpu(virDomainObj *dom,
+ virTypedParamList *params)
+{
+ virLXCDomainObjPrivatePtr priv = dom->privateData;
+ virLXCDomainObjPrivate *priv = dom->privateData;
+ return virCgroupGetStatsCpu(priv->cgroup, params);
+}
+
+typedef int
+(*lxcDomainGetStatsFunc)(virDomainObjPtr dom,
+ virTypedParamListPtr params);
+(*lxcDomainGetStatsFunc)(virDomainObj *dom,
+ virTypedParamList *params);
+
+
+struct lxcDomainGetStatsWorker {
@ -53,7 +53,7 @@ Index: libvirt-7.2.0/src/lxc/lxc_driver.c
+
+static int
+lxcDomainGetStats(virConnectPtr conn,
+ virDomainObjPtr dom,
+ virDomainObj *dom,
+ unsigned int stats,
+ virDomainStatsRecordPtr *record)
+{
@ -85,9 +85,9 @@ Index: libvirt-7.2.0/src/lxc/lxc_driver.c
+ virDomainStatsRecordPtr **retStats,
+ unsigned int flags)
+{
+ virLXCDriverPtr driver = conn->privateData;
+ virDomainObjPtr *vms = NULL;
+ virDomainObjPtr vm;
+ virLXCDriver *driver = conn->privateData;
+ virDomainObj **vms = NULL;
+ virDomainObj *vm;
+ size_t nvms;
+ virDomainStatsRecordPtr *tmpstats = NULL;
+ int nstats = 0;

View File

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

View File

@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEERTtlMQWVVihVRxGZymi+gBAITJwFAmBlnvUACgkQymi+gBAI
TJzB5g/+I5cXk+emrHJbTxAsq0uNk0WYWexVgSQW433w1ETAEP7IXpcnUdYhrHqS
v/SYKZfOLOwZW89A+gZvWorIG/hWhGG1ayen8LQSVdAJFnAR1dugfSk5OQs0cRJP
ZvZ/pCnxYJ09f8FSANcJCVRDMHN+Zm5JMd/U7IrcU7qQVGcaqwl/p70oV9Xq89Hz
WZJJGoHM3vNu0S8KkD7MMadFfV8Kz0pbpkl0Ok0sYYo+b0dkSpC1wLW2UO4hzF16
MUazsCQKjxjSzOdsy1nbi/cUxNX4js4exdqScgHXgE8FRmnPzASMQ8+OWZZJDMDI
+Szhr4E0s/fB8zlt9solzBVUZdd2ocB7A3DkRKcMjHdtSF8fqh4+VRIidtCLKV84
7CX20ZwL60dtYijfpYolitS8S8U7xB3+17KIidpgglqPkXK1Ly4886sDHspcShaz
duMDHJRxbhX5hUIAtZHb4zWs6jhuaw8aZbq7HD10c1Su8Xx2d31EoNC1x10F4/Cf
CxkUq7dOsGmK6xBlW9ZIvPYwOobBhxyW6Z30CGuh71TF5I9rrufsAQ3q4EbyrPU6
PK6JUK9+Dxjcur7udE5dKFsAq87jiF4R1puvrTMDlPSjH4+DM8+ag2LO7872S/3P
OuYcBM98fCjbmn6h9aaUj+AmfPYwDa6IrhIOKLKpBLfNngXlaLM=
=8POk
-----END PGP SIGNATURE-----

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

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

16
libvirt-7.3.0.tar.xz.asc Normal file
View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEERTtlMQWVVihVRxGZymi+gBAITJwFAmCPvcIACgkQymi+gBAI
TJx5CRAAlfkKfcAHWJWp3bBHcbPDZw85jWffWJ3ECcO87sw1i5G+uaNaOGK/3uHp
VJxjFZg0rd7YdbIeN+CiWzI5wSGytsNiopKYhqpVNdQQMWrZT3b3FyJSURU2DTUr
6e8Baz3EIqwZM76CyVZoyxHgsyGsAPPAXTfPdn3W/ghLIreGITaroIwVNYp5RGcX
eLX0zb3GT1EpjoW6CDzfJRTCTEw8oSbZtV/roMng4BNFpgPK9v3zhJiLgmGyhhTT
ryBo+qbLVi0wgqRz1tS8Nybdi5OCeNlGloBETCLQMmmSz/jflJf6NcJu6YVvDtdB
0jXy033mcGMPhdTdCIBQo5QgBPJX04oHOvqrvmJ7FJam4odwVmRk9Qh3BnWBkfUS
1/zn3/rwH0HNu01IDqOyGwMW1WvJuGmvgo285FajlqcNE0wFBAG92njIK73uChwc
6sxKa8E9evv5NTKXFJujK9JxtnIQ3CqzezX+zPUb6Ex5gLcNeuRvMGaUclhBrxk7
QM3hqR0520WjEo+S9zchZdowxFXtN5E9tJe5DIVW2fyOZ3UxUT5/1eQ/rUChAaVu
Y/p+QUQVEtIdk27nTb0jCrpfVuLafGDw8ip0H6bpx29b0vJIWp+ym45o5nl2L3dH
WUTD2Yh9FOS9Q813SCM+4Rw0fn3cMJEgq6J/YBkQjV33ze+jRrQ=
=fA/C
-----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-7.2.0/src/cpu_map/ppc64_POWER8.xml
Index: libvirt-7.3.0/src/cpu_map/ppc64_POWER8.xml
===================================================================
--- libvirt-7.2.0.orig/src/cpu_map/ppc64_POWER8.xml
+++ libvirt-7.2.0/src/cpu_map/ppc64_POWER8.xml
--- libvirt-7.3.0.orig/src/cpu_map/ppc64_POWER8.xml
+++ libvirt-7.3.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-7.2.0/tools/virsh.c
Index: libvirt-7.3.0/tools/virsh.c
===================================================================
--- libvirt-7.2.0.orig/tools/virsh.c
+++ libvirt-7.2.0/tools/virsh.c
--- libvirt-7.3.0.orig/tools/virsh.c
+++ libvirt-7.3.0/tools/virsh.c
@@ -543,6 +543,8 @@ virshShowVersion(vshControl *ctl G_GNUC_
vshPrint(ctl, " Interface");
# if defined(WITH_NETCF)
@ -11,10 +11,10 @@ Index: libvirt-7.2.0/tools/virsh.c
# elif defined(WITH_UDEV)
vshPrint(ctl, " udev");
# endif
Index: libvirt-7.2.0/src/interface/interface_backend_netcf.c
Index: libvirt-7.3.0/src/interface/interface_backend_netcf.c
===================================================================
--- libvirt-7.2.0.orig/src/interface/interface_backend_netcf.c
+++ libvirt-7.2.0/src/interface/interface_backend_netcf.c
--- libvirt-7.3.0.orig/src/interface/interface_backend_netcf.c
+++ libvirt-7.3.0/src/interface/interface_backend_netcf.c
@@ -21,7 +21,12 @@
#include <config.h>
@ -126,10 +126,10 @@ Index: libvirt-7.2.0/src/interface/interface_backend_netcf.c
if (virRegisterConnectDriver(&interfaceConnectDriver, false) < 0)
return -1;
if (virSetSharedInterfaceDriver(&interfaceDriver) < 0)
Index: libvirt-7.2.0/src/interface/interface_driver.c
Index: libvirt-7.3.0/src/interface/interface_driver.c
===================================================================
--- libvirt-7.2.0.orig/src/interface/interface_driver.c
+++ libvirt-7.2.0/src/interface/interface_driver.c
--- libvirt-7.3.0.orig/src/interface/interface_driver.c
+++ libvirt-7.3.0/src/interface/interface_driver.c
@@ -30,8 +30,15 @@ interfaceRegister(void)
if (netcfIfaceRegister() == 0)
return 0;
@ -147,11 +147,11 @@ Index: libvirt-7.2.0/src/interface/interface_driver.c
if (udevIfaceRegister() == 0)
return 0;
#endif /* WITH_UDEV */
Index: libvirt-7.2.0/meson.build
Index: libvirt-7.3.0/meson.build
===================================================================
--- libvirt-7.2.0.orig/meson.build
+++ libvirt-7.2.0/meson.build
@@ -1165,6 +1165,12 @@ if not get_option('netcf').disabled()
--- libvirt-7.3.0.orig/meson.build
+++ libvirt-7.3.0/meson.build
@@ -1062,6 +1062,12 @@ if not get_option('netcf').disabled()
endif
endif
@ -164,7 +164,7 @@ Index: libvirt-7.2.0/meson.build
have_gnu_gettext_tools = false
if not get_option('nls').disabled()
have_gettext = cc.has_function('gettext')
@@ -1556,10 +1562,10 @@ elif get_option('driver_hyperv').enabled
@@ -1422,10 +1428,10 @@ elif get_option('driver_hyperv').enabled
error('openwsman is required for the Hyper-V driver')
endif
@ -177,7 +177,7 @@ Index: libvirt-7.2.0/meson.build
endif
if not get_option('driver_libxl').disabled() and conf.has('WITH_LIBVIRTD')
@@ -2363,6 +2369,7 @@ libs_summary = {
@@ -2234,6 +2240,7 @@ libs_summary = {
'libssh2': libssh2_dep.found(),
'libutil': libutil_dep.found(),
'netcf': conf.has('WITH_NETCF'),
@ -185,10 +185,10 @@ Index: libvirt-7.2.0/meson.build
'NLS': have_gnu_gettext_tools,
'numactl': numactl_dep.found(),
'openwsman': openwsman_dep.found(),
Index: libvirt-7.2.0/src/interface/meson.build
Index: libvirt-7.3.0/src/interface/meson.build
===================================================================
--- libvirt-7.2.0.orig/src/interface/meson.build
+++ libvirt-7.2.0/src/interface/meson.build
--- libvirt-7.3.0.orig/src/interface/meson.build
+++ libvirt-7.3.0/src/interface/meson.build
@@ -2,7 +2,7 @@ interface_driver_sources = [
'interface_driver.c',
]
@ -206,10 +206,10 @@ Index: libvirt-7.2.0/src/interface/meson.build
udev_dep,
],
'link_args': [
Index: libvirt-7.2.0/meson_options.txt
Index: libvirt-7.3.0/meson_options.txt
===================================================================
--- libvirt-7.2.0.orig/meson_options.txt
+++ libvirt-7.2.0/meson_options.txt
--- libvirt-7.3.0.orig/meson_options.txt
+++ libvirt-7.3.0/meson_options.txt
@@ -29,6 +29,7 @@ option('libpcap', type: 'feature', value
option('libssh', type: 'feature', value: 'auto', description: 'libssh support')
option('libssh2', type: 'feature', value: 'auto', description: 'libssh2 support')

View File

@ -1,3 +1,17 @@
-------------------------------------------------------------------
Mon May 3 22:14:22 UTC 2021 - James Fehlig <jfehlig@suse.com>
- Update to libvirt 7.3.0
- libvirt-admin package merged with libvirt-daemon
- libvirt-bash-completion package merged with libvirt-client and
libvirt-daemon packages
- Many incremental improvements and bug fixes, see
https://libvirt.org/news.html
- Dropped patches:
suse-bump-xen-version.patch
- Added patches:
libxl-add-mocking.patch
-------------------------------------------------------------------
Thu Apr 1 23:42:46 UTC 2021 - James Fehlig <jfehlig@suse.com>

View File

@ -141,7 +141,7 @@
Name: libvirt
URL: http://libvirt.org/
Version: 7.2.0
Version: 7.3.0
Release: 0
Summary: Library providing a virtualization API
License: LGPL-2.1-or-later
@ -293,6 +293,7 @@ Source100: %{name}-rpmlintrc
# Patches pending upstream review
Patch100: libxl-dom-reset.patch
Patch101: network-don-t-use-dhcp-authoritative-on-static-netwo.patch
Patch102: libxl-add-mocking.patch
# Need to go upstream
Patch150: libvirt-power8-models.patch
Patch151: ppc64le-canonical-name.patch
@ -316,8 +317,7 @@ Patch210: libvirt-suse-netcontrol.patch
Patch211: lxc-wait-after-eth-del.patch
Patch212: suse-libxl-disable-autoballoon.patch
Patch213: suse-xen-ovmf-loaders.patch
Patch214: suse-bump-xen-version.patch
Patch215: virt-create-rootfs.patch
Patch214: virt-create-rootfs.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@ -368,6 +368,8 @@ Requires: numad
# libvirtd depends on 'messagebus' service
Requires: dbus-1
Requires: group(libvirt)
# Needed by libvirt-guests init script.
Requires: gettext-runtime
# A KVM or Xen libvirt stack really does need UEFI firmware these days
%ifarch x86_64
@ -380,6 +382,11 @@ Requires: qemu-uefi-aarch64
Requires: apparmor-abstractions
%endif
# Ensure smooth upgrades
Obsoletes: libvirt-admin < 7.3.0
Provides: libvirt-admin
Obsoletes: libvirt-bash-completion < 7.3.0
%description daemon
Server side daemon required to manage the virtualization capabilities
of recent versions of Linux. Requires a hypervisor specific sub-RPM
@ -735,7 +742,7 @@ Requires: %{name}-daemon-driver-secret = %{version}-%{release}
Requires: %{name}-daemon-driver-storage = %{version}-%{release}
Requires: %{name}-daemon-driver-vbox = %{version}-%{release}
# Specify supported virtualbox API explicitly. See ./src/vbox
# Reference bsc#1017189
# Reference bsc#1017189
Requires: virtualbox < 5.3
%description daemon-vbox
@ -746,12 +753,12 @@ capabilities of VirtualBox
Summary: Client side utilities of the libvirt library
Group: System/Management
Requires: %{name}-libs = %{version}-%{release}
# Needed by libvirt-guests init script.
Requires: gettext-runtime
# Needed by virt-pki-validate script.
Requires: cyrus-sasl
Requires: gnutls
Recommends: %{name}-bash-completion = %{version}-%{release}
# Ensure smooth upgrades
Obsoletes: libvirt-bash-completion < 7.3.0
%description client
The client binaries needed to access the virtualization
@ -767,24 +774,6 @@ Requires: cyrus-sasl-digestmd5
%description libs
Shared libraries for accessing the libvirt daemon.
%package admin
Summary: Set of tools to control libvirt daemon
Group: System/Management
Requires: %{name}-libs = %{version}-%{release}
Recommends: %{name}-bash-completion = %{version}-%{release}
%description admin
The client side utilities to control the libvirt daemon.
%package bash-completion
Summary: Bash completion script
Group: System/Shells
BuildArch: noarch
Requires: bash-completion >= 2.0
%description bash-completion
Bash completion script stub.
%package devel
Summary: Libraries, includes, etc. to compile with the libvirt library
Group: Development/Libraries/C and C++
@ -1141,18 +1130,20 @@ mv %{buildroot}/%{_datadir}/systemtap/tapset/libvirt_qemu_probes.stp \
VIR_TEST_DEBUG=1 %meson_test -t 5 --no-suite syntax-check
%pre daemon
%service_add_pre libvirtd.service libvirtd.socket libvirtd-ro.socket libvirtd-admin.socket libvirtd-tcp.socket libvirtd-tls.socket virtlockd.service virtlockd.socket virtlogd.service virtlogd.socket virtlockd-admin.socket virtlogd-admin.socket virtproxyd.service virtproxyd.socket virtproxyd-ro.socket virtproxyd-admin.socket virtproxyd-tcp.socket virtproxyd-tls.socket virt-guest-shutdown.target
%service_add_pre libvirtd.service libvirtd.socket libvirtd-ro.socket libvirt-guests.service libvirtd-admin.socket libvirtd-tcp.socket libvirtd-tls.socket virtlockd.service virtlockd.socket virtlogd.service virtlogd.socket virtlockd-admin.socket virtlogd-admin.socket virtproxyd.service virtproxyd.socket virtproxyd-ro.socket virtproxyd-admin.socket virtproxyd-tcp.socket virtproxyd-tls.socket virt-guest-shutdown.target
%post daemon
/sbin/ldconfig
%if %{with_apparmor}
%apparmor_reload /etc/apparmor.d/usr.sbin.libvirtd
%endif
%service_add_post libvirtd.service libvirtd.socket libvirtd-ro.socket libvirtd-admin.socket libvirtd-tcp.socket libvirtd-tls.socket virtlockd.service virtlockd.socket virtlogd.service virtlogd.socket virtlockd-admin.socket virtlogd-admin.socket virtproxyd.service virtproxyd.socket virtproxyd-ro.socket virtproxyd-admin.socket virtproxyd-tcp.socket virtproxyd-tls.socket virt-guest-shutdown.target
%service_add_post libvirtd.service libvirtd.socket libvirtd-ro.socket libvirt-guests.service libvirtd-admin.socket libvirtd-tcp.socket libvirtd-tls.socket virtlockd.service virtlockd.socket virtlogd.service virtlogd.socket virtlockd-admin.socket virtlogd-admin.socket virtproxyd.service virtproxyd.socket virtproxyd-ro.socket virtproxyd-admin.socket virtproxyd-tcp.socket virtproxyd-tls.socket virt-guest-shutdown.target
%{fillup_only -n libvirtd}
%{fillup_only -n libvirt-guests}
%{fillup_only -n virtlockd}
%{fillup_only -n virtproxyd}
%{fillup_only -n virtlogd}
# The '--listen' option is incompatible with socket activation.
# We need to forcibly remove it from /etc/sysconfig/libvirtd.
# Also add the --timeout option to be consistent with upstream.
@ -1163,12 +1154,15 @@ if ! grep -q -E '^\s*LIBVIRTD_ARGS=.*--timeout' %{_sysconfdir}/sysconfig/libvirt
fi
%preun daemon
%service_del_preun libvirtd.service libvirtd.socket libvirtd-ro.socket libvirtd-admin.socket libvirtd-tcp.socket libvirtd-tls.socket virtlockd.service virtlockd.socket virtlogd.service virtlogd.socket virtlockd-admin.socket virtlogd-admin.socket virtproxyd.service virtproxyd.socket virtproxyd-ro.socket virtproxyd-admin.socket virtproxyd-tcp.socket virtproxyd-tls.socket virt-guest-shutdown.target
%service_del_preun libvirtd.service libvirtd.socket libvirtd-ro.socket libvirt-guests.service libvirtd-admin.socket libvirtd-tcp.socket libvirtd-tls.socket virtlockd.service virtlockd.socket virtlogd.service virtlogd.socket virtlockd-admin.socket virtlogd-admin.socket virtproxyd.service virtproxyd.socket virtproxyd-ro.socket virtproxyd-admin.socket virtproxyd-tcp.socket virtproxyd-tls.socket virt-guest-shutdown.target
if [ $1 = 0 ]; then
rm -f /var/lib/%{name}/libvirt-guests
fi
%postun daemon
/sbin/ldconfig
# Handle restart/reload in posttrans
%service_del_postun_without_restart libvirtd.service libvirtd.socket libvirtd-ro.socket libvirtd-admin.socket libvirtd-tcp.socket libvirtd-tls.socket virtlockd.service virtlockd.socket virtlogd.service virtlogd.socket virtlockd-admin.socket virtlogd-admin.socket virtproxyd.service virtproxyd.socket virtproxyd-ro.socket virtproxyd-admin.socket virtproxyd-tcp.socket virtproxyd-tls.socket virt-guest-shutdown.target
%service_del_postun_without_restart libvirtd.service libvirtd.socket libvirtd-ro.socket libvirt-guests.service libvirtd-admin.socket libvirtd-tcp.socket libvirtd-tls.socket virtlockd.service virtlockd.socket virtlogd.service virtlogd.socket virtlockd-admin.socket virtlogd-admin.socket virtproxyd.service virtproxyd.socket virtproxyd-ro.socket virtproxyd-admin.socket virtproxyd-tcp.socket virtproxyd-tls.socket virt-guest-shutdown.target
%posttrans daemon
# virtlockd and virtlogd must not be restarted, particularly virtlockd since the
@ -1322,22 +1316,6 @@ fi
%postun daemon-driver-libxl
%service_del_postun virtxend.service virtxend.socket virtxend-ro.socket virtxend-admin.socket
%pre client
%service_add_pre libvirt-guests.service
%post client
%service_add_post libvirt-guests.service
%{fillup_only -n libvirt-guests}
%preun client
%service_del_preun libvirt-guests.service
if [ $1 = 0 ]; then
rm -f /var/lib/%{name}/libvirt-guests
fi
%postun client
%service_del_postun_without_restart libvirt-guests.service
%post libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig
@ -1354,15 +1332,18 @@ fi
%{_sbindir}/virtlogd
%{_sbindir}/virtlockd
%dir %{_libdir}/%{name}
%attr(0755, root, root) %{_libdir}/%{name}/libvirt-guests.sh
%dir %attr(0700, root, root) %{_sysconfdir}/%{name}/
%dir %attr(0700, root, root) %{_sysconfdir}/%{name}/hooks
%{_fillupdir}/sysconfig.libvirtd
%{_fillupdir}/sysconfig.libvirt-guests
%{_fillupdir}/sysconfig.virtproxyd
%{_fillupdir}/sysconfig.virtlogd
%{_fillupdir}/sysconfig.virtlockd
%{_unitdir}/libvirtd.service
%{_unitdir}/libvirtd.socket
%{_unitdir}/libvirtd-ro.socket
%{_unitdir}/libvirt-guests.service
%{_unitdir}/libvirtd-admin.socket
%{_unitdir}/libvirtd-tcp.socket
%{_unitdir}/libvirtd-tls.socket
@ -1380,9 +1361,12 @@ fi
%{_unitdir}/virtlockd.socket
%{_unitdir}/virtlockd-admin.socket
%{_sbindir}/rclibvirtd
%{_sbindir}/rclibvirt-guests
%{_sbindir}/rcvirtlogd
%{_sbindir}/rcvirtlockd
%{_sbindir}/rcvirtproxyd
%{_bindir}/virt-admin
%{_bindir}/virt-host-validate
%config(noreplace) %{_sysconfdir}/%{name}/libvirtd.conf
%config(noreplace) %{_sysconfdir}/%{name}/virtproxyd.conf
%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd
@ -1403,11 +1387,7 @@ fi
%{_datadir}/augeas/lenses/tests/test_virtproxyd.aug
%{_datadir}/augeas/lenses/libvirt_lockd.aug
%{_datadir}/augeas/lenses/tests/test_libvirt_lockd.aug
%{_datadir}/systemtap/tapset/libvirt_probes*.stp
%{_datadir}/systemtap/tapset/libvirt_functions.stp
%if %{with_qemu}
%{_datadir}/systemtap/tapset/libvirt_qemu_probes*.stp
%endif
%{_datadir}/bash-completion/completions/virt-admin
%dir %{_localstatedir}/lib/%{name}/
%dir %attr(0711, root, root) %{_localstatedir}/lib/%{name}/images/
%dir %attr(0711, root, root) %{_localstatedir}/lib/%{name}/filesystems/
@ -1423,6 +1403,8 @@ fi
%{_datadir}/polkit-1/actions/org.libvirt.api.policy
%attr(0755, root, root) %{_libdir}/%{name}/libvirt_iohelper
%attr(0755, root, root) %{_bindir}/virt-ssh-helper
%doc %{_mandir}/man1/virt-admin.1*
%doc %{_mandir}/man1/virt-host-validate.1*
%doc %{_mandir}/man8/libvirtd.8*
%doc %{_mandir}/man8/virtlogd.8*
%doc %{_mandir}/man8/virtlockd.8*
@ -1729,17 +1711,11 @@ fi
%doc %{_mandir}/man1/virsh.1*
%doc %{_mandir}/man1/virt-xml-validate.1*
%doc %{_mandir}/man1/virt-pki-validate.1*
%doc %{_mandir}/man1/virt-host-validate.1*
%{_bindir}/virsh
%{_bindir}/virt-xml-validate
%{_bindir}/virt-pki-validate
%{_bindir}/virt-host-validate
%{_datadir}/bash-completion/completions/virsh
%dir %{_libdir}/%{name}
%attr(0755, root, root) %{_libdir}/%{name}/libvirt-guests.sh
%{_fillupdir}/sysconfig.libvirt-guests
%{_unitdir}/libvirt-guests.service
%{_sbindir}/rclibvirt-guests
%files libs -f %{name}.lang
%config(noreplace) %{_sysconfdir}/%{name}/libvirt.conf
@ -1752,19 +1728,15 @@ fi
%dir %{_datadir}/%{name}/schemas/
%dir %{_datadir}/%{name}/cpu_map/
%dir %attr(0755, root, root) %{_localstatedir}/lib/%{name}/
%{_datadir}/systemtap/tapset/libvirt_probes*.stp
%{_datadir}/systemtap/tapset/libvirt_functions.stp
%if %{with_qemu}
%{_datadir}/systemtap/tapset/libvirt_qemu_probes*.stp
%endif
%{_datadir}/%{name}/schemas/*.rng
%{_datadir}/%{name}/cpu_map/*.xml
%{_datadir}/%{name}/test-screenshot.png
%files admin
%doc %{_mandir}/man1/virt-admin.1*
%{_bindir}/virt-admin
%{_datadir}/bash-completion/completions/virt-admin
%files bash-completion
%{_datadir}/bash-completion/completions/vsh
%files devel
%{_libdir}/libvirt.so
%{_libdir}/libvirt-admin.so

46
libxl-add-mocking.patch Normal file
View File

@ -0,0 +1,46 @@
commit 898598bfc8605a889a1389535597eca22943390f
Author: Jim Fehlig <jfehlig@suse.com>
Date: Mon May 17 11:52:25 2021 -0600
tests: libxl: Mock xs_open and xs_close
The Xen-related unit tests are failing against the recently released
Xen 4.15. Xen commit 90c9f9f4dd changed the implementation of
libxl_ctx_alloc to use xs_open instead of xs_daemon_open. libvirt has
already mocked xs_daemon-{open,close} and others to allow using libxl
in confined build environments. This patch adds xs_{open,close} to the
list of functions mocked in libxlmock.c
https://github.com/xen-project/xen/commit/90c9f9f4ddd55e11be0506bff10c6237507c6e0d
Signed-off-by: Jim Fehlig <jfehlig@suse.com>
Index: libvirt-7.3.0/tests/libxlmock.c
===================================================================
--- libvirt-7.3.0.orig/tests/libxlmock.c
+++ libvirt-7.3.0/tests/libxlmock.c
@@ -39,6 +39,14 @@ VIR_MOCK_IMPL_RET_VOID(xs_daemon_open,
return (void*)0x1;
}
+VIR_MOCK_IMPL_RET_ARGS(xs_open,
+ struct xs_handle *,
+ unsigned long, flags)
+{
+ VIR_MOCK_REAL_INIT(xs_open);
+ return (void*)0x1;
+}
+
VIR_MOCK_IMPL_RET_ARGS(xc_interface_open,
xc_interface *,
xentoollog_logger *, logger,
@@ -94,6 +102,9 @@ VIR_MOCK_STUB_RET_ARGS(xc_sharing_used_f
VIR_MOCK_STUB_VOID_ARGS(xs_daemon_close,
struct xs_handle *, handle)
+VIR_MOCK_STUB_VOID_ARGS(xs_close,
+ struct xs_handle *, xsh)
+
VIR_MOCK_STUB_RET_ARGS(bind,
int, 0,
int, sockfd,

View File

@ -8,19 +8,19 @@ 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-7.2.0/src/libxl/libxl_driver.c
Index: libvirt-7.3.0/src/libxl/libxl_driver.c
===================================================================
--- libvirt-7.2.0.orig/src/libxl/libxl_driver.c
+++ libvirt-7.2.0/src/libxl/libxl_driver.c
@@ -1372,6 +1372,61 @@ libxlDomainReboot(virDomainPtr dom, unsi
--- libvirt-7.3.0.orig/src/libxl/libxl_driver.c
+++ libvirt-7.3.0/src/libxl/libxl_driver.c
@@ -1371,6 +1371,63 @@ libxlDomainReboot(virDomainPtr dom, unsi
}
static int
+libxlDomainReset(virDomainPtr dom, unsigned int flags)
+{
+ libxlDriverPrivatePtr driver = dom->conn->privateData;
+ libxlDriverConfigPtr cfg = libxlDriverConfigGet(driver);
+ virDomainObjPtr vm;
+ libxlDriverPrivate *driver = dom->conn->privateData;
+ libxlDriverConfig *cfg = libxlDriverConfigGet(driver);
+ virDomainObj *vm;
+ int ret = -1;
+
+ virCheckFlags(0, -1);
@ -28,6 +28,8 @@ Index: libvirt-7.2.0/src/libxl/libxl_driver.c
+ if (!(vm = libxlDomObjFromDomain(dom)))
+ goto cleanup;
+
+ LIBXL_CHECK_DOM0_GOTO(vm->def->name, cleanup);
+
+ if (virDomainResetEnsureACL(dom->conn, vm->def) < 0)
+ goto cleanup;
+
@ -74,7 +76,7 @@ Index: libvirt-7.2.0/src/libxl/libxl_driver.c
libxlDomainDestroyFlags(virDomainPtr dom,
unsigned int flags)
{
@@ -6485,6 +6540,7 @@ static virHypervisorDriver libxlHypervis
@@ -6495,6 +6552,7 @@ static virHypervisorDriver libxlHypervis
.domainShutdown = libxlDomainShutdown, /* 0.9.0 */
.domainShutdownFlags = libxlDomainShutdownFlags, /* 0.9.10 */
.domainReboot = libxlDomainReboot, /* 0.9.0 */

View File

@ -3,11 +3,11 @@ https://bugzilla.novell.com/show_bug.cgi?id=879425
src/libxl/libxl_conf.c | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
Index: libvirt-7.2.0/src/libxl/libxl_conf.c
Index: libvirt-7.3.0/src/libxl/libxl_conf.c
===================================================================
--- libvirt-7.2.0.orig/src/libxl/libxl_conf.c
+++ libvirt-7.2.0/src/libxl/libxl_conf.c
@@ -916,6 +916,30 @@ libxlDiskSetDiscard(libxl_device_disk *x
--- libvirt-7.3.0.orig/src/libxl/libxl_conf.c
+++ libvirt-7.3.0/src/libxl/libxl_conf.c
@@ -917,6 +917,30 @@ libxlDiskSetDiscard(libxl_device_disk *x
#endif
}
@ -36,9 +36,9 @@ Index: libvirt-7.2.0/src/libxl/libxl_conf.c
+}
+
static char *
libxlMakeNetworkDiskSrcStr(virStorageSourcePtr src,
libxlMakeNetworkDiskSrcStr(virStorageSource *src,
const char *username,
@@ -1158,6 +1182,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
@@ -1159,6 +1183,7 @@ libxlMakeDisk(virDomainDiskDef *l_disk,
x_disk->is_cdrom = l_disk->device == VIR_DOMAIN_DISK_DEVICE_CDROM ? 1 : 0;
if (libxlDiskSetDiscard(x_disk, l_disk->discard) < 0)
return -1;

View File

@ -16,11 +16,11 @@ Signed-off-by: Jim Fehlig <jfehlig@suse.com>
tools/virsh.pod | 8 ++++++++
6 files changed, 125 insertions(+), 6 deletions(-)
Index: libvirt-7.2.0/docs/manpages/virsh.rst
Index: libvirt-7.3.0/docs/manpages/virsh.rst
===================================================================
--- libvirt-7.2.0.orig/docs/manpages/virsh.rst
+++ libvirt-7.2.0/docs/manpages/virsh.rst
@@ -3178,7 +3178,8 @@ migrate
--- libvirt-7.3.0.orig/docs/manpages/virsh.rst
+++ libvirt-7.3.0/docs/manpages/virsh.rst
@@ -3179,7 +3179,8 @@ migrate
[--postcopy-bandwidth bandwidth]
[--parallel [--parallel-connections connections]]
[--bandwidth bandwidth] [--tls-destination hostname]
@ -30,7 +30,7 @@ Index: libvirt-7.2.0/docs/manpages/virsh.rst
Migrate domain to another host. Add *--live* for live migration; <--p2p>
for peer-2-peer migration; *--direct* for direct migration; or *--tunnelled*
@@ -3284,6 +3285,12 @@ parallel connections. The number of such
@@ -3285,6 +3286,12 @@ parallel connections. The number of such
network link between the source and the target and thus speeding up the
migration.
@ -43,10 +43,10 @@ Index: libvirt-7.2.0/docs/manpages/virsh.rst
Running migration can be canceled by interrupting virsh (usually using
``Ctrl-C``) or by ``domjobabort`` command sent from another virsh instance.
Index: libvirt-7.2.0/include/libvirt/libvirt-domain.h
Index: libvirt-7.3.0/include/libvirt/libvirt-domain.h
===================================================================
--- libvirt-7.2.0.orig/include/libvirt/libvirt-domain.h
+++ libvirt-7.2.0/include/libvirt/libvirt-domain.h
--- libvirt-7.3.0.orig/include/libvirt/libvirt-domain.h
+++ libvirt-7.3.0/include/libvirt/libvirt-domain.h
@@ -1078,6 +1078,25 @@ typedef enum {
*/
# define VIR_MIGRATE_PARAM_TLS_DESTINATION "tls.destination"
@ -73,11 +73,11 @@ Index: libvirt-7.2.0/include/libvirt/libvirt-domain.h
/* Domain migration. */
virDomainPtr virDomainMigrate (virDomainPtr domain, virConnectPtr dconn,
unsigned long flags, const char *dname,
Index: libvirt-7.2.0/src/libxl/libxl_driver.c
Index: libvirt-7.3.0/src/libxl/libxl_driver.c
===================================================================
--- libvirt-7.2.0.orig/src/libxl/libxl_driver.c
+++ libvirt-7.2.0/src/libxl/libxl_driver.c
@@ -6047,6 +6047,9 @@ libxlDomainMigratePerform3Params(virDoma
--- libvirt-7.3.0.orig/src/libxl/libxl_driver.c
+++ libvirt-7.3.0/src/libxl/libxl_driver.c
@@ -6059,6 +6059,9 @@ libxlDomainMigratePerform3Params(virDoma
const char *dname = NULL;
const char *uri = NULL;
int ret = -1;
@ -87,7 +87,7 @@ Index: libvirt-7.2.0/src/libxl/libxl_driver.c
#ifdef LIBXL_HAVE_NO_SUSPEND_RESUME
virReportUnsupportedError();
@@ -6063,6 +6066,15 @@ libxlDomainMigratePerform3Params(virDoma
@@ -6075,6 +6078,15 @@ libxlDomainMigratePerform3Params(virDoma
virTypedParamsGetString(params, nparams,
VIR_MIGRATE_PARAM_DEST_NAME,
&dname) < 0 ||
@ -103,7 +103,7 @@ Index: libvirt-7.2.0/src/libxl/libxl_driver.c
virTypedParamsGetString(params, nparams,
VIR_MIGRATE_PARAM_URI,
&uri) < 0)
@@ -6077,11 +6089,11 @@ libxlDomainMigratePerform3Params(virDoma
@@ -6089,11 +6101,11 @@ libxlDomainMigratePerform3Params(virDoma
if ((flags & (VIR_MIGRATE_TUNNELLED | VIR_MIGRATE_PEER2PEER))) {
if (libxlDomainMigrationSrcPerformP2P(driver, vm, dom->conn, dom_xml,
@ -117,19 +117,19 @@ Index: libvirt-7.2.0/src/libxl/libxl_driver.c
goto cleanup;
}
Index: libvirt-7.2.0/src/libxl/libxl_migration.c
Index: libvirt-7.3.0/src/libxl/libxl_migration.c
===================================================================
--- libvirt-7.2.0.orig/src/libxl/libxl_migration.c
+++ libvirt-7.2.0/src/libxl/libxl_migration.c
@@ -340,18 +340,38 @@ libxlMigrateDstReceive(virNetSocketPtr s
--- libvirt-7.3.0.orig/src/libxl/libxl_migration.c
+++ libvirt-7.3.0/src/libxl/libxl_migration.c
@@ -340,18 +340,38 @@ libxlMigrateDstReceive(virNetSocket *soc
static int
libxlDoMigrateSrcSend(libxlDriverPrivatePtr driver,
virDomainObjPtr vm,
libxlDoMigrateSrcSend(libxlDriverPrivate *driver,
virDomainObj *vm,
- unsigned long flags,
+ const libxlDomainMigrationProps *props,
int sockfd)
{
libxlDriverConfigPtr cfg = libxlDriverConfigGet(driver);
libxlDriverConfig *cfg = libxlDriverConfigGet(driver);
+#ifdef LIBXL_HAVE_DOMAIN_SUSPEND_SUSE
+ libxl_domain_suspend_suse_properties libxl_props = {
+ .flags = 0,
@ -164,8 +164,8 @@ Index: libvirt-7.2.0/src/libxl/libxl_migration.c
_("Failed to send migration data to destination host"));
@@ -898,7 +918,7 @@ struct libxlTunnelControl {
static int
libxlMigrationSrcStartTunnel(libxlDriverPrivatePtr driver,
virDomainObjPtr vm,
libxlMigrationSrcStartTunnel(libxlDriverPrivate *driver,
virDomainObj *vm,
- unsigned long flags,
+ const libxlDomainMigrationProps *props,
virStreamPtr st,
@ -180,7 +180,7 @@ Index: libvirt-7.2.0/src/libxl/libxl_migration.c
virObjectLock(vm);
out:
@@ -967,7 +987,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
@@ -967,7 +987,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivate
const char *dconnuri G_GNUC_UNUSED,
const char *dname,
const char *uri,
@ -189,7 +189,7 @@ Index: libvirt-7.2.0/src/libxl/libxl_migration.c
{
virDomainPtr ddomain = NULL;
virTypedParameterPtr params = NULL;
@@ -1012,11 +1032,11 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
@@ -1012,11 +1032,11 @@ libxlDoMigrateSrcP2P(libxlDriverPrivate
/* We don't require the destination to have P2P support
* as it looks to be normal migration from the receiver perspective.
*/
@ -203,7 +203,7 @@ Index: libvirt-7.2.0/src/libxl/libxl_migration.c
if (!(st = virStreamNew(dconn, 0)))
goto confirm;
ret = dconn->driver->domainMigratePrepareTunnel3Params
@@ -1030,7 +1050,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
@@ -1030,7 +1050,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivate
if (ret == -1)
goto confirm;
@ -212,7 +212,7 @@ Index: libvirt-7.2.0/src/libxl/libxl_migration.c
if (uri_out) {
if (virTypedParamsReplaceString(&params, &nparams,
VIR_MIGRATE_PARAM_URI, uri_out) < 0) {
@@ -1045,11 +1065,11 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
@@ -1045,11 +1065,11 @@ libxlDoMigrateSrcP2P(libxlDriverPrivate
}
VIR_DEBUG("Perform3 uri=%s", NULLSTR(uri_out));
@ -227,7 +227,7 @@ Index: libvirt-7.2.0/src/libxl/libxl_migration.c
if (ret < 0) {
notify_source = false;
virErrorPreserveLast(&orig_err);
@@ -1084,7 +1104,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
@@ -1084,7 +1104,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivate
confirm:
if (notify_source) {
VIR_DEBUG("Confirm3 cancelled=%d vm=%p", cancelled, vm);
@ -236,7 +236,7 @@ Index: libvirt-7.2.0/src/libxl/libxl_migration.c
if (ret < 0)
VIR_WARN("Guest %s probably left in 'paused' state on source",
@@ -1092,7 +1112,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
@@ -1092,7 +1112,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivate
}
cleanup:
@ -270,7 +270,7 @@ Index: libvirt-7.2.0/src/libxl/libxl_migration.c
- unsigned int flags)
+ const libxlDomainMigrationProps *props)
{
libxlDomainObjPrivatePtr priv = vm->privateData;
libxlDomainObjPrivate *priv = vm->privateData;
char *hostname = NULL;
@@ -1236,7 +1256,7 @@ libxlDomainMigrationSrcPerform(libxlDriv
@ -281,10 +281,10 @@ Index: libvirt-7.2.0/src/libxl/libxl_migration.c
virObjectLock(vm);
if (ret == 0) {
Index: libvirt-7.2.0/src/libxl/libxl_migration.h
Index: libvirt-7.3.0/src/libxl/libxl_migration.h
===================================================================
--- libvirt-7.2.0.orig/src/libxl/libxl_migration.h
+++ libvirt-7.2.0/src/libxl/libxl_migration.h
--- libvirt-7.3.0.orig/src/libxl/libxl_migration.h
+++ libvirt-7.3.0/src/libxl/libxl_migration.h
@@ -35,6 +35,9 @@
VIR_MIGRATE_PARAM_URI, VIR_TYPED_PARAM_STRING, \
VIR_MIGRATE_PARAM_DEST_NAME, VIR_TYPED_PARAM_STRING, \
@ -307,8 +307,8 @@ Index: libvirt-7.2.0/src/libxl/libxl_migration.h
+} libxlDomainMigrationProps;
+
int
libxlDomainMigrationSrcPerformP2P(libxlDriverPrivatePtr driver,
virDomainObjPtr vm,
libxlDomainMigrationSrcPerformP2P(libxlDriverPrivate *driver,
virDomainObj *vm,
@@ -74,7 +84,7 @@ libxlDomainMigrationSrcPerformP2P(libxlD
const char *dconnuri,
const char *uri_str,
@ -317,7 +317,7 @@ Index: libvirt-7.2.0/src/libxl/libxl_migration.h
+ const libxlDomainMigrationProps *props);
int
libxlDomainMigrationSrcPerform(libxlDriverPrivatePtr driver,
libxlDomainMigrationSrcPerform(libxlDriverPrivate *driver,
@@ -83,7 +93,7 @@ libxlDomainMigrationSrcPerform(libxlDriv
const char *dconnuri,
const char *uri_str,
@ -327,11 +327,11 @@ Index: libvirt-7.2.0/src/libxl/libxl_migration.h
virDomainPtr
libxlDomainMigrationDstFinish(virConnectPtr dconn,
Index: libvirt-7.2.0/tools/virsh-domain.c
Index: libvirt-7.3.0/tools/virsh-domain.c
===================================================================
--- libvirt-7.2.0.orig/tools/virsh-domain.c
+++ libvirt-7.2.0/tools/virsh-domain.c
@@ -10691,6 +10691,18 @@ static const vshCmdOptDef opts_migrate[]
--- libvirt-7.3.0.orig/tools/virsh-domain.c
+++ libvirt-7.3.0/tools/virsh-domain.c
@@ -10683,6 +10683,18 @@ static const vshCmdOptDef opts_migrate[]
.type = VSH_OT_STRING,
.help = N_("override the destination host name used for TLS verification")
},
@ -350,7 +350,7 @@ Index: libvirt-7.2.0/tools/virsh-domain.c
{.name = NULL}
};
@@ -10711,6 +10723,7 @@ doMigrate(void *opaque)
@@ -10703,6 +10715,7 @@ doMigrate(void *opaque)
unsigned long long ullOpt = 0;
int rv;
virConnectPtr dconn = data->dconn;
@ -358,7 +358,7 @@ Index: libvirt-7.2.0/tools/virsh-domain.c
#ifndef WIN32
sigset_t sigmask, oldsigmask;
@@ -10841,6 +10854,22 @@ doMigrate(void *opaque)
@@ -10833,6 +10846,22 @@ doMigrate(void *opaque)
goto save_error;
}

View File

@ -7,11 +7,11 @@ and npiv.
For more details, see bsc#954872 and FATE#319810
Index: libvirt-7.2.0/src/libxl/libxl_conf.c
Index: libvirt-7.3.0/src/libxl/libxl_conf.c
===================================================================
--- libvirt-7.2.0.orig/src/libxl/libxl_conf.c
+++ libvirt-7.2.0/src/libxl/libxl_conf.c
@@ -916,6 +916,22 @@ libxlDiskSetDiscard(libxl_device_disk *x
--- libvirt-7.3.0.orig/src/libxl/libxl_conf.c
+++ libvirt-7.3.0/src/libxl/libxl_conf.c
@@ -917,6 +917,22 @@ libxlDiskSetDiscard(libxl_device_disk *x
#endif
}
@ -34,15 +34,15 @@ Index: libvirt-7.2.0/src/libxl/libxl_conf.c
static void
libxlDiskSetCacheMode(libxl_device_disk *x_disk, int cachemode)
{
@@ -1057,6 +1073,7 @@ libxlMakeNetworkDiskSrc(virStorageSource
@@ -1058,6 +1074,7 @@ libxlMakeNetworkDiskSrc(virStorageSource
int
libxlMakeDisk(virDomainDiskDefPtr l_disk, libxl_device_disk *x_disk)
libxlMakeDisk(virDomainDiskDef *l_disk, libxl_device_disk *x_disk)
{
+ const char *src = virDomainDiskGetSource(l_disk);
const char *driver = virDomainDiskGetDriver(l_disk);
int format = virDomainDiskGetFormat(l_disk);
int actual_type = virStorageSourceGetActualType(l_disk->src);
@@ -1072,7 +1089,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
@@ -1073,7 +1090,7 @@ libxlMakeDisk(virDomainDiskDef *l_disk,
if (libxlMakeNetworkDiskSrc(l_disk->src, &x_disk->pdev_path) < 0)
return -1;
} else {
@ -51,7 +51,7 @@ Index: libvirt-7.2.0/src/libxl/libxl_conf.c
}
x_disk->vdev = g_strdup(l_disk->dst);
@@ -1183,6 +1200,9 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
@@ -1184,6 +1201,9 @@ libxlMakeDisk(virDomainDiskDef *l_disk,
if (libxlDiskSetDiscard(x_disk, l_disk->discard) < 0)
return -1;
libxlDiskSetCacheMode(x_disk, l_disk->cachemode);

View File

@ -13,11 +13,11 @@ device with the same name that is being created.
src/lxc/lxc_process.c | 1 +
3 files changed, 4 insertions(+)
Index: libvirt-7.2.0/src/lxc/lxc_controller.c
Index: libvirt-7.3.0/src/lxc/lxc_controller.c
===================================================================
--- libvirt-7.2.0.orig/src/lxc/lxc_controller.c
+++ libvirt-7.2.0/src/lxc/lxc_controller.c
@@ -2005,6 +2005,7 @@ static int virLXCControllerDeleteInterfa
--- libvirt-7.3.0.orig/src/lxc/lxc_controller.c
+++ libvirt-7.3.0/src/lxc/lxc_controller.c
@@ -2013,6 +2013,7 @@ static int virLXCControllerDeleteInterfa
if (virNetDevVethDelete(ctrl->veths[i]) < 0)
ret = -1;
}
@ -25,10 +25,10 @@ Index: libvirt-7.2.0/src/lxc/lxc_controller.c
return ret;
}
Index: libvirt-7.2.0/src/lxc/lxc_driver.c
Index: libvirt-7.3.0/src/lxc/lxc_driver.c
===================================================================
--- libvirt-7.2.0.orig/src/lxc/lxc_driver.c
+++ libvirt-7.2.0/src/lxc/lxc_driver.c
--- libvirt-7.3.0.orig/src/lxc/lxc_driver.c
+++ libvirt-7.3.0/src/lxc/lxc_driver.c
@@ -67,6 +67,7 @@
#include "virtime.h"
#include "virtypedparam.h"
@ -53,10 +53,10 @@ Index: libvirt-7.2.0/src/lxc/lxc_driver.c
break;
/* It'd be nice to support this, but with macvlan
Index: libvirt-7.2.0/src/lxc/lxc_process.c
Index: libvirt-7.3.0/src/lxc/lxc_process.c
===================================================================
--- libvirt-7.2.0.orig/src/lxc/lxc_process.c
+++ libvirt-7.2.0/src/lxc/lxc_process.c
--- libvirt-7.3.0.orig/src/lxc/lxc_process.c
+++ libvirt-7.3.0/src/lxc/lxc_process.c
@@ -51,6 +51,7 @@
#include "virstring.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-7.2.0/src/network/bridge_driver.c
Index: libvirt-7.3.0/src/network/bridge_driver.c
===================================================================
--- libvirt-7.2.0.orig/src/network/bridge_driver.c
+++ libvirt-7.2.0/src/network/bridge_driver.c
@@ -1483,7 +1483,14 @@ networkDnsmasqConfContents(virNetworkObj
--- libvirt-7.3.0.orig/src/network/bridge_driver.c
+++ libvirt-7.3.0/src/network/bridge_driver.c
@@ -1482,7 +1482,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-7.2.0/src/network/bridge_driver.c
}
if (ipdef->tftproot) {
Index: libvirt-7.2.0/tests/networkxml2confdata/dhcp6host-routed-network.conf
Index: libvirt-7.3.0/tests/networkxml2confdata/dhcp6host-routed-network.conf
===================================================================
--- libvirt-7.2.0.orig/tests/networkxml2confdata/dhcp6host-routed-network.conf
+++ libvirt-7.2.0/tests/networkxml2confdata/dhcp6host-routed-network.conf
--- libvirt-7.3.0.orig/tests/networkxml2confdata/dhcp6host-routed-network.conf
+++ libvirt-7.3.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-7.2.0/src/util/virarch.c
Index: libvirt-7.3.0/src/util/virarch.c
===================================================================
--- libvirt-7.2.0.orig/src/util/virarch.c
+++ libvirt-7.2.0/src/util/virarch.c
--- libvirt-7.3.0.orig/src/util/virarch.c
+++ libvirt-7.3.0/src/util/virarch.c
@@ -220,6 +220,8 @@ virArch virArchFromHost(void)
arch = VIR_ARCH_I686;
} else if (STREQ(ut.machine, "amd64")) {

View File

@ -1,7 +1,7 @@
Index: libvirt-7.2.0/src/security/apparmor/libvirt-qemu
Index: libvirt-7.3.0/src/security/apparmor/libvirt-qemu
===================================================================
--- libvirt-7.2.0.orig/src/security/apparmor/libvirt-qemu
+++ libvirt-7.2.0/src/security/apparmor/libvirt-qemu
--- libvirt-7.3.0.orig/src/security/apparmor/libvirt-qemu
+++ libvirt-7.3.0/src/security/apparmor/libvirt-qemu
@@ -244,3 +244,6 @@
# /sys/bus/nd/devices
/ r, # harmless on any lsb compliant system

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-7.2.0/src/security/apparmor/libvirt-qemu
Index: libvirt-7.3.0/src/security/apparmor/libvirt-qemu
===================================================================
--- libvirt-7.2.0.orig/src/security/apparmor/libvirt-qemu
+++ libvirt-7.2.0/src/security/apparmor/libvirt-qemu
--- libvirt-7.3.0.orig/src/security/apparmor/libvirt-qemu
+++ libvirt-7.3.0/src/security/apparmor/libvirt-qemu
@@ -64,6 +64,7 @@
#/dev/fb* rw,
@ -20,10 +20,10 @@ Index: libvirt-7.2.0/src/security/apparmor/libvirt-qemu
@{HOME}/.pulse-cookie rwk,
owner /root/.pulse-cookie rwk,
owner /root/.pulse/ rw,
Index: libvirt-7.2.0/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in
Index: libvirt-7.3.0/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in
===================================================================
--- libvirt-7.2.0.orig/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in
+++ libvirt-7.2.0/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in
--- libvirt-7.3.0.orig/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in
+++ libvirt-7.3.0/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in
@@ -19,7 +19,7 @@ profile virt-aa-helper @libexecdir@/virt
# Used when internally running another command (namely apparmor_parser)
@{PROC}/@{pid}/fd/ r,

View File

@ -1,83 +0,0 @@
Bump minimum supported Xen version to 4.9
There were no changes to the libxl API between 4.8 and 4.9, so
the LIBXL_API_VERSION is set to 0x040800.
Note: xen.git commit c3999835df is needed in any Xen package where
this patch is expected to work. It is included in Xen 4.13, but would
need backporting to anything older. The dependency on xen.git commit
c3999835df makes it hard to upstream this patch.
See bsc#1157490 and bsc#1167007 for more details
Index: libvirt-7.2.0/src/libxl/libxl_conf.c
===================================================================
--- libvirt-7.2.0.orig/src/libxl/libxl_conf.c
+++ libvirt-7.2.0/src/libxl/libxl_conf.c
@@ -1822,7 +1822,7 @@ libxlDriverConfigNew(void)
int
libxlDriverConfigInit(libxlDriverConfigPtr cfg)
{
- unsigned int free_mem;
+ uint64_t free_mem;
if (g_mkdir_with_parents(cfg->logDir, 0777) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR,
Index: libvirt-7.2.0/src/libxl/libxl_domain.c
===================================================================
--- libvirt-7.2.0.orig/src/libxl/libxl_domain.c
+++ libvirt-7.2.0/src/libxl/libxl_domain.c
@@ -1007,8 +1007,8 @@ libxlDomainSetVcpuAffinities(libxlDriver
static int
libxlDomainFreeMem(libxl_ctx *ctx, libxl_domain_config *d_config)
{
- uint32_t needed_mem;
- uint32_t free_mem;
+ uint64_t needed_mem;
+ uint64_t free_mem;
int32_t target_mem;
int tries = 3;
int wait_secs = 10;
@@ -1397,7 +1397,7 @@ libxlDomainStart(libxlDriverPrivatePtr d
params.stream_version = restore_ver;
#endif
ret = libxl_domain_create_restore(cfg->ctx, &d_config, &domid,
- restore_fd, &params, NULL,
+ restore_fd, -1, &params, NULL,
&aop_console_how);
libxl_domain_restore_params_dispose(&params);
}
Index: libvirt-7.2.0/tests/libxlmock.c
===================================================================
--- libvirt-7.2.0.orig/tests/libxlmock.c
+++ libvirt-7.2.0/tests/libxlmock.c
@@ -67,7 +67,7 @@ VIR_MOCK_IMPL_RET_ARGS(libxl_get_version
VIR_MOCK_STUB_RET_ARGS(libxl_get_free_memory,
int, 0,
libxl_ctx *, ctx,
- uint32_t *, memkb);
+ uint64_t *, memkb);
VIR_MOCK_STUB_RET_ARGS(xc_interface_close,
int, 0,
Index: libvirt-7.2.0/meson.build
===================================================================
--- libvirt-7.2.0.orig/meson.build
+++ libvirt-7.2.0/meson.build
@@ -1569,7 +1569,7 @@ elif get_option('driver_interface').enab
endif
if not get_option('driver_libxl').disabled() and conf.has('WITH_LIBVIRTD')
- libxl_version = '4.6.0'
+ libxl_version = '4.9.0'
libxl_dep = dependency('xenlight', version: '>=' + libxl_version, required: get_option('driver_libxl'))
if libxl_dep.found()
@@ -1599,7 +1599,7 @@ if not get_option('driver_libxl').disabl
endif
libxl_dep = declare_dependency(
- compile_args: '-DLIBXL_API_VERSION=0x040500',
+ compile_args: '-DLIBXL_API_VERSION=0x040800',
dependencies: [
libxl_dep,
xtl_link_dep,

View File

@ -1,9 +1,9 @@
Adjust libvirt-guests service to conform to SUSE standards
Index: libvirt-7.2.0/tools/libvirt-guests.sh.in
Index: libvirt-7.3.0/tools/libvirt-guests.sh.in
===================================================================
--- libvirt-7.2.0.orig/tools/libvirt-guests.sh.in
+++ libvirt-7.2.0/tools/libvirt-guests.sh.in
--- libvirt-7.3.0.orig/tools/libvirt-guests.sh.in
+++ libvirt-7.3.0/tools/libvirt-guests.sh.in
@@ -20,10 +20,6 @@ sysconfdir="@sysconfdir@"
localstatedir="@localstatedir@"
libvirtd="@sbindir@"/libvirtd
@ -28,10 +28,10 @@ Index: libvirt-7.2.0/tools/libvirt-guests.sh.in
RETVAL=0
Index: libvirt-7.2.0/tools/libvirt-guests.sysconf
Index: libvirt-7.3.0/tools/libvirt-guests.sysconf
===================================================================
--- libvirt-7.2.0.orig/tools/libvirt-guests.sysconf
+++ libvirt-7.2.0/tools/libvirt-guests.sysconf
--- libvirt-7.3.0.orig/tools/libvirt-guests.sysconf
+++ libvirt-7.3.0/tools/libvirt-guests.sysconf
@@ -1,9 +1,14 @@
+## Path: System/Virtualization/libvirt-guests
# Customizations for the libvirt-guests.service systemd unit

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-7.2.0/src/remote/remote_daemon_config.c
Index: libvirt-7.3.0/src/remote/remote_daemon_config.c
===================================================================
--- libvirt-7.2.0.orig/src/remote/remote_daemon_config.c
+++ libvirt-7.2.0/src/remote/remote_daemon_config.c
--- libvirt-7.3.0.orig/src/remote/remote_daemon_config.c
+++ libvirt-7.3.0/src/remote/remote_daemon_config.c
@@ -98,7 +98,7 @@ daemonConfigNew(bool privileged G_GNUC_U
#ifdef WITH_IP
@ -16,10 +16,10 @@ Index: libvirt-7.2.0/src/remote/remote_daemon_config.c
# else /* ! LIBVIRTD */
data->listen_tls = false; /* Always honoured, --listen doesn't exist. */
# endif /* ! LIBVIRTD */
Index: libvirt-7.2.0/src/remote/libvirtd.conf.in
Index: libvirt-7.3.0/src/remote/libvirtd.conf.in
===================================================================
--- libvirt-7.2.0.orig/src/remote/libvirtd.conf.in
+++ libvirt-7.2.0/src/remote/libvirtd.conf.in
--- libvirt-7.3.0.orig/src/remote/libvirtd.conf.in
+++ libvirt-7.3.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.
@ -31,10 +31,10 @@ Index: libvirt-7.2.0/src/remote/libvirtd.conf.in
# Listen for unencrypted TCP connections on the public TCP/IP port.
# NB, must pass the --listen flag to the @DAEMON_NAME@ process for this to
Index: libvirt-7.2.0/src/remote/test_libvirtd.aug.in
Index: libvirt-7.3.0/src/remote/test_libvirtd.aug.in
===================================================================
--- libvirt-7.2.0.orig/src/remote/test_libvirtd.aug.in
+++ libvirt-7.2.0/src/remote/test_libvirtd.aug.in
--- libvirt-7.3.0.orig/src/remote/test_libvirtd.aug.in
+++ libvirt-7.3.0/src/remote/test_libvirtd.aug.in
@@ -3,7 +3,7 @@ module Test_@DAEMON_NAME@ =
test @DAEMON_NAME_UC@.lns get conf =

View File

@ -1,9 +1,9 @@
Adjust libvirtd sysconfig file to conform to SUSE standards
Index: libvirt-7.2.0/src/remote/libvirtd.sysconf
Index: libvirt-7.3.0/src/remote/libvirtd.sysconf
===================================================================
--- libvirt-7.2.0.orig/src/remote/libvirtd.sysconf
+++ libvirt-7.2.0/src/remote/libvirtd.sysconf
--- libvirt-7.3.0.orig/src/remote/libvirtd.sysconf
+++ libvirt-7.3.0/src/remote/libvirtd.sysconf
@@ -1,5 +1,8 @@
+## 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-7.2.0/src/libxl/libxl.conf
Index: libvirt-7.3.0/src/libxl/libxl.conf
===================================================================
--- libvirt-7.2.0.orig/src/libxl/libxl.conf
+++ libvirt-7.2.0/src/libxl/libxl.conf
--- libvirt-7.3.0.orig/src/libxl/libxl.conf
+++ libvirt-7.3.0/src/libxl/libxl.conf
@@ -4,12 +4,11 @@
# Enable autoballooning of domain0
@ -27,11 +27,11 @@ Index: libvirt-7.2.0/src/libxl/libxl.conf
# In order to prevent accidentally starting two domains that
Index: libvirt-7.2.0/src/libxl/libxl_conf.c
Index: libvirt-7.3.0/src/libxl/libxl_conf.c
===================================================================
--- libvirt-7.2.0.orig/src/libxl/libxl_conf.c
+++ libvirt-7.2.0/src/libxl/libxl_conf.c
@@ -1743,15 +1743,12 @@ libxlMakeBuildInfoVfb(virPortAllocatorRa
--- libvirt-7.3.0.orig/src/libxl/libxl_conf.c
+++ libvirt-7.3.0/src/libxl/libxl_conf.c
@@ -1744,15 +1744,12 @@ libxlMakeBuildInfoVfb(virPortAllocatorRa
/*
* Get domain0 autoballoon configuration. Honor user-specified
* setting in libxl.conf first. If not specified, autoballooning
@ -40,15 +40,15 @@ Index: libvirt-7.2.0/src/libxl/libxl_conf.c
+ * is disabled.
*/
static int
libxlGetAutoballoonConf(libxlDriverConfigPtr cfg,
virConfPtr conf)
libxlGetAutoballoonConf(libxlDriverConfig *cfg,
virConf *conf)
{
- g_autoptr(GRegex) regex = NULL;
- g_autoptr(GError) err = NULL;
int res;
res = virConfGetValueBool(conf, "autoballoon", &cfg->autoballoon);
@@ -1760,15 +1757,8 @@ libxlGetAutoballoonConf(libxlDriverConfi
@@ -1761,15 +1758,8 @@ libxlGetAutoballoonConf(libxlDriverConfi
else if (res == 1)
return 0;
@ -66,10 +66,10 @@ Index: libvirt-7.2.0/src/libxl/libxl_conf.c
return 0;
}
Index: libvirt-7.2.0/src/libxl/test_libvirtd_libxl.aug.in
Index: libvirt-7.3.0/src/libxl/test_libvirtd_libxl.aug.in
===================================================================
--- libvirt-7.2.0.orig/src/libxl/test_libvirtd_libxl.aug.in
+++ libvirt-7.2.0/src/libxl/test_libvirtd_libxl.aug.in
--- libvirt-7.3.0.orig/src/libxl/test_libvirtd_libxl.aug.in
+++ libvirt-7.3.0/src/libxl/test_libvirtd_libxl.aug.in
@@ -2,7 +2,7 @@ module Test_libvirtd_libxl =
@CONFIG@

View File

@ -1,9 +1,9 @@
Adjust paths of OVMF firmwares on SUSE distros
Index: libvirt-7.2.0/src/qemu/qemu.conf
Index: libvirt-7.3.0/src/qemu/qemu.conf
===================================================================
--- libvirt-7.2.0.orig/src/qemu/qemu.conf
+++ libvirt-7.2.0/src/qemu/qemu.conf
--- libvirt-7.3.0.orig/src/qemu/qemu.conf
+++ libvirt-7.3.0/src/qemu/qemu.conf
@@ -858,10 +858,9 @@
# for x86_64 and i686, but it's AAVMF for aarch64. The libvirt default
# follows this scheme.
@ -18,11 +18,11 @@ Index: libvirt-7.2.0/src/qemu/qemu.conf
#]
# The backend to use for handling stdout/stderr output from
Index: libvirt-7.2.0/src/qemu/qemu_conf.c
Index: libvirt-7.3.0/src/qemu/qemu_conf.c
===================================================================
--- libvirt-7.2.0.orig/src/qemu/qemu_conf.c
+++ libvirt-7.2.0/src/qemu/qemu_conf.c
@@ -98,10 +98,9 @@ qemuDriverUnlock(virQEMUDriverPtr driver
--- libvirt-7.3.0.orig/src/qemu/qemu_conf.c
+++ libvirt-7.3.0/src/qemu/qemu_conf.c
@@ -98,10 +98,9 @@ qemuDriverUnlock(virQEMUDriver *driver)
#ifndef DEFAULT_LOADER_NVRAM
# define DEFAULT_LOADER_NVRAM \
@ -36,10 +36,10 @@ Index: libvirt-7.2.0/src/qemu/qemu_conf.c
#endif
Index: libvirt-7.2.0/src/security/virt-aa-helper.c
Index: libvirt-7.3.0/src/security/virt-aa-helper.c
===================================================================
--- libvirt-7.2.0.orig/src/security/virt-aa-helper.c
+++ libvirt-7.2.0/src/security/virt-aa-helper.c
--- libvirt-7.3.0.orig/src/security/virt-aa-helper.c
+++ libvirt-7.3.0/src/security/virt-aa-helper.c
@@ -480,7 +480,8 @@ valid_path(const char *path, const bool
"/usr/share/ovmf/", /* for OVMF images */
"/usr/share/AAVMF/", /* for AAVMF images */
@ -50,10 +50,10 @@ Index: libvirt-7.2.0/src/security/virt-aa-helper.c
};
/* override the above with these */
const char * const override[] = {
Index: libvirt-7.2.0/src/qemu/test_libvirtd_qemu.aug.in
Index: libvirt-7.3.0/src/qemu/test_libvirtd_qemu.aug.in
===================================================================
--- libvirt-7.2.0.orig/src/qemu/test_libvirtd_qemu.aug.in
+++ libvirt-7.2.0/src/qemu/test_libvirtd_qemu.aug.in
--- libvirt-7.3.0.orig/src/qemu/test_libvirtd_qemu.aug.in
+++ libvirt-7.3.0/src/qemu/test_libvirtd_qemu.aug.in
@@ -96,10 +96,9 @@ module Test_libvirtd_qemu =
{ "migration_port_max" = "49215" }
{ "log_timestamp" = "0" }

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-7.2.0/src/qemu/qemu.conf
Index: libvirt-7.3.0/src/qemu/qemu.conf
===================================================================
--- libvirt-7.2.0.orig/src/qemu/qemu.conf
+++ libvirt-7.2.0/src/qemu/qemu.conf
--- libvirt-7.3.0.orig/src/qemu/qemu.conf
+++ libvirt-7.3.0/src/qemu/qemu.conf
@@ -491,10 +491,19 @@
# isolation, but it cannot appear in a list of drivers.
#
@ -60,11 +60,11 @@ Index: libvirt-7.2.0/src/qemu/qemu.conf
#
#lock_manager = "lockd"
Index: libvirt-7.2.0/src/qemu/qemu_conf.c
Index: libvirt-7.3.0/src/qemu/qemu_conf.c
===================================================================
--- libvirt-7.2.0.orig/src/qemu/qemu_conf.c
+++ libvirt-7.2.0/src/qemu/qemu_conf.c
@@ -272,7 +272,7 @@ virQEMUDriverConfigPtr virQEMUDriverConf
--- libvirt-7.3.0.orig/src/qemu/qemu_conf.c
+++ libvirt-7.3.0/src/qemu/qemu_conf.c
@@ -272,7 +272,7 @@ virQEMUDriverConfig *virQEMUDriverConfig
cfg->slirpHelperName = g_strdup(QEMU_SLIRP_HELPER);
cfg->dbusDaemonName = g_strdup(QEMU_DBUS_DAEMON);
@ -73,10 +73,10 @@ Index: libvirt-7.2.0/src/qemu/qemu_conf.c
cfg->securityRequireConfined = false;
cfg->keepAliveInterval = 5;
Index: libvirt-7.2.0/src/qemu/test_libvirtd_qemu.aug.in
Index: libvirt-7.3.0/src/qemu/test_libvirtd_qemu.aug.in
===================================================================
--- libvirt-7.2.0.orig/src/qemu/test_libvirtd_qemu.aug.in
+++ libvirt-7.2.0/src/qemu/test_libvirtd_qemu.aug.in
--- libvirt-7.3.0.orig/src/qemu/test_libvirtd_qemu.aug.in
+++ libvirt-7.3.0/src/qemu/test_libvirtd_qemu.aug.in
@@ -45,6 +45,7 @@ module Test_libvirtd_qemu =
{ "remote_websocket_port_min" = "5700" }
{ "remote_websocket_port_max" = "65535" }

View File

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

View File

@ -5,11 +5,11 @@ upstream support for firmware autoselection in the xen driver. Sadly, the
upstream efforts to improve firmware handling in the qemu driver broke
the firmware handling in the xen driver.
Index: libvirt-7.2.0/src/libxl/libxl_conf.c
Index: libvirt-7.3.0/src/libxl/libxl_conf.c
===================================================================
--- libvirt-7.2.0.orig/src/libxl/libxl_conf.c
+++ libvirt-7.2.0/src/libxl/libxl_conf.c
@@ -1783,6 +1783,15 @@ libxlDriverConfigNew(void)
--- libvirt-7.3.0.orig/src/libxl/libxl_conf.c
+++ libvirt-7.3.0/src/libxl/libxl_conf.c
@@ -1784,6 +1784,15 @@ libxlDriverConfigNew(void)
cfg->autoDumpDir = g_strdup(LIBXL_DUMP_DIR);
cfg->channelDir = g_strdup(LIBXL_CHANNEL_DIR);

View File

@ -1,7 +1,7 @@
Index: libvirt-7.2.0/tools/virt-create-rootfs
Index: libvirt-7.3.0/tools/virt-create-rootfs
===================================================================
--- /dev/null
+++ libvirt-7.2.0/tools/virt-create-rootfs
+++ libvirt-7.3.0/tools/virt-create-rootfs
@@ -0,0 +1,231 @@
+#!/bin/sh
+set -e
@ -234,10 +234,10 @@ Index: libvirt-7.2.0/tools/virt-create-rootfs
+ echo "pts/0" >> "$ROOT/etc/securetty"
+ chroot "$ROOT" /usr/bin/passwd
+fi
Index: libvirt-7.2.0/docs/manpages/virt-create-rootfs.rst
Index: libvirt-7.3.0/docs/manpages/virt-create-rootfs.rst
===================================================================
--- /dev/null
+++ libvirt-7.2.0/docs/manpages/virt-create-rootfs.rst
+++ libvirt-7.3.0/docs/manpages/virt-create-rootfs.rst
@@ -0,0 +1,88 @@
+==================
+virt-create-rootfs
@ -327,10 +327,10 @@ Index: libvirt-7.2.0/docs/manpages/virt-create-rootfs.rst
+========
+
+virsh(1), `https://libvirt.org/ <https://libvirt.org/>`_
Index: libvirt-7.2.0/docs/manpages/meson.build
Index: libvirt-7.3.0/docs/manpages/meson.build
===================================================================
--- libvirt-7.2.0.orig/docs/manpages/meson.build
+++ libvirt-7.2.0/docs/manpages/meson.build
--- libvirt-7.3.0.orig/docs/manpages/meson.build
+++ libvirt-7.3.0/docs/manpages/meson.build
@@ -19,6 +19,7 @@ docs_man_files = [
{ 'name': 'virt-pki-validate', 'section': '1', 'install': true },
{ 'name': 'virt-qemu-run', 'section': '1', 'install': conf.has('WITH_QEMU') },
@ -339,10 +339,10 @@ Index: libvirt-7.2.0/docs/manpages/meson.build
{ 'name': 'libvirtd', 'section': '8', 'install': conf.has('WITH_LIBVIRTD') },
{ 'name': 'virt-sanlock-cleanup', 'section': '8', 'install': conf.has('WITH_SANLOCK') },
Index: libvirt-7.2.0/tools/meson.build
Index: libvirt-7.3.0/tools/meson.build
===================================================================
--- libvirt-7.2.0.orig/tools/meson.build
+++ libvirt-7.2.0/tools/meson.build
--- libvirt-7.3.0.orig/tools/meson.build
+++ libvirt-7.3.0/tools/meson.build
@@ -149,6 +149,8 @@ else
virsh_icon_res = []
endif