Accepting request 623163 from home:jfehlig:branches:Virtualization

- Update to libvirt 4.5.0
  - Many incremental improvements and bug fixes, see
    http://libvirt.org/news.html
  - Dropped patches:
    67c56f6e-libxl-logfd-leak-fix.patch
- spec: use more macros in file paths
- libxl: Implement virDomainBlockResize
  0001-libxl-add-support-for-BlockResize-API.patch
  FATE#325467, bsc#1094325, bsc#1094725

OBS-URL: https://build.opensuse.org/request/show/623163
OBS-URL: https://build.opensuse.org/package/show/Virtualization/libvirt?expand=0&rev=696
This commit is contained in:
James Fehlig 2018-07-16 16:42:10 +00:00 committed by Git OBS Bridge
parent d87f957015
commit 982a25323a
35 changed files with 506 additions and 401 deletions

View File

@ -18,10 +18,10 @@ them.
create mode 100644 src/conf/domain_stats.c
create mode 100644 src/conf/domain_stats.h
Index: libvirt-4.4.0/src/conf/domain_stats.c
Index: libvirt-4.5.0/src/conf/domain_stats.c
===================================================================
--- /dev/null
+++ libvirt-4.4.0/src/conf/domain_stats.c
+++ libvirt-4.5.0/src/conf/domain_stats.c
@@ -0,0 +1,139 @@
+/*
+ * domain_stats.c: domain stats extraction helpers
@ -162,10 +162,10 @@ Index: libvirt-4.4.0/src/conf/domain_stats.c
+}
+
+#undef STATS_ADD_NET_PARAM
Index: libvirt-4.4.0/src/conf/domain_stats.h
Index: libvirt-4.5.0/src/conf/domain_stats.h
===================================================================
--- /dev/null
+++ libvirt-4.4.0/src/conf/domain_stats.h
+++ libvirt-4.5.0/src/conf/domain_stats.h
@@ -0,0 +1,64 @@
+/*
+ * domain_stats.h: domain stats extraction helpers
@ -231,11 +231,11 @@ Index: libvirt-4.4.0/src/conf/domain_stats.h
+ int *maxparams);
+
+#endif /* __DOMAIN_STATS_H */
Index: libvirt-4.4.0/src/libvirt_private.syms
Index: libvirt-4.5.0/src/libvirt_private.syms
===================================================================
--- libvirt-4.4.0.orig/src/libvirt_private.syms
+++ libvirt-4.4.0/src/libvirt_private.syms
@@ -652,6 +652,9 @@ virDomainConfNWFilterRegister;
--- libvirt-4.5.0.orig/src/libvirt_private.syms
+++ libvirt-4.5.0/src/libvirt_private.syms
@@ -654,6 +654,9 @@ virDomainConfNWFilterInstantiate;
virDomainConfNWFilterTeardown;
virDomainConfVMNWFilterTeardown;
@ -245,7 +245,7 @@ Index: libvirt-4.4.0/src/libvirt_private.syms
# conf/interface_conf.h
virInterfaceDefFormat;
@@ -1511,6 +1514,7 @@ virCgroupGetMemoryUsage;
@@ -1543,6 +1546,7 @@ virCgroupGetMemoryUsage;
virCgroupGetMemSwapHardLimit;
virCgroupGetMemSwapUsage;
virCgroupGetPercpuStats;
@ -253,10 +253,10 @@ Index: libvirt-4.4.0/src/libvirt_private.syms
virCgroupHasController;
virCgroupHasEmptyTasks;
virCgroupKill;
Index: libvirt-4.4.0/src/qemu/qemu_driver.c
Index: libvirt-4.5.0/src/qemu/qemu_driver.c
===================================================================
--- libvirt-4.4.0.orig/src/qemu/qemu_driver.c
+++ libvirt-4.4.0/src/qemu/qemu_driver.c
--- libvirt-4.5.0.orig/src/qemu/qemu_driver.c
+++ libvirt-4.5.0/src/qemu/qemu_driver.c
@@ -74,6 +74,7 @@
#include "virarptable.h"
#include "viruuid.h"
@ -265,7 +265,7 @@ Index: libvirt-4.4.0/src/qemu/qemu_driver.c
#include "domain_audit.h"
#include "node_device_conf.h"
#include "virpci.h"
@@ -19607,21 +19608,7 @@ qemuDomainGetStatsState(virQEMUDriverPtr
@@ -19670,21 +19671,7 @@ qemuDomainGetStatsState(virQEMUDriverPtr
int *maxparams,
unsigned int privflags ATTRIBUTE_UNUSED)
{
@ -288,7 +288,7 @@ Index: libvirt-4.4.0/src/qemu/qemu_driver.c
}
@@ -19644,37 +19631,7 @@ qemuDomainGetStatsCpu(virQEMUDriverPtr d
@@ -19707,37 +19694,7 @@ qemuDomainGetStatsCpu(virQEMUDriverPtr d
unsigned int privflags ATTRIBUTE_UNUSED)
{
qemuDomainObjPrivatePtr priv = dom->privateData;
@ -327,7 +327,7 @@ Index: libvirt-4.4.0/src/qemu/qemu_driver.c
}
static int
@@ -19853,44 +19810,6 @@ qemuDomainGetStatsVcpu(virQEMUDriverPtr
@@ -19916,44 +19873,6 @@ qemuDomainGetStatsVcpu(virQEMUDriverPtr
return ret;
}
@ -372,7 +372,7 @@ Index: libvirt-4.4.0/src/qemu/qemu_driver.c
static int
qemuDomainGetStatsInterface(virQEMUDriverPtr driver ATTRIBUTE_UNUSED,
virDomainObjPtr dom,
@@ -19898,68 +19817,9 @@ qemuDomainGetStatsInterface(virQEMUDrive
@@ -19961,68 +19880,9 @@ qemuDomainGetStatsInterface(virQEMUDrive
int *maxparams,
unsigned int privflags ATTRIBUTE_UNUSED)
{
@ -442,7 +442,7 @@ Index: libvirt-4.4.0/src/qemu/qemu_driver.c
#define QEMU_ADD_BLOCK_PARAM_UI(record, maxparams, num, name, value) \
do { \
char param_name[VIR_TYPED_PARAM_FIELD_LENGTH]; \
@@ -20081,10 +19941,10 @@ qemuDomainGetStatsOneBlock(virQEMUDriver
@@ -20144,10 +20004,10 @@ qemuDomainGetStatsOneBlock(virQEMUDriver
if (disk->info.alias)
alias = qemuDomainStorageAlias(disk->info.alias, backing_idx);
@ -455,7 +455,7 @@ Index: libvirt-4.4.0/src/qemu/qemu_driver.c
block_idx, src->path);
if (backing_idx)
QEMU_ADD_BLOCK_PARAM_UI(record, maxparams, block_idx, "backingIndex",
@@ -20200,7 +20060,7 @@ qemuDomainGetStatsBlock(virQEMUDriverPtr
@@ -20263,7 +20123,7 @@ qemuDomainGetStatsBlock(virQEMUDriverPtr
* after the iteration than it is to iterate twice; but we still
* want count listed first. */
count_index = record->nparams;
@ -464,7 +464,7 @@ Index: libvirt-4.4.0/src/qemu/qemu_driver.c
for (i = 0; i < dom->def->ndisks; i++) {
virDomainDiskDefPtr disk = dom->def->disks[i];
@@ -20234,10 +20094,6 @@ qemuDomainGetStatsBlock(virQEMUDriverPtr
@@ -20297,10 +20157,6 @@ qemuDomainGetStatsBlock(virQEMUDriverPtr
#undef QEMU_ADD_BLOCK_PARAM_ULL
@ -475,10 +475,10 @@ Index: libvirt-4.4.0/src/qemu/qemu_driver.c
static int
qemuDomainGetStatsPerfOneEvent(virPerfPtr perf,
virPerfEventType type,
Index: libvirt-4.4.0/src/util/vircgroup.c
Index: libvirt-4.5.0/src/util/vircgroup.c
===================================================================
--- libvirt-4.4.0.orig/src/util/vircgroup.c
+++ libvirt-4.4.0/src/util/vircgroup.c
--- libvirt-4.5.0.orig/src/util/vircgroup.c
+++ libvirt-4.5.0/src/util/vircgroup.c
@@ -4122,6 +4122,44 @@ virCgroupControllerAvailable(int control
return ret;
}
@ -539,10 +539,10 @@ Index: libvirt-4.4.0/src/util/vircgroup.c
#endif /* !VIR_CGROUP_SUPPORTED */
Index: libvirt-4.4.0/src/util/vircgroup.h
Index: libvirt-4.5.0/src/util/vircgroup.h
===================================================================
--- libvirt-4.4.0.orig/src/util/vircgroup.h
+++ libvirt-4.4.0/src/util/vircgroup.h
--- libvirt-4.5.0.orig/src/util/vircgroup.h
+++ libvirt-4.5.0/src/util/vircgroup.h
@@ -297,4 +297,8 @@ int virCgroupSetOwner(virCgroupPtr cgrou
int virCgroupHasEmptyTasks(virCgroupPtr cgroup, int controller);
@ -552,10 +552,10 @@ Index: libvirt-4.4.0/src/util/vircgroup.h
+ virDomainStatsRecordPtr record,
+ int *maxparams);
#endif /* __VIR_CGROUP_H__ */
Index: libvirt-4.4.0/src/conf/Makefile.inc.am
Index: libvirt-4.5.0/src/conf/Makefile.inc.am
===================================================================
--- libvirt-4.4.0.orig/src/conf/Makefile.inc.am
+++ libvirt-4.4.0/src/conf/Makefile.inc.am
--- libvirt-4.5.0.orig/src/conf/Makefile.inc.am
+++ libvirt-4.5.0/src/conf/Makefile.inc.am
@@ -20,6 +20,8 @@ DOMAIN_CONF_SOURCES = \
conf/domain_audit.h \
conf/domain_nwfilter.c \

View File

@ -0,0 +1,131 @@
From 661298572a5499ccfafcd36d30d66d091a5be9b6 Mon Sep 17 00:00:00 2001
From: Jim Fehlig <jfehlig@suse.com>
Date: Fri, 23 Mar 2018 17:41:51 -0600
Subject: [PATCH] libxl: add support for BlockResize API
Add support in the libxl driver for the BlockResize API. Use libxl's
libxl_qemu_monitor_command API to issue the block_resize command to qemu.
Signed-off-by: Jim Fehlig <jfehlig@suse.com>
Note: In its current form, this patch is not upstream material IMO. It uses
the unsupported libxl_qemu_monitor_command() API. Before it can be considered
upstream, we need an upstream solution in qemu and Xen. Bruce will work on
the qemu part. Once done we can consider how to do the Xen part. And only
after we have a supported blockresize API in Xen (libxl) can we consider
reworking this patch and submitting it to upstream libvirt.
---
src/libxl/libxl_driver.c | 91 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 91 insertions(+)
Index: libvirt-4.5.0/src/libxl/libxl_driver.c
===================================================================
--- libvirt-4.5.0.orig/src/libxl/libxl_driver.c
+++ libvirt-4.5.0/src/libxl/libxl_driver.c
@@ -5119,6 +5119,97 @@ libxlDomainMemoryStats(virDomainPtr dom,
#undef LIBXL_SET_MEMSTAT
+/**
+ * Resize a block device while a guest is running. Resize to a lower size
+ * is supported, but should be used with extreme caution. Note that it
+ * only supports to resize image files, it can't resize block devices
+ * like LVM volumes.
+ */
+static int
+libxlDomainBlockResize(virDomainPtr dom,
+ const char *path,
+ unsigned long long size,
+ unsigned int flags)
+{
+ libxlDriverPrivatePtr driver = dom->conn->privateData;
+ libxlDriverConfigPtr cfg;
+ virDomainObjPtr vm;
+ int ret = -1;
+ virDomainDiskDefPtr disk = NULL;
+ char *moncmd = NULL;
+ char *monreply = NULL;
+
+ virCheckFlags(VIR_DOMAIN_BLOCK_RESIZE_BYTES, -1);
+
+ if (path[0] == '\0') {
+ virReportError(VIR_ERR_INVALID_ARG,
+ "%s", _("empty path"));
+ return -1;
+ }
+
+ /* We prefer operating on bytes. */
+ if ((flags & VIR_DOMAIN_BLOCK_RESIZE_BYTES) == 0) {
+ if (size > ULLONG_MAX / 1024) {
+ virReportError(VIR_ERR_OVERFLOW,
+ _("size must be less than %llu"),
+ ULLONG_MAX / 1024);
+ return -1;
+ }
+ size *= 1024;
+ }
+
+ cfg = libxlDriverConfigGet(driver);
+ if (!(vm = libxlDomObjFromDomain(dom)))
+ goto cleanup;
+
+ if (virDomainBlockResizeEnsureACL(dom->conn, vm->def) < 0)
+ goto cleanup;
+
+ if (libxlDomainObjBeginJob(driver, vm, LIBXL_JOB_MODIFY) < 0)
+ goto cleanup;
+
+ if (!virDomainObjIsActive(vm)) {
+ virReportError(VIR_ERR_OPERATION_INVALID,
+ "%s", _("domain is not running"));
+ goto endjob;
+ }
+
+ if (!(disk = virDomainDiskByName(vm->def, path, false))) {
+ virReportError(VIR_ERR_INVALID_ARG,
+ _("invalid path: %s"), path);
+ goto endjob;
+ }
+
+ /* qcow2 and qed must be sized on 512 byte blocks/sectors,
+ * so adjust size if necessary to round up.
+ */
+ if (disk->src->format == VIR_STORAGE_FILE_QCOW2 ||
+ disk->src->format == VIR_STORAGE_FILE_QED)
+ size = VIR_ROUND_UP(size, 512);
+
+ if (virAsprintf(&moncmd, "block_resize %s %lluB", disk->dst, size) < 0)
+ goto endjob;
+
+ if (libxl_qemu_monitor_command(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);
+ goto endjob;
+ }
+
+ ret = 0;
+
+ endjob:
+ libxlDomainObjEndJob(driver, vm);
+
+ cleanup:
+ VIR_FREE(moncmd);
+ VIR_FREE(monreply);
+ virDomainObjEndAPI(&vm);
+ virObjectUnref(cfg);
+ return ret;
+}
+
static int
libxlDomainGetJobInfo(virDomainPtr dom,
virDomainJobInfoPtr info)
@@ -6504,6 +6595,7 @@ static virHypervisorDriver libxlHypervis
#endif
.nodeGetFreeMemory = libxlNodeGetFreeMemory, /* 0.9.0 */
.nodeGetCellsFreeMemory = libxlNodeGetCellsFreeMemory, /* 1.1.1 */
+ .domainBlockResize = libxlDomainBlockResize, /* 4.2.0 */
.domainGetJobInfo = libxlDomainGetJobInfo, /* 1.3.1 */
.domainGetJobStats = libxlDomainGetJobStats, /* 1.3.1 */
.domainMemoryStats = libxlDomainMemoryStats, /* 1.3.0 */

View File

@ -9,11 +9,11 @@ them using the existing API.
src/lxc/lxc_driver.c | 138 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 138 insertions(+)
Index: libvirt-4.4.0/src/lxc/lxc_driver.c
Index: libvirt-4.5.0/src/lxc/lxc_driver.c
===================================================================
--- libvirt-4.4.0.orig/src/lxc/lxc_driver.c
+++ libvirt-4.4.0/src/lxc/lxc_driver.c
@@ -80,6 +80,7 @@
--- libvirt-4.5.0.orig/src/lxc/lxc_driver.c
+++ libvirt-4.5.0/src/lxc/lxc_driver.c
@@ -79,6 +79,7 @@
#include "viraccessapichecklxc.h"
#include "virhostdev.h"
#include "netdev_bandwidth_conf.h"
@ -21,7 +21,7 @@ Index: libvirt-4.4.0/src/lxc/lxc_driver.c
#define VIR_FROM_THIS VIR_FROM_LXC
@@ -5474,6 +5475,142 @@ lxcDomainHasManagedSaveImage(virDomainPt
@@ -5444,6 +5445,142 @@ lxcDomainHasManagedSaveImage(virDomainPt
return ret;
}
@ -164,7 +164,7 @@ Index: libvirt-4.4.0/src/lxc/lxc_driver.c
/* Function Tables */
static virHypervisorDriver lxcHypervisorDriver = {
@@ -5569,6 +5706,7 @@ static virHypervisorDriver lxcHypervisor
@@ -5539,6 +5676,7 @@ static virHypervisorDriver lxcHypervisor
.nodeGetFreePages = lxcNodeGetFreePages, /* 1.2.6 */
.nodeAllocPages = lxcNodeAllocPages, /* 1.2.9 */
.domainHasManagedSaveImage = lxcDomainHasManagedSaveImage, /* 1.2.13 */

View File

@ -1,42 +0,0 @@
commit 67c56f6e65b9cd2681ef1bc61d8b51cbc543fa42
Author: Jim Fehlig <jfehlig@suse.com>
Date: Thu May 31 15:41:37 2018 -0600
libxl: fix leaking logfile fds
Per-domain log files were introduced in commit a30b08b7179. The FILE
objects associated with these log files are stored in a hash table
using domid as a key. When a domain is shutdown, destroyed, or
otherwise powered-off, the FILE object is removed from the hash table,
where the free function will close the FILE.
Unfortunately the call to remove the FILE from the hash table occurs
after setting domid=-1 in the libxlDomainCleanup() function. The
object is never removed from the hash table, the free function is
never called, and the underlying fd is leaked. Fix by removing the
FILE object from the hash table before setting domid=-1.
Signed-off-by: Jim Fehlig <jfehlig@suse.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
diff --git a/src/libxl/libxl_domain.c b/src/libxl/libxl_domain.c
index d4859d6707..d12b1b1b4b 100644
--- a/src/libxl/libxl_domain.c
+++ b/src/libxl/libxl_domain.c
@@ -769,6 +769,7 @@ libxlDomainCleanup(libxlDriverPrivatePtr driver,
VIR_WARN("Unable to release lease on %s", vm->def->name);
VIR_DEBUG("Preserving lock state '%s'", NULLSTR(priv->lockState));
+ libxlLoggerCloseFile(cfg->logger, vm->def->id);
vm->def->id = -1;
if (priv->deathW) {
@@ -822,8 +823,6 @@ libxlDomainCleanup(libxlDriverPrivatePtr driver,
VIR_FREE(xml);
}
- libxlLoggerCloseFile(cfg->logger, vm->def->id);
-
virDomainObjRemoveTransientDef(vm);
virObjectUnref(cfg);
}

View File

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

View File

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

View File

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

View File

@ -1,10 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQEcBAABAgAGBQJbFZ/HAAoJEBVYiyZZa+pdSRIIALhg1w9rRjJxZXLVyexGVl69
ASEPuAtOLPGheicV4cNjAj/j1nyz0k2ldD47aXmVcX3r1B9u/uxVOl31J3Y+u2HH
zNgrU+/WGX9ZUp3mzSBJtTIa3ZaHdElY7yI7ONiw7yJ7F0+u0gzIeHnTZ17DXuiL
CRvNW0fTUExzEcas1tNmNNHiifcZdfG/v+LKduDyEu3uyAzIfTV8UbKWOe0vMOqJ
oXttqZPSJf9x5XBNhnYGUc+2WM08wDhlxrtL1VNyhKrPZCaciiPDl9BvTbSSq8zZ
7+vs1YnxKIkiAItxQuWH8ujaS5siBNJ2AwFeSWefSESI325Cq3bjO1H8Np+/xIc=
=MBxi
-----END PGP SIGNATURE-----

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

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

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

@ -0,0 +1,10 @@
-----BEGIN PGP SIGNATURE-----
iQEcBAABAgAGBQJbOofKAAoJEBVYiyZZa+pdmh8IAI3FmofnsjIeMZ7I53BgUz56
BVYmffWOTlEVv2gBilhTxZkCbUyc7kCA8eHdgdGHpDR/ED1r/8QixSXUzpG7pCys
nqw4BHsOPqjO7+gL37h6bMjNhqjuqSsxthcH4xpiXiGBmCFU8/6kCeIiua5LF5zp
sMq/YKOqxziV8+3hCweb95NtR8Q/zge35IDpXaPHMnbSoAFUDEJEGaI80G/PJxjn
Ocmv1PP7gZhf0blcTFbEk4ee5u19cTh2wf22Q19TzcbT6ZPLRxz2dNNNUUGKlJQu
o1P/mU5D9PgoAlcXyl0OrapyDK+f5qKaK4SZLRuEsS+on6nsjPssgdlVo5M9xYA=
=cVCB
-----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-4.4.0/src/cpu/cpu_map.xml
Index: libvirt-4.5.0/src/cpu/cpu_map.xml
===================================================================
--- libvirt-4.4.0.orig/src/cpu/cpu_map.xml
+++ libvirt-4.4.0/src/cpu/cpu_map.xml
--- libvirt-4.5.0.orig/src/cpu/cpu_map.xml
+++ libvirt-4.5.0/src/cpu/cpu_map.xml
@@ -2355,6 +2355,8 @@
<pvr value='0x004b0000' mask='0xffff0000'/>
<pvr value='0x004c0000' mask='0xffff0000'/>

View File

@ -1,8 +1,8 @@
Index: libvirt-4.4.0/configure.ac
Index: libvirt-4.5.0/configure.ac
===================================================================
--- libvirt-4.4.0.orig/configure.ac
+++ libvirt-4.4.0/configure.ac
@@ -257,6 +257,7 @@ LIBVIRT_ARG_LIBSSH
--- libvirt-4.5.0.orig/configure.ac
+++ libvirt-4.5.0/configure.ac
@@ -255,6 +255,7 @@ LIBVIRT_ARG_LIBSSH
LIBVIRT_ARG_LIBXML
LIBVIRT_ARG_MACVTAP
LIBVIRT_ARG_NETCF
@ -10,7 +10,7 @@ Index: libvirt-4.4.0/configure.ac
LIBVIRT_ARG_NLS
LIBVIRT_ARG_NSS
LIBVIRT_ARG_NUMACTL
@@ -299,6 +300,7 @@ LIBVIRT_CHECK_LIBSSH
@@ -297,6 +298,7 @@ LIBVIRT_CHECK_LIBSSH
LIBVIRT_CHECK_LIBXML
LIBVIRT_CHECK_MACVTAP
LIBVIRT_CHECK_NETCF
@ -18,7 +18,7 @@ Index: libvirt-4.4.0/configure.ac
LIBVIRT_CHECK_NLS
LIBVIRT_CHECK_NUMACTL
LIBVIRT_CHECK_NWFILTER
@@ -972,6 +974,7 @@ LIBVIRT_RESULT_LIBXL
@@ -970,6 +972,7 @@ LIBVIRT_RESULT_LIBXL
LIBVIRT_RESULT_LIBXML
LIBVIRT_RESULT_MACVTAP
LIBVIRT_RESULT_NETCF
@ -26,10 +26,10 @@ Index: libvirt-4.4.0/configure.ac
LIBVIRT_RESULT_NLS
LIBVIRT_RESULT_NSS
LIBVIRT_RESULT_NUMACTL
Index: libvirt-4.4.0/tools/virsh.c
Index: libvirt-4.5.0/tools/virsh.c
===================================================================
--- libvirt-4.4.0.orig/tools/virsh.c
+++ libvirt-4.4.0/tools/virsh.c
--- libvirt-4.5.0.orig/tools/virsh.c
+++ libvirt-4.5.0/tools/virsh.c
@@ -575,6 +575,8 @@ virshShowVersion(vshControl *ctl ATTRIBU
vshPrint(ctl, " Interface");
# if defined(WITH_NETCF)
@ -39,10 +39,10 @@ Index: libvirt-4.4.0/tools/virsh.c
# elif defined(WITH_UDEV)
vshPrint(ctl, " udev");
# endif
Index: libvirt-4.4.0/src/interface/interface_backend_netcf.c
Index: libvirt-4.5.0/src/interface/interface_backend_netcf.c
===================================================================
--- libvirt-4.4.0.orig/src/interface/interface_backend_netcf.c
+++ libvirt-4.4.0/src/interface/interface_backend_netcf.c
--- libvirt-4.5.0.orig/src/interface/interface_backend_netcf.c
+++ libvirt-4.5.0/src/interface/interface_backend_netcf.c
@@ -23,7 +23,12 @@
#include <config.h>
@ -126,10 +126,10 @@ Index: libvirt-4.4.0/src/interface/interface_backend_netcf.c
if (virRegisterConnectDriver(&interfaceConnectDriver, false) < 0)
return -1;
if (virSetSharedInterfaceDriver(&interfaceDriver) < 0)
Index: libvirt-4.4.0/src/interface/interface_driver.c
Index: libvirt-4.5.0/src/interface/interface_driver.c
===================================================================
--- libvirt-4.4.0.orig/src/interface/interface_driver.c
+++ libvirt-4.4.0/src/interface/interface_driver.c
--- libvirt-4.5.0.orig/src/interface/interface_driver.c
+++ libvirt-4.5.0/src/interface/interface_driver.c
@@ -30,8 +30,15 @@ interfaceRegister(void)
if (netcfIfaceRegister() == 0)
return 0;
@ -147,10 +147,10 @@ Index: libvirt-4.4.0/src/interface/interface_driver.c
if (udevIfaceRegister() == 0)
return 0;
#endif /* WITH_UDEV */
Index: libvirt-4.4.0/m4/virt-netcontrol.m4
Index: libvirt-4.5.0/m4/virt-netcontrol.m4
===================================================================
--- /dev/null
+++ libvirt-4.4.0/m4/virt-netcontrol.m4
+++ libvirt-4.5.0/m4/virt-netcontrol.m4
@@ -0,0 +1,39 @@
+dnl The libnetcontrol library
+dnl
@ -191,10 +191,10 @@ Index: libvirt-4.4.0/m4/virt-netcontrol.m4
+AC_DEFUN([LIBVIRT_RESULT_NETCONTROL],[
+ LIBVIRT_RESULT_LIB([NETCONTROL])
+])
Index: libvirt-4.4.0/src/interface/Makefile.inc.am
Index: libvirt-4.5.0/src/interface/Makefile.inc.am
===================================================================
--- libvirt-4.4.0.orig/src/interface/Makefile.inc.am
+++ libvirt-4.4.0/src/interface/Makefile.inc.am
--- libvirt-4.5.0.orig/src/interface/Makefile.inc.am
+++ libvirt-4.5.0/src/interface/Makefile.inc.am
@@ -4,6 +4,7 @@ INTERFACE_DRIVER_SOURCES = \
$(NULL)

View File

@ -1,3 +1,16 @@
-------------------------------------------------------------------
Thu Jul 5 16:25:57 UTC 2018 - jfehlig@suse.com
- Update to libvirt 4.5.0
- Many incremental improvements and bug fixes, see
http://libvirt.org/news.html
- Dropped patches:
67c56f6e-libxl-logfd-leak-fix.patch
- spec: use more macros in file paths
- libxl: Implement virDomainBlockResize
0001-libxl-add-support-for-BlockResize-API.patch
FATE#325467, bsc#1094325, bsc#1094725
-------------------------------------------------------------------
Wed Jul 4 15:27:05 UTC 2018 - jfehlig@suse.com

View File

@ -184,7 +184,7 @@
Name: libvirt
Url: http://libvirt.org/
Version: 4.4.0
Version: 4.5.0
Release: 0
Summary: Library providing a simple virtualization API
License: LGPL-2.1-or-later
@ -335,7 +335,6 @@ Source6: libvirtd-relocation-server.xml
Source99: baselibs.conf
Source100: %{name}-rpmlintrc
# Upstream patches
Patch0: 67c56f6e-libxl-logfd-leak-fix.patch
# Patches pending upstream review
Patch100: libxl-dom-reset.patch
Patch101: network-don-t-use-dhcp-authoritative-on-static-netwo.patch
@ -348,6 +347,7 @@ Patch154: libxl-set-migration-constraints.patch
Patch155: libxl-set-cach-mode.patch
Patch156: 0001-Extract-stats-functions-from-the-qemu-driver.patch
Patch157: 0002-lxc-implement-connectGetAllDomainStats.patch
Patch158: 0001-libxl-add-support-for-BlockResize-API.patch
# Our patches
Patch200: suse-libvirtd-disable-tls.patch
Patch201: suse-libvirtd-sysconfig-settings.patch
@ -920,7 +920,6 @@ libvirt plugin for NSS for translating domain names into IP addresses.
%prep
%setup -q
%patch0 -p1
%patch100 -p1
%patch101 -p1
%patch150 -p1
@ -931,6 +930,7 @@ libvirt plugin for NSS for translating domain names into IP addresses.
%patch155 -p1
%patch156 -p1
%patch157 -p1
%patch158 -p1
%patch200 -p1
%patch201 -p1
%patch202 -p1
@ -1161,47 +1161,47 @@ do
rm -rfv "$dir"
done
mkdir -p %{buildroot}/%{_localstatedir}/lib/libvirt
mkdir -p %{buildroot}/%{_sysconfdir}/libvirt/hooks
mkdir -p %{buildroot}/%{_localstatedir}/lib/%{name}
mkdir -p %{buildroot}/%{_sysconfdir}/%{name}/hooks
%find_lang %{name}
# Add a README to the libvirt package with a note about the empty
# file list
cat > %{buildroot}/%{_docdir}/libvirt/libvirt.README << 'EOF'
cat > %{buildroot}/%{_docdir}/%{name}/libvirt.README << 'EOF'
The libvirt package no longer contains any files. It exists now
only to fulfill its 'Provides' contract.
EOF
install -d -m 0755 %{buildroot}/%{_localstatedir}/lib/libvirt/dnsmasq/
install -d -m 0755 %{buildroot}/%{_datadir}/libvirt/networks/
cp %{buildroot}/%{_sysconfdir}/libvirt/qemu/networks/default.xml \
%{buildroot}/%{_datadir}/libvirt/networks/default.xml
rm -f %{buildroot}/%{_sysconfdir}/libvirt/qemu/networks/default.xml
rm -f %{buildroot}/%{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml
install -d -m 0755 %{buildroot}/%{_localstatedir}/lib/%{name}/dnsmasq/
install -d -m 0755 %{buildroot}/%{_datadir}/%{name}/networks/
cp %{buildroot}/%{_sysconfdir}/%{name}/qemu/networks/default.xml \
%{buildroot}/%{_datadir}/%{name}/networks/default.xml
rm -f %{buildroot}/%{_sysconfdir}/%{name}/qemu/networks/default.xml
rm -f %{buildroot}/%{_sysconfdir}/%{name}/qemu/networks/autostart/default.xml
# Strip auto-generated UUID - we need it generated per-install
sed -i -e "/<uuid>/d" %{buildroot}/%{_datadir}/libvirt/networks/default.xml
sed -i -e "/<uuid>/d" %{buildroot}/%{_datadir}/%{name}/networks/default.xml
%if %{with_lxc}
cat > %{buildroot}/%{_docdir}/libvirt/libvirt-daemon-lxc.README << 'EOF'
cat > %{buildroot}/%{_docdir}/%{name}/libvirt-daemon-lxc.README << 'EOF'
Any empty package encapsulating requirements for a libvirtd capable
of managing LXC.
EOF
%else
rm -rf %{buildroot}/%{_sysconfdir}/libvirt/lxc.conf
rm -rf %{buildroot}/%{_sysconfdir}/%{name}/lxc.conf
rm -f %{buildroot}/%{_datadir}/augeas/lenses/libvirtd_lxc.aug
rm -f %{buildroot}/%{_datadir}/augeas/lenses/tests/test_libvirtd_lxc.aug
rm -rf %{buildroot}/%{_sysconfdir}/logrotate.d/libvirtd.lxc
%endif
%if %{with_qemu}
cat > %{buildroot}/%{_docdir}/libvirt/libvirt-daemon-qemu.README << 'EOF'
cat > %{buildroot}/%{_docdir}/%{name}/libvirt-daemon-qemu.README << 'EOF'
Any empty package encapsulating requirements for a libvirtd capable
of managing QEMU/KVM.
EOF
%else
rm -rf %{buildroot}/%{_sysconfdir}/libvirt/qemu.conf
rm -rf %{buildroot}/%{_sysconfdir}/%{name}/qemu.conf
rm -f %{buildroot}/%{_datadir}/augeas/lenses/libvirtd_qemu.aug
rm -f %{buildroot}/%{_datadir}/augeas/lenses/tests/test_libvirtd_qemu.aug
rm -rf %{buildroot}/%{_sysconfdir}/logrotate.d/libvirtd.qemu
%endif
%if %{with_uml}
cat > %{buildroot}/%{_docdir}/libvirt/libvirt-daemon-uml.README << 'EOF'
cat > %{buildroot}/%{_docdir}/%{name}/libvirt-daemon-uml.README << 'EOF'
Any empty package encapsulating requirements for a libvirtd capable
of managing UML.
EOF
@ -1209,19 +1209,19 @@ EOF
rm -rf %{buildroot}/%{_sysconfdir}/logrotate.d/libvirtd.uml
%endif
%if %{with_vbox}
cat > %{buildroot}/%{_docdir}/libvirt/libvirt-daemon-vbox.README << 'EOF'
cat > %{buildroot}/%{_docdir}/%{name}/libvirt-daemon-vbox.README << 'EOF'
Any empty package encapsulating requirements for a libvirtd capable
of managing VirtualBox.
EOF
%endif
%if %{with_libxl}
cat > %{buildroot}/%{_docdir}/libvirt/libvirt-daemon-xen.README << 'EOF'
cat > %{buildroot}/%{_docdir}/%{name}/libvirt-daemon-xen.README << 'EOF'
Any empty package encapsulating requirements for a libvirtd capable
of managing Xen.
EOF
%endif
%if ! %{with_libxl}
rm -f %{buildroot}/%{_sysconfdir}/libvirt/libxl.conf
rm -f %{buildroot}/%{_sysconfdir}/%{name}/libxl.conf
rm -f %{buildroot}/%{_sysconfdir}/logrotate.d/libvirtd.libxl
rm -f %{buildroot}/%{_datadir}/augeas/lenses/libvirtd_libxl.aug
rm -f %{buildroot}/%{_datadir}/augeas/lenses/tests/test_libvirtd_libxl.aug
@ -1258,7 +1258,7 @@ mkdir -p %{buildroot}/usr/lib/supportconfig/plugins
install -m 755 %{S:4} %{buildroot}/usr/lib/supportconfig/plugins/libvirt
# install qemu hook script
install -m 755 %{S:5} %{buildroot}/%{_sysconfdir}/libvirt/hooks/qemu
install -m 755 %{S:5} %{buildroot}/%{_sysconfdir}/%{name}/hooks/qemu
%ifarch %{power64} s390x x86_64
mv %{buildroot}/%{_datadir}/systemtap/tapset/libvirt_probes.stp \
@ -1318,7 +1318,7 @@ fi
%postun daemon
/sbin/ldconfig
# On upgrade, defer restarting daemons until %posttrans
# On upgrade, defer restarting daemons until posttrans
if test $1 -eq 0 ; then
for service in libvirtd virtlockd virtlogd ; do
rm -f "/var/lib/systemd/migrated/$service" 2> /dev/null || :
@ -1338,11 +1338,11 @@ fi
%post daemon-config-network
# Install the default network if one doesn't exist
if test $1 -eq 1 && test ! -f %{_sysconfdir}/libvirt/qemu/networks/default.xml ; then
if test $1 -eq 1 && test ! -f %{_sysconfdir}/%{name}/qemu/networks/default.xml ; then
UUID=`/usr/bin/uuidgen`
sed -e "s,</name>,</name>\n <uuid>$UUID</uuid>," \
< %{_datadir}/libvirt/networks/default.xml \
> %{_sysconfdir}/libvirt/qemu/networks/default.xml
< %{_datadir}/%{name}/networks/default.xml \
> %{_sysconfdir}/%{name}/qemu/networks/default.xml
fi
%pre client
@ -1355,7 +1355,7 @@ fi
%preun client
%service_del_preun libvirt-guests.service
if [ $1 = 0 ]; then
rm -f /var/lib/libvirt/libvirt-guests
rm -f /var/lib/%{name}/libvirt-guests
fi
%postun client
@ -1377,8 +1377,8 @@ fi
%{_sbindir}/virtlogd
%{_sbindir}/virtlockd
%dir %{_libdir}/%{name}
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/hooks
%dir %attr(0700, root, root) %{_sysconfdir}/%{name}/
%dir %attr(0700, root, root) %{_sysconfdir}/%{name}/hooks
%{_fillupdir}/sysconfig.libvirtd
%{_fillupdir}/sysconfig.virtlogd
%{_fillupdir}/sysconfig.virtlockd
@ -1393,10 +1393,12 @@ fi
%{_sbindir}/rclibvirtd
%{_sbindir}/rcvirtlogd
%{_sbindir}/rcvirtlockd
%config(noreplace) %{_sysconfdir}/libvirt/libvirtd.conf
%config(noreplace) %{_sysconfdir}/%{name}/libvirtd.conf
%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd
%config(noreplace) %{_sysconfdir}/libvirt/virtlogd.conf
%config(noreplace) %{_sysconfdir}/libvirt/virtlockd.conf
%config(noreplace) %{_sysconfdir}/%{name}/virtlogd.conf
%config(noreplace) %{_sysconfdir}/%{name}/virtlockd.conf
%dir %{_sysconfdir}/sasl2/
%config(noreplace) %{_sysconfdir}/sasl2/libvirt.conf
%dir %{_datadir}/augeas/
%dir %{_datadir}/augeas/lenses
%dir %{_datadir}/augeas/lenses/tests
@ -1416,12 +1418,12 @@ fi
%if %{with_bash_completion}
%{_datadir}/bash-completion/completions/virsh
%endif
%dir %{_localstatedir}/lib/libvirt/
%dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/images/
%dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/filesystems/
%dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/boot/
%dir %attr(0711, root, root) %{_localstatedir}/cache/libvirt/
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/
%dir %{_localstatedir}/lib/%{name}/
%dir %attr(0711, root, root) %{_localstatedir}/lib/%{name}/images/
%dir %attr(0711, root, root) %{_localstatedir}/lib/%{name}/filesystems/
%dir %attr(0711, root, root) %{_localstatedir}/lib/%{name}/boot/
%dir %attr(0711, root, root) %{_localstatedir}/cache/%{name}/
%dir %attr(0700, root, root) %{_localstatedir}/log/%{name}/
%dir %attr(0755, root, root) %{_libdir}/%{name}/lock-driver
%attr(0755, root, root) %{_libdir}/%{name}/lock-driver/lockd.so
%if %{with_polkit_rules}
@ -1437,14 +1439,14 @@ fi
%if %{with_apparmor}
%dir %{_sysconfdir}/apparmor.d
%dir %{_sysconfdir}/apparmor.d/abstractions
%dir %{_sysconfdir}/apparmor.d/libvirt
%dir %{_sysconfdir}/apparmor.d/%{name}
%dir %{_sysconfdir}/apparmor.d/local
%config(noreplace) %{_sysconfdir}/apparmor.d/usr.sbin.libvirtd
%config(noreplace) %{_sysconfdir}/apparmor.d/usr.lib.libvirt.virt-aa-helper
%config(noreplace) %{_sysconfdir}/apparmor.d/abstractions/libvirt-qemu
%config(noreplace) %{_sysconfdir}/apparmor.d/abstractions/libvirt-lxc
%config(noreplace) %{_sysconfdir}/apparmor.d/libvirt/TEMPLATE.lxc
%config(noreplace) %{_sysconfdir}/apparmor.d/libvirt/TEMPLATE.qemu
%config(noreplace) %{_sysconfdir}/apparmor.d/%{name}/TEMPLATE.lxc
%config(noreplace) %{_sysconfdir}/apparmor.d/%{name}/TEMPLATE.qemu
%config(noreplace) %{_sysconfdir}/apparmor.d/local/usr.lib.libvirt.virt-aa-helper
%{_libdir}/%{name}/virt-aa-helper
%endif
@ -1460,26 +1462,26 @@ fi
/usr/lib/supportconfig/plugins/libvirt
%files daemon-hooks
%{_sysconfdir}/libvirt/hooks/qemu
%{_sysconfdir}/%{name}/hooks/qemu
%files daemon-config-network
%dir %{_datadir}/libvirt/networks/
%{_datadir}/libvirt/networks/default.xml
%dir %{_datadir}/%{name}/networks/
%{_datadir}/%{name}/networks/default.xml
%files daemon-config-nwfilter
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/nwfilter/
%config %{_sysconfdir}/libvirt/nwfilter/*.xml
%dir %attr(0700, root, root) %{_sysconfdir}/%{name}/nwfilter/
%config %{_sysconfdir}/%{name}/nwfilter/*.xml
%files daemon-driver-interface
%dir %{_libdir}/%{name}/connection-driver
%{_libdir}/%{name}/connection-driver/libvirt_driver_interface.so
%files daemon-driver-network
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/autostart
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/network/
%dir %attr(0755, root, root) %{_localstatedir}/lib/libvirt/dnsmasq/
%dir %attr(0700, root, root) %{_sysconfdir}/%{name}/qemu/
%dir %attr(0700, root, root) %{_sysconfdir}/%{name}/qemu/networks/
%dir %attr(0700, root, root) %{_sysconfdir}/%{name}/qemu/networks/autostart
%dir %attr(0700, root, root) %{_localstatedir}/lib/%{name}/network/
%dir %attr(0755, root, root) %{_localstatedir}/lib/%{name}/dnsmasq/
%attr(0755, root, root) %{_libdir}/%{name}/libvirt_leaseshelper
%dir %{_libdir}/%{name}/connection-driver
%{_libdir}/%{name}/connection-driver/libvirt_driver_network.so
@ -1489,7 +1491,7 @@ fi
%{_libdir}/%{name}/connection-driver/libvirt_driver_nodedev.so
%files daemon-driver-nwfilter
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/nwfilter/
%dir %attr(0700, root, root) %{_sysconfdir}/%{name}/nwfilter/
%dir %{_libdir}/%{name}/connection-driver
%{_libdir}/%{name}/connection-driver/libvirt_driver_nwfilter.so
@ -1542,25 +1544,29 @@ fi
%if %{with_qemu}
%files daemon-driver-qemu
%config(noreplace) %{_sysconfdir}/libvirt/qemu.conf
%config(noreplace) %{_sysconfdir}/libvirt/qemu-lockd.conf
%config(noreplace) %{_sysconfdir}/%{name}/qemu.conf
%config(noreplace) %{_sysconfdir}/%{name}/qemu-lockd.conf
%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.qemu
%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/
%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/cache/libvirt/qemu/
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/qemu/
%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/%{name}/qemu/
%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/cache/%{name}/qemu/
%dir %attr(0700, root, root) %{_localstatedir}/log/%{name}/qemu/
%{_datadir}/augeas/lenses/libvirtd_qemu.aug
%{_datadir}/augeas/lenses/tests/test_libvirtd_qemu.aug
%dir %{_libdir}/%{name}/connection-driver
%{_libdir}/%{name}/connection-driver/libvirt_driver_qemu.so
%dir %attr(0711, root, root) %{_localstatedir}/lib/%{name}/swtpm/
%dir %attr(0711, root, root) %{_localstatedir}/log/swtpm/
%dir %attr(0711, root, root) %{_localstatedir}/log/swtpm/%{name}/
%dir %attr(0711, root, root) %{_localstatedir}/log/swtpm/%{name}/qemu/
%endif
%if %{with_lxc}
%files daemon-driver-lxc
%config(noreplace) %{_sysconfdir}/libvirt/lxc.conf
%config(noreplace) %{_sysconfdir}/%{name}/lxc.conf
%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.lxc
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/lxc/
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/lxc/
%dir %attr(0700, root, root) %{_localstatedir}/lib/%{name}/lxc/
%dir %attr(0700, root, root) %{_localstatedir}/log/%{name}/lxc/
%attr(0755, root, root) %{_libdir}/%{name}/libvirt_lxc
%{_datadir}/augeas/lenses/libvirtd_lxc.aug
%{_datadir}/augeas/lenses/tests/test_libvirtd_lxc.aug
@ -1577,8 +1583,8 @@ fi
%files daemon-driver-uml
%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.uml
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/uml/
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/uml/
%dir %attr(0700, root, root) %{_localstatedir}/lib/%{name}/uml/
%dir %attr(0700, root, root) %{_localstatedir}/log/%{name}/uml/
%dir %{_libdir}/%{name}/connection-driver
%{_libdir}/%{name}/connection-driver/libvirt_driver_uml.so
%endif
@ -1586,13 +1592,13 @@ fi
%if %{with_libxl}
%files daemon-driver-libxl
%config(noreplace) %{_sysconfdir}/libvirt/libxl.conf
%config(noreplace) %{_sysconfdir}/%{name}/libxl.conf
%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.libxl
%config(noreplace) %{_sysconfdir}/libvirt/libxl-lockd.conf
%config(noreplace) %{_sysconfdir}/%{name}/libxl-lockd.conf
%{_datadir}/augeas/lenses/libvirtd_libxl.aug
%{_datadir}/augeas/lenses/tests/test_libvirtd_libxl.aug
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/libxl/
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/libxl/
%dir %attr(0700, root, root) %{_localstatedir}/lib/%{name}/libxl/
%dir %attr(0700, root, root) %{_localstatedir}/log/%{name}/libxl/
%dir %{_libdir}/%{name}/connection-driver
%{_libdir}/%{name}/connection-driver/libvirt_driver_libxl.so
%endif
@ -1656,31 +1662,30 @@ fi
%{_libdir}/libvirt-qemu.so.*
%{_libdir}/libvirt-lxc.so.*
%{_libdir}/libvirt-admin.so.*
%dir %{_datadir}/libvirt/
%dir %{_datadir}/libvirt/schemas/
%dir %attr(0755, root, root) %{_localstatedir}/lib/libvirt/
%dir %{_datadir}/%{name}/
%dir %{_datadir}/%{name}/schemas/
%dir %attr(0755, root, root) %{_localstatedir}/lib/%{name}/
%{_datadir}/libvirt/schemas/basictypes.rng
%{_datadir}/libvirt/schemas/capability.rng
%{_datadir}/libvirt/schemas/domain.rng
%{_datadir}/libvirt/schemas/cputypes.rng
%{_datadir}/libvirt/schemas/domaincaps.rng
%{_datadir}/libvirt/schemas/domaincommon.rng
%{_datadir}/libvirt/schemas/domainsnapshot.rng
%{_datadir}/libvirt/schemas/interface.rng
%{_datadir}/libvirt/schemas/network.rng
%{_datadir}/libvirt/schemas/networkcommon.rng
%{_datadir}/libvirt/schemas/nodedev.rng
%{_datadir}/libvirt/schemas/nwfilter.rng
%{_datadir}/libvirt/schemas/secret.rng
%{_datadir}/libvirt/schemas/storagecommon.rng
%{_datadir}/libvirt/schemas/storagepool.rng
%{_datadir}/libvirt/schemas/storagevol.rng
%{_datadir}/libvirt/cpu_map.xml
%{_datadir}/libvirt/test-screenshot.png
%dir %{_sysconfdir}/sasl2/
%config(noreplace) %{_sysconfdir}/sasl2/libvirt.conf
%{_datadir}/%{name}/schemas/basictypes.rng
%{_datadir}/%{name}/schemas/capability.rng
%{_datadir}/%{name}/schemas/domain.rng
%{_datadir}/%{name}/schemas/cputypes.rng
%{_datadir}/%{name}/schemas/domaincaps.rng
%{_datadir}/%{name}/schemas/domaincommon.rng
%{_datadir}/%{name}/schemas/domainsnapshot.rng
%{_datadir}/%{name}/schemas/interface.rng
%{_datadir}/%{name}/schemas/network.rng
%{_datadir}/%{name}/schemas/networkcommon.rng
%{_datadir}/%{name}/schemas/nodedev.rng
%{_datadir}/%{name}/schemas/nwfilter.rng
%{_datadir}/%{name}/schemas/nwfilter_params.rng
%{_datadir}/%{name}/schemas/nwfilterbinding.rng
%{_datadir}/%{name}/schemas/secret.rng
%{_datadir}/%{name}/schemas/storagecommon.rng
%{_datadir}/%{name}/schemas/storagepool.rng
%{_datadir}/%{name}/schemas/storagevol.rng
%{_datadir}/%{name}/cpu_map.xml
%{_datadir}/%{name}/test-screenshot.png
%files admin
%doc %{_mandir}/man1/virt-admin.1*
@ -1699,20 +1704,20 @@ fi
%{_libdir}/libvirt-admin.so
%{_libdir}/libvirt-qemu.so
%{_libdir}/libvirt-lxc.so
%{_includedir}/libvirt
%{_includedir}/%{name}
%{_libdir}/pkgconfig/libvirt.pc
%{_libdir}/pkgconfig/libvirt-admin.pc
%{_libdir}/pkgconfig/libvirt-qemu.pc
%{_libdir}/pkgconfig/libvirt-lxc.pc
%dir %{_datadir}/libvirt/api/
%{_datadir}/libvirt/api/libvirt-api.xml
%{_datadir}/libvirt/api/libvirt-admin-api.xml
%{_datadir}/libvirt/api/libvirt-qemu-api.xml
%{_datadir}/libvirt/api/libvirt-lxc-api.xml
%dir %{_datadir}/%{name}/api/
%{_datadir}/%{name}/api/libvirt-api.xml
%{_datadir}/%{name}/api/libvirt-admin-api.xml
%{_datadir}/%{name}/api/libvirt-qemu-api.xml
%{_datadir}/%{name}/api/libvirt-lxc-api.xml
%files doc
# Website
%dir %{_docdir}/libvirt
%dir %{_docdir}/%{name}
%doc %{_docdir}/%{name}/*.png
%doc %{_docdir}/%{name}/*.html
%doc %{_docdir}/%{name}/*.gif
@ -1723,8 +1728,8 @@ fi
%doc %{_docdir}/%{name}/fonts
# API docs
%dir %{_datadir}/gtk-doc/html/libvirt/
%doc %{_datadir}/gtk-doc/html/libvirt/*
%dir %{_datadir}/gtk-doc/html/%{name}/
%doc %{_datadir}/gtk-doc/html/%{name}/*
%if %{with_sanlock}

View File

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

View File

@ -8,10 +8,10 @@ as the default <emulator>, instead of the qemu-xen one.
See FATE#320638 for details.
Index: libvirt-4.4.0/src/libxl/libxl_capabilities.c
Index: libvirt-4.5.0/src/libxl/libxl_capabilities.c
===================================================================
--- libvirt-4.4.0.orig/src/libxl/libxl_capabilities.c
+++ libvirt-4.4.0/src/libxl/libxl_capabilities.c
--- libvirt-4.5.0.orig/src/libxl/libxl_capabilities.c
+++ libvirt-4.5.0/src/libxl/libxl_capabilities.c
@@ -38,6 +38,7 @@
#include "libxl_capabilities.h"
#include "cpu/cpu_x86.h"

View File

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

View File

@ -16,10 +16,10 @@ Signed-off-by: Jim Fehlig <jfehlig@suse.com>
tools/virsh.pod | 8 ++++++++
6 files changed, 125 insertions(+), 6 deletions(-)
Index: libvirt-4.4.0/include/libvirt/libvirt-domain.h
Index: libvirt-4.5.0/include/libvirt/libvirt-domain.h
===================================================================
--- libvirt-4.4.0.orig/include/libvirt/libvirt-domain.h
+++ libvirt-4.4.0/include/libvirt/libvirt-domain.h
--- libvirt-4.5.0.orig/include/libvirt/libvirt-domain.h
+++ libvirt-4.5.0/include/libvirt/libvirt-domain.h
@@ -1008,6 +1008,31 @@ typedef enum {
*/
# define VIR_MIGRATE_PARAM_AUTO_CONVERGE_INCREMENT "auto_converge.increment"
@ -52,11 +52,11 @@ Index: libvirt-4.4.0/include/libvirt/libvirt-domain.h
/* Domain migration. */
virDomainPtr virDomainMigrate (virDomainPtr domain, virConnectPtr dconn,
unsigned long flags, const char *dname,
Index: libvirt-4.4.0/src/libxl/libxl_driver.c
Index: libvirt-4.5.0/src/libxl/libxl_driver.c
===================================================================
--- libvirt-4.4.0.orig/src/libxl/libxl_driver.c
+++ libvirt-4.4.0/src/libxl/libxl_driver.c
@@ -5992,6 +5992,9 @@ libxlDomainMigratePerform3Params(virDoma
--- libvirt-4.5.0.orig/src/libxl/libxl_driver.c
+++ libvirt-4.5.0/src/libxl/libxl_driver.c
@@ -5985,6 +5985,9 @@ libxlDomainMigratePerform3Params(virDoma
const char *dname = NULL;
const char *uri = NULL;
int ret = -1;
@ -66,7 +66,7 @@ Index: libvirt-4.4.0/src/libxl/libxl_driver.c
#ifdef LIBXL_HAVE_NO_SUSPEND_RESUME
virReportUnsupportedError();
@@ -6008,6 +6011,18 @@ libxlDomainMigratePerform3Params(virDoma
@@ -6001,6 +6004,18 @@ libxlDomainMigratePerform3Params(virDoma
virTypedParamsGetString(params, nparams,
VIR_MIGRATE_PARAM_DEST_NAME,
&dname) < 0 ||
@ -85,7 +85,7 @@ Index: libvirt-4.4.0/src/libxl/libxl_driver.c
virTypedParamsGetString(params, nparams,
VIR_MIGRATE_PARAM_URI,
&uri) < 0)
@@ -6022,11 +6037,11 @@ libxlDomainMigratePerform3Params(virDoma
@@ -6015,11 +6030,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-4.4.0/src/libxl/libxl_driver.c
goto cleanup;
}
Index: libvirt-4.4.0/src/libxl/libxl_migration.c
Index: libvirt-4.5.0/src/libxl/libxl_migration.c
===================================================================
--- libvirt-4.4.0.orig/src/libxl/libxl_migration.c
+++ libvirt-4.4.0/src/libxl/libxl_migration.c
--- libvirt-4.5.0.orig/src/libxl/libxl_migration.c
+++ libvirt-4.5.0/src/libxl/libxl_migration.c
@@ -353,18 +353,39 @@ libxlMigrateDstReceive(virNetSocketPtr s
static int
libxlDoMigrateSrcSend(libxlDriverPrivatePtr driver,
@ -263,10 +263,10 @@ Index: libvirt-4.4.0/src/libxl/libxl_migration.c
virObjectLock(vm);
if (ret < 0)
Index: libvirt-4.4.0/src/libxl/libxl_migration.h
Index: libvirt-4.5.0/src/libxl/libxl_migration.h
===================================================================
--- libvirt-4.4.0.orig/src/libxl/libxl_migration.h
+++ libvirt-4.4.0/src/libxl/libxl_migration.h
--- libvirt-4.5.0.orig/src/libxl/libxl_migration.h
+++ libvirt-4.5.0/src/libxl/libxl_migration.h
@@ -39,6 +39,10 @@
VIR_MIGRATE_PARAM_URI, VIR_TYPED_PARAM_STRING, \
VIR_MIGRATE_PARAM_DEST_NAME, VIR_TYPED_PARAM_STRING, \
@ -311,11 +311,11 @@ Index: libvirt-4.4.0/src/libxl/libxl_migration.h
virDomainPtr
libxlDomainMigrationDstFinish(virConnectPtr dconn,
Index: libvirt-4.4.0/tools/virsh-domain.c
Index: libvirt-4.5.0/tools/virsh-domain.c
===================================================================
--- libvirt-4.4.0.orig/tools/virsh-domain.c
+++ libvirt-4.4.0/tools/virsh-domain.c
@@ -10330,6 +10330,22 @@ static const vshCmdOptDef opts_migrate[]
--- libvirt-4.5.0.orig/tools/virsh-domain.c
+++ libvirt-4.5.0/tools/virsh-domain.c
@@ -10328,6 +10328,22 @@ static const vshCmdOptDef opts_migrate[]
.type = VSH_OT_BOOL,
.help = N_("use TLS for migration")
},
@ -338,7 +338,7 @@ Index: libvirt-4.4.0/tools/virsh-domain.c
{.name = NULL}
};
@@ -10353,6 +10369,7 @@ doMigrate(void *opaque)
@@ -10351,6 +10367,7 @@ doMigrate(void *opaque)
unsigned long long ullOpt = 0;
int rv;
virConnectPtr dconn = data->dconn;
@ -346,7 +346,7 @@ Index: libvirt-4.4.0/tools/virsh-domain.c
sigemptyset(&sigmask);
sigaddset(&sigmask, SIGINT);
@@ -10472,6 +10489,27 @@ doMigrate(void *opaque)
@@ -10470,6 +10487,27 @@ doMigrate(void *opaque)
goto save_error;
}
@ -374,11 +374,11 @@ Index: libvirt-4.4.0/tools/virsh-domain.c
if (vshCommandOptStringReq(ctl, cmd, "xml", &opt) < 0)
goto out;
if (opt) {
Index: libvirt-4.4.0/tools/virsh.pod
Index: libvirt-4.5.0/tools/virsh.pod
===================================================================
--- libvirt-4.4.0.orig/tools/virsh.pod
+++ libvirt-4.4.0/tools/virsh.pod
@@ -1923,6 +1923,14 @@ Providing I<--tls> causes the migration
--- libvirt-4.5.0.orig/tools/virsh.pod
+++ libvirt-4.5.0/tools/virsh.pod
@@ -1932,6 +1932,14 @@ Providing I<--tls> causes the migration
the migration of the domain. Usage requires proper TLS setup for both source
and target.

View File

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

View File

@ -13,10 +13,10 @@ device with the same name that is being created.
src/lxc/lxc_process.c | 1 +
3 files changed, 4 insertions(+)
Index: libvirt-4.4.0/src/lxc/lxc_controller.c
Index: libvirt-4.5.0/src/lxc/lxc_controller.c
===================================================================
--- libvirt-4.4.0.orig/src/lxc/lxc_controller.c
+++ libvirt-4.4.0/src/lxc/lxc_controller.c
--- libvirt-4.5.0.orig/src/lxc/lxc_controller.c
+++ libvirt-4.5.0/src/lxc/lxc_controller.c
@@ -73,6 +73,7 @@
#include "rpc/virnetdaemon.h"
#include "virstring.h"
@ -25,7 +25,7 @@ Index: libvirt-4.4.0/src/lxc/lxc_controller.c
#define VIR_FROM_THIS VIR_FROM_LXC
@@ -2003,6 +2004,7 @@ static int virLXCControllerDeleteInterfa
@@ -1999,6 +2000,7 @@ static int virLXCControllerDeleteInterfa
if (virNetDevVethDelete(ctrl->veths[i]) < 0)
ret = -1;
}
@ -33,11 +33,11 @@ Index: libvirt-4.4.0/src/lxc/lxc_controller.c
return ret;
}
Index: libvirt-4.4.0/src/lxc/lxc_driver.c
Index: libvirt-4.5.0/src/lxc/lxc_driver.c
===================================================================
--- libvirt-4.4.0.orig/src/lxc/lxc_driver.c
+++ libvirt-4.4.0/src/lxc/lxc_driver.c
@@ -75,6 +75,7 @@
--- libvirt-4.5.0.orig/src/lxc/lxc_driver.c
+++ libvirt-4.5.0/src/lxc/lxc_driver.c
@@ -74,6 +74,7 @@
#include "virtime.h"
#include "virtypedparam.h"
#include "viruri.h"
@ -45,7 +45,7 @@ Index: libvirt-4.4.0/src/lxc/lxc_driver.c
#include "virstring.h"
#include "viraccessapicheck.h"
#include "viraccessapichecklxc.h"
@@ -3990,6 +3991,7 @@ lxcDomainAttachDeviceNetLive(virConnectP
@@ -3956,6 +3957,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-4.4.0/src/lxc/lxc_driver.c
break;
case VIR_DOMAIN_NET_TYPE_DIRECT:
@@ -4433,6 +4435,7 @@ lxcDomainDetachDeviceNetLive(virDomainOb
@@ -4399,6 +4401,7 @@ lxcDomainDetachDeviceNetLive(virDomainOb
virDomainAuditNet(vm, detach, NULL, "detach", false);
goto cleanup;
}
@ -61,10 +61,10 @@ Index: libvirt-4.4.0/src/lxc/lxc_driver.c
break;
/* It'd be nice to support this, but with macvlan
Index: libvirt-4.4.0/src/lxc/lxc_process.c
Index: libvirt-4.5.0/src/lxc/lxc_process.c
===================================================================
--- libvirt-4.4.0.orig/src/lxc/lxc_process.c
+++ libvirt-4.4.0/src/lxc/lxc_process.c
--- libvirt-4.5.0.orig/src/lxc/lxc_process.c
+++ libvirt-4.5.0/src/lxc/lxc_process.c
@@ -51,6 +51,7 @@
#include "viratomic.h"
#include "virprocess.h"
@ -73,7 +73,7 @@ Index: libvirt-4.4.0/src/lxc/lxc_process.c
#include "netdev_bandwidth_conf.h"
#define VIR_FROM_THIS VIR_FROM_LXC
@@ -216,6 +217,7 @@ static void virLXCProcessCleanup(virLXCD
@@ -215,6 +216,7 @@ static void virLXCProcessCleanup(virLXCD
}
virDomainNetReleaseActualDevice(vm->def, iface);
}

View File

@ -17,10 +17,10 @@ Signed-off-by: Martin Wilck <mwilck@suse.com>
tests/networkxml2confdata/dhcp6host-routed-network.conf | 1 -
2 files changed, 8 insertions(+), 2 deletions(-)
Index: libvirt-4.4.0/src/network/bridge_driver.c
Index: libvirt-4.5.0/src/network/bridge_driver.c
===================================================================
--- libvirt-4.4.0.orig/src/network/bridge_driver.c
+++ libvirt-4.4.0/src/network/bridge_driver.c
--- libvirt-4.5.0.orig/src/network/bridge_driver.c
+++ libvirt-4.5.0/src/network/bridge_driver.c
@@ -1457,7 +1457,14 @@ networkDnsmasqConfContents(virNetworkObj
if (VIR_SOCKET_ADDR_IS_FAMILY(&ipdef->address, AF_INET)) {
if (ipdef->nranges || ipdef->nhosts) {
@ -37,10 +37,10 @@ Index: libvirt-4.4.0/src/network/bridge_driver.c
}
if (ipdef->tftproot) {
Index: libvirt-4.4.0/tests/networkxml2confdata/dhcp6host-routed-network.conf
Index: libvirt-4.5.0/tests/networkxml2confdata/dhcp6host-routed-network.conf
===================================================================
--- libvirt-4.4.0.orig/tests/networkxml2confdata/dhcp6host-routed-network.conf
+++ libvirt-4.4.0/tests/networkxml2confdata/dhcp6host-routed-network.conf
--- libvirt-4.5.0.orig/tests/networkxml2confdata/dhcp6host-routed-network.conf
+++ libvirt-4.5.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-4.4.0/src/util/virarch.c
Index: libvirt-4.5.0/src/util/virarch.c
===================================================================
--- libvirt-4.4.0.orig/src/util/virarch.c
+++ libvirt-4.4.0/src/util/virarch.c
--- libvirt-4.5.0.orig/src/util/virarch.c
+++ libvirt-4.5.0/src/util/virarch.c
@@ -169,6 +169,8 @@ virArch virArchFromHost(void)
arch = VIR_ARCH_I686;
} else if (STREQ(ut.machine, "amd64")) {

View File

@ -1,8 +1,8 @@
Index: libvirt-4.4.0/examples/apparmor/libvirt-qemu
Index: libvirt-4.5.0/examples/apparmor/libvirt-qemu
===================================================================
--- libvirt-4.4.0.orig/examples/apparmor/libvirt-qemu
+++ libvirt-4.4.0/examples/apparmor/libvirt-qemu
@@ -197,3 +197,6 @@
--- libvirt-4.5.0.orig/examples/apparmor/libvirt-qemu
+++ libvirt-4.5.0/examples/apparmor/libvirt-qemu
@@ -205,3 +205,6 @@
# required for sasl GSSAPI plugin
/etc/gss/mech.d/ r,
/etc/gss/mech.d/* r,

View File

@ -8,68 +8,66 @@ Subject: [PATCH] support managed pci devices in xen driver
src/xenxs/xen_xm.c | 28 +++++++++++++++++++++++++++-
2 files changed, 35 insertions(+), 15 deletions(-)
Index: libvirt-4.4.0/src/xenconfig/xen_common.c
Index: libvirt-4.5.0/src/xenconfig/xen_common.c
===================================================================
--- libvirt-4.4.0.orig/src/xenconfig/xen_common.c
+++ libvirt-4.4.0/src/xenconfig/xen_common.c
@@ -394,6 +394,8 @@ xenParsePCI(virConfPtr conf, virDomainDe
{
virConfValuePtr list = virConfGetValue(conf, "pci");
virDomainHostdevDefPtr hostdev = NULL;
--- libvirt-4.5.0.orig/src/xenconfig/xen_common.c
+++ libvirt-4.5.0/src/xenconfig/xen_common.c
@@ -402,12 +402,19 @@ xenParsePCI(char *entry)
int busID;
int slotID;
int funcID;
+ char *opt;
+ int managed = 0;
if (list && list->type == VIR_CONF_LIST) {
list = list->list;
@@ -415,6 +417,11 @@ xenParsePCI(virConfPtr conf, virDomainDe
/* pci=['0000:00:1b.0','0000:00:13.0'] */
if (!(key = list->str))
goto skippci;
+
+ opt = strchr(key, ',');
+ if (opt)
+ opt++;
+
if (!(nextkey = strchr(key, ':')))
goto skippci;
if (virStrncpy(domain, key, (nextkey - key), sizeof(domain)) == NULL) {
@@ -458,10 +465,31 @@ xenParsePCI(virConfPtr conf, virDomainDe
goto skippci;
if (virStrToLong_i(func, NULL, 16, &funcID) < 0)
goto skippci;
+
+ if (opt) {
+ char opt_managed[2];
+ char *data;
+
+ opt_managed[0] = '\0';
+ data = strchr(opt, '=');
+ data++;
+
+ if (STRPREFIX(opt, "managed=")) {
+ if (virStrncpy(opt_managed, data, 1, sizeof(opt_managed)) == NULL) {
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ _("managed option %s too big for destination"),
+ data);
+ goto skippci;
+ }
+ }
+ if (virStrToLong_i(opt_managed, NULL, 10, &managed) < 0)
+ goto skippci;
+ }
+
if (!(hostdev = virDomainHostdevDefNew()))
return -1;
domain[0] = bus[0] = slot[0] = func[0] = '\0';
- hostdev->managed = false;
+ hostdev->managed = managed ? true : false;
hostdev->source.subsys.type = VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI;
hostdev->source.subsys.u.pci.addr.domain = domainID;
hostdev->source.subsys.u.pci.addr.bus = busID;
Index: libvirt-4.4.0/src/xenconfig/xen_sxpr.c
/* pci=['0000:00:1b.0','0000:00:13.0'] */
if (!(key = entry))
return NULL;
+
+ opt = strchr(key, ',');
+ if (opt)
+ opt++;
+
if (!(nextkey = strchr(key, ':')))
return NULL;
if (virStrncpy(domain, key, (nextkey - key), sizeof(domain)) == NULL) {
@@ -452,10 +459,30 @@ xenParsePCI(char *entry)
if (virStrToLong_i(func, NULL, 16, &funcID) < 0)
return NULL;
+ if (opt) {
+ char opt_managed[2];
+ char *data;
+
+ opt_managed[0] = '\0';
+ data = strchr(opt, '=');
+ data++;
+
+ if (STRPREFIX(opt, "managed=")) {
+ if (virStrncpy(opt_managed, data, 1, sizeof(opt_managed)) == NULL) {
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ _("managed option %s too big for destination"),
+ data);
+ return NULL;
+ }
+ }
+ if (virStrToLong_i(opt_managed, NULL, 10, &managed) < 0)
+ return NULL;
+ }
+
if (!(hostdev = virDomainHostdevDefNew()))
return NULL;
- hostdev->managed = false;
+ hostdev->managed = managed ? true : false;
hostdev->source.subsys.type = VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI;
hostdev->source.subsys.u.pci.addr.domain = domainID;
hostdev->source.subsys.u.pci.addr.bus = busID;
Index: libvirt-4.5.0/src/xenconfig/xen_sxpr.c
===================================================================
--- libvirt-4.4.0.orig/src/xenconfig/xen_sxpr.c
+++ libvirt-4.4.0/src/xenconfig/xen_sxpr.c
--- libvirt-4.5.0.orig/src/xenconfig/xen_sxpr.c
+++ libvirt-4.5.0/src/xenconfig/xen_sxpr.c
@@ -1057,6 +1057,7 @@ xenParseSxprPCI(virDomainDefPtr def,
int busID;
int slotID;

View File

@ -8,10 +8,10 @@ It was also noticed that the per-domain profiles need a libnl rule
to squelch a denial when starting confined domains.
Found while investigating bsc#1058847
Index: libvirt-4.4.0/examples/apparmor/usr.lib.libvirt.virt-aa-helper
Index: libvirt-4.5.0/examples/apparmor/usr.lib.libvirt.virt-aa-helper
===================================================================
--- libvirt-4.4.0.orig/examples/apparmor/usr.lib.libvirt.virt-aa-helper
+++ libvirt-4.4.0/examples/apparmor/usr.lib.libvirt.virt-aa-helper
--- libvirt-4.5.0.orig/examples/apparmor/usr.lib.libvirt.virt-aa-helper
+++ libvirt-4.5.0/examples/apparmor/usr.lib.libvirt.virt-aa-helper
@@ -17,7 +17,7 @@ profile virt-aa-helper /usr/{lib,lib64}/
owner @{PROC}/[0-9]*/status r,
@{PROC}/filesystems r,
@ -21,10 +21,10 @@ Index: libvirt-4.4.0/examples/apparmor/usr.lib.libvirt.virt-aa-helper
# for hostdev
/sys/devices/ r,
Index: libvirt-4.4.0/examples/apparmor/libvirt-qemu
Index: libvirt-4.5.0/examples/apparmor/libvirt-qemu
===================================================================
--- libvirt-4.4.0.orig/examples/apparmor/libvirt-qemu
+++ libvirt-4.4.0/examples/apparmor/libvirt-qemu
--- libvirt-4.5.0.orig/examples/apparmor/libvirt-qemu
+++ libvirt-4.5.0/examples/apparmor/libvirt-qemu
@@ -62,6 +62,7 @@
#/dev/fb* rw,

View File

@ -1,9 +1,9 @@
Adjust libvirt-guests service to conform to SUSE standards
Index: libvirt-4.4.0/tools/libvirt-guests.init.in
Index: libvirt-4.5.0/tools/libvirt-guests.init.in
===================================================================
--- libvirt-4.4.0.orig/tools/libvirt-guests.init.in
+++ libvirt-4.4.0/tools/libvirt-guests.init.in
--- libvirt-4.5.0.orig/tools/libvirt-guests.init.in
+++ libvirt-4.5.0/tools/libvirt-guests.init.in
@@ -4,27 +4,27 @@
# http://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/initscrcomconv.html
#
@ -46,10 +46,10 @@ Index: libvirt-4.4.0/tools/libvirt-guests.init.in
+
exec @libexecdir@/libvirt-guests.sh "$@"
Index: libvirt-4.4.0/tools/libvirt-guests.sh.in
Index: libvirt-4.5.0/tools/libvirt-guests.sh.in
===================================================================
--- libvirt-4.4.0.orig/tools/libvirt-guests.sh.in
+++ libvirt-4.4.0/tools/libvirt-guests.sh.in
--- libvirt-4.5.0.orig/tools/libvirt-guests.sh.in
+++ libvirt-4.5.0/tools/libvirt-guests.sh.in
@@ -16,14 +16,13 @@
# License along with this library. If not, see
# <http://www.gnu.org/licenses/>.
@ -209,10 +209,10 @@ Index: libvirt-4.4.0/tools/libvirt-guests.sh.in
esac
-exit $RETVAL
+rc_exit
Index: libvirt-4.4.0/tools/libvirt-guests.sysconf
Index: libvirt-4.5.0/tools/libvirt-guests.sysconf
===================================================================
--- libvirt-4.4.0.orig/tools/libvirt-guests.sysconf
+++ libvirt-4.4.0/tools/libvirt-guests.sysconf
--- libvirt-4.5.0.orig/tools/libvirt-guests.sysconf
+++ libvirt-4.5.0/tools/libvirt-guests.sysconf
@@ -1,19 +1,29 @@
+## Path: System/Virtualization/libvirt-guests
+

View File

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

View File

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

View File

@ -1,9 +1,9 @@
Adjust libvirtd sysconfig file to conform to SUSE standards
Index: libvirt-4.4.0/src/remote/libvirtd.sysconf
Index: libvirt-4.5.0/src/remote/libvirtd.sysconf
===================================================================
--- libvirt-4.4.0.orig/src/remote/libvirtd.sysconf
+++ libvirt-4.4.0/src/remote/libvirtd.sysconf
--- libvirt-4.5.0.orig/src/remote/libvirtd.sysconf
+++ libvirt-4.5.0/src/remote/libvirtd.sysconf
@@ -1,16 +1,25 @@
+## Path: System/Virtualization/libvirt
+

View File

@ -1,10 +1,10 @@
Adjust paths of OVMF firmwares on SUSE distros
Index: libvirt-4.4.0/src/qemu/qemu.conf
Index: libvirt-4.5.0/src/qemu/qemu.conf
===================================================================
--- libvirt-4.4.0.orig/src/qemu/qemu.conf
+++ libvirt-4.4.0/src/qemu/qemu.conf
@@ -747,10 +747,9 @@ security_default_confined = 0
--- libvirt-4.5.0.orig/src/qemu/qemu.conf
+++ libvirt-4.5.0/src/qemu/qemu.conf
@@ -769,10 +769,9 @@ security_default_confined = 0
# for x86_64 and i686, but it's AAVMF for aarch64. The libvirt default
# follows this scheme.
#nvram = [
@ -18,10 +18,10 @@ Index: libvirt-4.4.0/src/qemu/qemu.conf
#]
# The backend to use for handling stdout/stderr output from
Index: libvirt-4.4.0/src/qemu/qemu_conf.c
Index: libvirt-4.5.0/src/qemu/qemu_conf.c
===================================================================
--- libvirt-4.4.0.orig/src/qemu/qemu_conf.c
+++ libvirt-4.4.0/src/qemu/qemu_conf.c
--- libvirt-4.5.0.orig/src/qemu/qemu_conf.c
+++ libvirt-4.5.0/src/qemu/qemu_conf.c
@@ -122,10 +122,9 @@ void qemuDomainCmdlineDefFree(qemuDomain
#ifndef DEFAULT_LOADER_NVRAM
@ -36,11 +36,11 @@ Index: libvirt-4.4.0/src/qemu/qemu_conf.c
#endif
Index: libvirt-4.4.0/src/security/virt-aa-helper.c
Index: libvirt-4.5.0/src/security/virt-aa-helper.c
===================================================================
--- libvirt-4.4.0.orig/src/security/virt-aa-helper.c
+++ libvirt-4.4.0/src/security/virt-aa-helper.c
@@ -517,7 +517,8 @@ valid_path(const char *path, const bool
--- libvirt-4.5.0.orig/src/security/virt-aa-helper.c
+++ libvirt-4.5.0/src/security/virt-aa-helper.c
@@ -515,7 +515,8 @@ valid_path(const char *path, const bool
"/usr/share/ovmf/", /* for OVMF images */
"/usr/share/AAVMF/", /* for AAVMF images */
"/usr/share/qemu-efi/", /* for AAVMF images */

View File

@ -7,11 +7,11 @@ 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-4.4.0/src/qemu/qemu.conf
Index: libvirt-4.5.0/src/qemu/qemu.conf
===================================================================
--- libvirt-4.4.0.orig/src/qemu/qemu.conf
+++ libvirt-4.4.0/src/qemu/qemu.conf
@@ -380,11 +380,20 @@
--- libvirt-4.5.0.orig/src/qemu/qemu.conf
+++ libvirt-4.5.0/src/qemu/qemu.conf
@@ -414,11 +414,20 @@
# isolation, but it cannot appear in a list of drivers.
#
#security_driver = "selinux"
@ -34,8 +34,8 @@ Index: libvirt-4.4.0/src/qemu/qemu.conf
# If set to non-zero, then attempts to create unconfined
# guests will be blocked. Defaults to 0.
@@ -628,11 +637,22 @@
#allow_disk_format_probing = 1
@@ -650,11 +659,22 @@
#relaxed_acs_check = 1
-# In order to prevent accidentally starting two domains that

View File

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

View File

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

View File

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