Hello community, here is the log from the commit of package libvirt for openSUSE:Factory checked in at 2014-01-07 20:58:30 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libvirt (Old) and /work/SRC/openSUSE:Factory/.libvirt.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libvirt" Changes: -------- --- /work/SRC/openSUSE:Factory/libvirt/libvirt.changes 2013-11-07 08:40:27.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.libvirt.new/libvirt.changes 2014-01-07 20:58:32.000000000 +0100 @@ -1,0 +2,105 @@ +Thu Dec 26 17:01:48 MST 2013 - [email protected] + +- Ignore 'make check' on older, code 11 base + +------------------------------------------------------------------- +Thu Dec 26 12:16:13 UTC 2013 - [email protected] + +- Fixed and reenabled unit tests. bnc#854694 + +------------------------------------------------------------------- +Fri Dec 20 13:13:03 MST 2013 - [email protected] + +- Remove dependency on pm-utils from libvirt-client + bnc#856381 + +------------------------------------------------------------------- +Fri Dec 20 09:04:45 MST 2013 - [email protected] + +- CVE-2013-6436: Fix crashes in lxc memtune code, one of which + results in DoS + f8c1cb90-CVE-2013-6436.patch, 9faf3f29-LXC-memtune.patch + bnc#854486 + +------------------------------------------------------------------- +Fri Dec 6 15:49:34 MST 2013 - [email protected] + +- More adjustments to the spec file to fix package dependency + issues + bnc#848918 + +------------------------------------------------------------------- +Fri Dec 6 11:03:54 MST 2013 - [email protected] + +- Update to libvirt 1.2.0 + - Add support for gluster pool + - Separation of python binding + - vbox: add support for 4.3 APIs + - Many incremental improvements and bug fixes, see + http://libvirt.org/news.html + - Updated and renamed clone.patch to ia64-clone.patch +- Enabled numad support for openSUSE >= 13.1 + +------------------------------------------------------------------- +Wed Dec 4 14:28:14 MST 2013 - [email protected] + +- Link with same versions of libnl used by netcontrol to prevent + crashing libvirtd on start + +------------------------------------------------------------------- +Wed Dec 4 10:43:28 MST 2013 - [email protected] + +- Add '/etc/sasl2' to libvirt-client file list to fix Factory build + +------------------------------------------------------------------- +Tue Nov 26 20:02:48 MST 2013 - [email protected] + +- Fix starting of libvirtd when NetworkManager is enabled + Modified libvirt-suse-netcontrol.patch + +------------------------------------------------------------------- +Tue Nov 26 14:51:44 MST 2013 - [email protected] + +- Allow execution of libvirt hook scripts in /etc/libvirt/hooks/ + in libvirtd AppArmor profile + +------------------------------------------------------------------- +Wed Nov 20 10:57:57 MST 2013 - [email protected] + +- Update to libvirt 1.1.4 + - Add support for AArch64 architecture + - Various improvements on test code and test driver + - Don't link virt-login-shell against libvirt.so + - Close all non-stdio FDs in virt-login-shell + - Only allow 'stderr' log output when running setuid + - Fix perms for virConnectDomainXML{To,From}Native + - Many incremental improvements and bug fixes, see + http://libvirt.org/news.html + - Drop upstream patches: e7f400a1-CVE-2013-4296.patch, + 2dba0323-CVE-2013-4297.patch, db7a5688-CVE-2013-4311.patch, + e65667c0-CVE-2013-4311.patch, 922b7fda-CVE-2013-4311.patch, + e4697b92-CVE-2013-4311.patch, 8294aa0c-CVE-2013-4399.patch, + 484cc321-fix-spice-migration.patch, + 79552754-libvirtd-chardev-crash.patch, + 57687fd6-CVE-2013-4401.patch, ae53e5d1-CVE-2013-4400.patch, + 8c3586ea-CVE-2013-4400.patch, b7fcc799a-CVE-2013-4400.patch, + 3e2f27e1-CVE-2013-4400.patch, 5a0ea4b7-CVE-2013-4400.patch, + 843bdb2f-CVE-2013-4400.patch, + bd773e74-lxc-terminate-machine.patch, + e350826c-python-fix-fd-passing.patch + +------------------------------------------------------------------- +Tue Nov 19 14:23:27 MST 2013 - [email protected] + +- Allow execution of Xen binaries in /usr/lib{,64}/xen/bin in + libvirtd AppArmor profile + bnc#849524 + +------------------------------------------------------------------- +Tue Nov 19 13:09:31 MST 2013 - [email protected] + +- Require libvirt-daemon-<hypervisor> in the main libvirt package + for each supported hypervisor + bnc#850882 + +------------------------------------------------------------------- Old: ---- 2dba0323-CVE-2013-4297.patch 3e2f27e1-CVE-2013-4400.patch 484cc321-fix-spice-migration.patch 57687fd6-CVE-2013-4401.patch 5a0ea4b7-CVE-2013-4400.patch 79552754-libvirtd-chardev-crash.patch 8294aa0c-CVE-2013-4399.patch 843bdb2f-CVE-2013-4400.patch 8c3586ea-CVE-2013-4400.patch 922b7fda-CVE-2013-4311.patch ae53e5d1-CVE-2013-4400.patch b7fcc799a-CVE-2013-4400.patch bd773e74-lxc-terminate-machine.patch clone.patch db7a5688-CVE-2013-4311.patch e350826c-python-fix-fd-passing.patch e4697b92-CVE-2013-4311.patch e65667c0-CVE-2013-4311.patch e7f400a1-CVE-2013-4296.patch libvirt-1.1.2.tar.bz2 New: ---- 5e397d9c-test-fix-dbus-crash.patch 78af457e-fix-virnettlscontexttest.patch 9faf3f29-LXC-memtune.patch f8c1cb90-CVE-2013-6436.patch ia64-clone.patch libvirt-1.2.0.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libvirt.spec ++++++ ++++ 705 lines (skipped) ++++ between /work/SRC/openSUSE:Factory/libvirt/libvirt.spec ++++ and /work/SRC/openSUSE:Factory/.libvirt.new/libvirt.spec ++++++ 5e397d9c-test-fix-dbus-crash.patch ++++++ >From 5e397d9c0f2ce7d464f8e7e6a598d1c955dfc04a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Bosdonnat?= <[email protected]> Date: Wed, 18 Dec 2013 17:33:44 +0000 Subject: [PATCH] Fix crash in virsystemdtest with dbus 1.7.6 D-bus introduced some changes in its locking code. Overriding the init function skips the new locking init and thus crashes later in libvirt test. Removing the function makes the test pass again. --- tests/virsystemdmock.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/tests/virsystemdmock.c b/tests/virsystemdmock.c index b8fc031..b3b82b4 100644 --- a/tests/virsystemdmock.c +++ b/tests/virsystemdmock.c @@ -31,11 +31,6 @@ void dbus_connection_set_change_sigpipe(dbus_bool_t will_modify_sigpipe ATTRIBUT { } -dbus_bool_t dbus_threads_init_default(void) -{ - return 1; -} - DBusConnection *dbus_bus_get(DBusBusType type ATTRIBUTE_UNUSED, DBusError *error ATTRIBUTE_UNUSED) { -- 1.8.4.4 ++++++ 78af457e-fix-virnettlscontexttest.patch ++++++ >From 78af457eefaf40e66a28b00446c03f8ee9a7f30f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Bosdonnat?= <[email protected]> Date: Mon, 23 Dec 2013 09:01:42 +0100 Subject: [PATCH] virnettlscontexttest fails with GNUTLS 3.0.28 On openSUSE 12.x with GNUTLS 3.0.28, virnettlscontexttest fails. It has been reported to work from GNUTLS 3.1.11 on Fedora 19. Changed the constraints on gnutls to 3.1+ for unit test cacert4req. Signed-off-by: Eric Blake <[email protected]> --- tests/virnettlscontexttest.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tests/virnettlscontexttest.c b/tests/virnettlscontexttest.c index fc512fc..1cc9946 100644 --- a/tests/virnettlscontexttest.c +++ b/tests/virnettlscontexttest.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2011-2012 Red Hat, Inc. + * Copyright (C) 2011-2013 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -265,10 +265,12 @@ mymain(void) /* Technically a CA cert with basic constraints * key purpose == key signing + non-critical should - * be rejected. GNUTLS < 3 does not reject it and + * be rejected. GNUTLS < 3.1 does not reject it and * we don't anticipate them changing this behaviour */ - DO_CTX_TEST(true, cacert4req.filename, servercert4req.filename, GNUTLS_VERSION_MAJOR >= 3); + DO_CTX_TEST(true, cacert4req.filename, servercert4req.filename, + (GNUTLS_VERSION_MAJOR == 3 && GNUTLS_VERSION_MINOR >= 1) || + GNUTLS_VERSION_MAJOR > 3); DO_CTX_TEST(true, cacert5req.filename, servercert5req.filename, true); DO_CTX_TEST(true, cacert6req.filename, servercert6req.filename, true); -- 1.8.4.4 ++++++ 9faf3f29-LXC-memtune.patch ++++++ commit 9faf3f2950aed1643ab7564afcb4c693c77f71b5 Author: Martin Kletzander <[email protected]> Date: Mon Dec 9 11:15:12 2013 +0100 Fix crash in lxcDomainSetMemoryParameters The function doesn't check whether the request is made for active or inactive domain. Thus when the domain is not running it still tries accessing non-existing cgroups (priv->cgroup, which is NULL). I re-made the function in order for it to work the same way it's qemu counterpart does. Reproducer: 1) Define an LXC domain 2) Do 'virsh memtune <domain> --hard-limit 133T' Backtrace: Thread 6 (Thread 0x7fffec8c0700 (LWP 26826)): #0 0x00007ffff70edcc4 in virCgroupPathOfController (group=0x0, controller=3, key=0x7ffff75734bd "memory.limit_in_bytes", path=0x7fffec8bf718) at util/vircgroup.c:1764 #1 0x00007ffff70e9206 in virCgroupSetValueStr (group=0x0, controller=3, key=0x7ffff75734bd "memory.limit_in_bytes", value=0x7fffe409f360 "1073741824") at util/vircgroup.c:669 #2 0x00007ffff70e98b4 in virCgroupSetValueU64 (group=0x0, controller=3, key=0x7ffff75734bd "memory.limit_in_bytes", value=1073741824) at util/vircgroup.c:740 #3 0x00007ffff70ee518 in virCgroupSetMemory (group=0x0, kb=1048576) at util/vircgroup.c:1904 #4 0x00007ffff70ee675 in virCgroupSetMemoryHardLimit (group=0x0, kb=1048576) at util/vircgroup.c:1944 #5 0x00005555557d54c8 in lxcDomainSetMemoryParameters (dom=0x7fffe40cc420, params=0x7fffe409f100, nparams=1, flags=0) at lxc/lxc_driver.c:774 #6 0x00007ffff72c20f9 in virDomainSetMemoryParameters (domain=0x7fffe40cc420, params=0x7fffe409f100, nparams=1, flags=0) at libvirt.c:4051 #7 0x000055555561365f in remoteDispatchDomainSetMemoryParameters (server=0x555555eb7e00, client=0x555555ec4b10, msg=0x555555eb94e0, rerr=0x7fffec8bfb70, args=0x7fffe40b8510) at remote_dispatch.h:7621 #8 0x00005555556133fd in remoteDispatchDomainSetMemoryParametersHelper (server=0x555555eb7e00, client=0x555555ec4b10, msg=0x555555eb94e0, rerr=0x7fffec8bfb70, args=0x7fffe40b8510, ret=0x7fffe40b84f0) at remote_dispatch.h:7591 #9 0x00007ffff73b293f in virNetServerProgramDispatchCall (prog=0x555555ec3ae0, server=0x555555eb7e00, client=0x555555ec4b10, msg=0x555555eb94e0) at rpc/virnetserverprogram.c:435 #10 0x00007ffff73b207f in virNetServerProgramDispatch (prog=0x555555ec3ae0, server=0x555555eb7e00, client=0x555555ec4b10, msg=0x555555eb94e0) at rpc/virnetserverprogram.c:305 #11 0x00007ffff73a4d2c in virNetServerProcessMsg (srv=0x555555eb7e00, client=0x555555ec4b10, prog=0x555555ec3ae0, msg=0x555555eb94e0) at rpc/virnetserver.c:165 #12 0x00007ffff73a4e8d in virNetServerHandleJob (jobOpaque=0x555555ec3e30, opaque=0x555555eb7e00) at rpc/virnetserver.c:186 #13 0x00007ffff7187f3f in virThreadPoolWorker (opaque=0x555555eb7ac0) at util/virthreadpool.c:144 #14 0x00007ffff718733a in virThreadHelper (data=0x555555eb7890) at util/virthreadpthread.c:161 #15 0x00007ffff468ed89 in start_thread (arg=0x7fffec8c0700) at pthread_create.c:308 #16 0x00007ffff3da26bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113 Signed-off-by: Martin Kletzander <[email protected]> Index: libvirt-1.2.0/src/lxc/lxc_driver.c =================================================================== --- libvirt-1.2.0.orig/src/lxc/lxc_driver.c +++ libvirt-1.2.0/src/lxc/lxc_driver.c @@ -742,12 +742,24 @@ lxcDomainSetMemoryParameters(virDomainPt int nparams, unsigned int flags) { - size_t i; + virCapsPtr caps = NULL; + virDomainDefPtr vmdef = NULL; virDomainObjPtr vm = NULL; + virLXCDomainObjPrivatePtr priv = NULL; + virLXCDriverConfigPtr cfg = NULL; + virLXCDriverPtr driver = dom->conn->privateData; + unsigned long long hard_limit; + unsigned long long soft_limit; + unsigned long long swap_hard_limit; + bool set_hard_limit = false; + bool set_soft_limit = false; + bool set_swap_hard_limit = false; + int rc; int ret = -1; - virLXCDomainObjPrivatePtr priv; - virCheckFlags(0, -1); + virCheckFlags(VIR_DOMAIN_AFFECT_LIVE | + VIR_DOMAIN_AFFECT_CONFIG, -1); + if (virTypedParamsValidate(params, nparams, VIR_DOMAIN_MEMORY_HARD_LIMIT, VIR_TYPED_PARAM_ULLONG, @@ -762,29 +774,97 @@ lxcDomainSetMemoryParameters(virDomainPt goto cleanup; priv = vm->privateData; + cfg = virLXCDriverGetConfig(driver); - if (virDomainSetMemoryParametersEnsureACL(dom->conn, vm->def, flags) < 0) + if (virDomainSetMemoryParametersEnsureACL(dom->conn, vm->def, flags) < 0 || + !(caps = virLXCDriverGetCapabilities(driver, false)) || + virDomainLiveConfigHelperMethod(caps, driver->xmlopt, + vm, &flags, &vmdef) < 0) goto cleanup; - ret = 0; - for (i = 0; i < nparams; i++) { - virTypedParameterPtr param = ¶ms[i]; + if (flags & VIR_DOMAIN_AFFECT_LIVE && + !virCgroupHasController(priv->cgroup, VIR_CGROUP_CONTROLLER_MEMORY)) { + virReportError(VIR_ERR_OPERATION_INVALID, + "%s", _("cgroup memory controller is not mounted")); + goto cleanup; + } - if (STREQ(param->field, VIR_DOMAIN_MEMORY_HARD_LIMIT)) { - if (virCgroupSetMemoryHardLimit(priv->cgroup, params[i].value.ul) < 0) - ret = -1; - } else if (STREQ(param->field, VIR_DOMAIN_MEMORY_SOFT_LIMIT)) { - if (virCgroupSetMemorySoftLimit(priv->cgroup, params[i].value.ul) < 0) - ret = -1; - } else if (STREQ(param->field, VIR_DOMAIN_MEMORY_SWAP_HARD_LIMIT)) { - if (virCgroupSetMemSwapHardLimit(priv->cgroup, params[i].value.ul) < 0) - ret = -1; +#define VIR_GET_LIMIT_PARAMETER(PARAM, VALUE) \ + if ((rc = virTypedParamsGetULLong(params, nparams, PARAM, &VALUE)) < 0) \ + goto cleanup; \ + \ + if (rc == 1) \ + set_ ## VALUE = true; + + VIR_GET_LIMIT_PARAMETER(VIR_DOMAIN_MEMORY_SWAP_HARD_LIMIT, swap_hard_limit) + VIR_GET_LIMIT_PARAMETER(VIR_DOMAIN_MEMORY_HARD_LIMIT, hard_limit) + VIR_GET_LIMIT_PARAMETER(VIR_DOMAIN_MEMORY_SOFT_LIMIT, soft_limit) + +#undef VIR_GET_LIMIT_PARAMETER + + /* Swap hard limit must be greater than hard limit. + * Note that limit of 0 denotes unlimited */ + if (set_swap_hard_limit || set_hard_limit) { + unsigned long long mem_limit = vm->def->mem.hard_limit; + unsigned long long swap_limit = vm->def->mem.swap_hard_limit; + + if (set_swap_hard_limit) + swap_limit = swap_hard_limit; + + if (set_hard_limit) + mem_limit = hard_limit; + + if (virCompareLimitUlong(mem_limit, swap_limit) > 0) { + virReportError(VIR_ERR_INVALID_ARG, "%s", + _("memory hard_limit tunable value must be lower " + "than or equal to swap_hard_limit")); + goto cleanup; } } +#define LXC_SET_MEM_PARAMETER(FUNC, VALUE) \ + if (set_ ## VALUE) { \ + if (flags & VIR_DOMAIN_AFFECT_LIVE) { \ + if ((rc = FUNC(priv->cgroup, VALUE)) < 0) { \ + virReportSystemError(-rc, _("unable to set memory %s tunable"), \ + #VALUE); \ + \ + goto cleanup; \ + } \ + vm->def->mem.VALUE = VALUE; \ + } \ + \ + if (flags & VIR_DOMAIN_AFFECT_CONFIG) \ + vmdef->mem.VALUE = VALUE; \ + } + + /* Soft limit doesn't clash with the others */ + LXC_SET_MEM_PARAMETER(virCgroupSetMemorySoftLimit, soft_limit); + + /* set hard limit before swap hard limit if decreasing it */ + if (virCompareLimitUlong(vm->def->mem.hard_limit, hard_limit) > 0) { + LXC_SET_MEM_PARAMETER(virCgroupSetMemoryHardLimit, hard_limit); + /* inhibit changing the limit a second time */ + set_hard_limit = false; + } + + LXC_SET_MEM_PARAMETER(virCgroupSetMemSwapHardLimit, swap_hard_limit); + + /* otherwise increase it after swap hard limit */ + LXC_SET_MEM_PARAMETER(virCgroupSetMemoryHardLimit, hard_limit); + +#undef LXC_SET_MEM_PARAMETER + + if (flags & VIR_DOMAIN_AFFECT_CONFIG && + virDomainSaveConfig(cfg->configDir, vmdef) < 0) + goto cleanup; + + ret = 0; cleanup: if (vm) virObjectUnlock(vm); + virObjectUnref(caps); + virObjectUnref(cfg); return ret; } ++++++ f8c1cb90-CVE-2013-6436.patch ++++++ commit f8c1cb90213508c4f32549023b0572ed774e48aa Author: Martin Kletzander <[email protected]> Date: Mon Dec 9 11:15:11 2013 +0100 CVE-2013-6436: fix crash in lxcDomainGetMemoryParameters The function doesn't check whether the request is made for active or inactive domain. Thus when the domain is not running it still tries accessing non-existing cgroups (priv->cgroup, which is NULL). I re-made the function in order for it to work the same way it's qemu counterpart does. Reproducer: 1) Define an LXC domain 2) Do 'virsh memtune <domain>' Backtrace: Thread 6 (Thread 0x7fffec8c0700 (LWP 13387)): #0 0x00007ffff70edcc4 in virCgroupPathOfController (group=0x0, controller=3, key=0x7ffff75734bd "memory.limit_in_bytes", path=0x7fffec8bf750) at util/vircgroup.c:1764 #1 0x00007ffff70e958c in virCgroupGetValueStr (group=0x0, controller=3, key=0x7ffff75734bd "memory.limit_in_bytes", value=0x7fffec8bf7c0) at util/vircgroup.c:705 #2 0x00007ffff70e9d29 in virCgroupGetValueU64 (group=0x0, controller=3, key=0x7ffff75734bd "memory.limit_in_bytes", value=0x7fffec8bf810) at util/vircgroup.c:804 #3 0x00007ffff70ee706 in virCgroupGetMemoryHardLimit (group=0x0, kb=0x7fffec8bf8a8) at util/vircgroup.c:1962 #4 0x00005555557d590f in lxcDomainGetMemoryParameters (dom=0x7fffd40024a0, params=0x7fffd40027a0, nparams=0x7fffec8bfa24, flags=0) at lxc/lxc_driver.c:826 #5 0x00007ffff72c28d3 in virDomainGetMemoryParameters (domain=0x7fffd40024a0, params=0x7fffd40027a0, nparams=0x7fffec8bfa24, flags=0) at libvirt.c:4137 #6 0x000055555563714d in remoteDispatchDomainGetMemoryParameters (server=0x555555eb7e00, client=0x555555ebaef0, msg=0x555555ebb3e0, rerr=0x7fffec8bfb70, args=0x7fffd40024e0, ret=0x7fffd4002420) at remote.c:1895 #7 0x00005555556052c4 in remoteDispatchDomainGetMemoryParametersHelper (server=0x555555eb7e00, client=0x555555ebaef0, msg=0x555555ebb3e0, rerr=0x7fffec8bfb70, args=0x7fffd40024e0, ret=0x7fffd4002420) at remote_dispatch.h:4050 #8 0x00007ffff73b293f in virNetServerProgramDispatchCall (prog=0x555555ec3ae0, server=0x555555eb7e00, client=0x555555ebaef0, msg=0x555555ebb3e0) at rpc/virnetserverprogram.c:435 #9 0x00007ffff73b207f in virNetServerProgramDispatch (prog=0x555555ec3ae0, server=0x555555eb7e00, client=0x555555ebaef0, msg=0x555555ebb3e0) at rpc/virnetserverprogram.c:305 #10 0x00007ffff73a4d2c in virNetServerProcessMsg (srv=0x555555eb7e00, client=0x555555ebaef0, prog=0x555555ec3ae0, msg=0x555555ebb3e0) at rpc/virnetserver.c:165 #11 0x00007ffff73a4e8d in virNetServerHandleJob (jobOpaque=0x555555ebc7e0, opaque=0x555555eb7e00) at rpc/virnetserver.c:186 #12 0x00007ffff7187f3f in virThreadPoolWorker (opaque=0x555555eb7ac0) at util/virthreadpool.c:144 #13 0x00007ffff718733a in virThreadHelper (data=0x555555eb7890) at util/virthreadpthread.c:161 #14 0x00007ffff468ed89 in start_thread (arg=0x7fffec8c0700) at pthread_create.c:308 #15 0x00007ffff3da26bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113 Signed-off-by: Martin Kletzander <[email protected]> Index: libvirt-1.2.0/src/lxc/lxc_driver.c =================================================================== --- libvirt-1.2.0.orig/src/lxc/lxc_driver.c +++ libvirt-1.2.0/src/lxc/lxc_driver.c @@ -794,22 +794,36 @@ lxcDomainGetMemoryParameters(virDomainPt int *nparams, unsigned int flags) { - size_t i; + virCapsPtr caps = NULL; + virDomainDefPtr vmdef = NULL; virDomainObjPtr vm = NULL; + virLXCDomainObjPrivatePtr priv = NULL; + virLXCDriverPtr driver = dom->conn->privateData; unsigned long long val; int ret = -1; - virLXCDomainObjPrivatePtr priv; + size_t i; - virCheckFlags(0, -1); + virCheckFlags(VIR_DOMAIN_AFFECT_LIVE | + VIR_DOMAIN_AFFECT_CONFIG, -1); if (!(vm = lxcDomObjFromDomain(dom))) goto cleanup; priv = vm->privateData; - if (virDomainGetMemoryParametersEnsureACL(dom->conn, vm->def) < 0) + if (virDomainGetMemoryParametersEnsureACL(dom->conn, vm->def) < 0 || + !(caps = virLXCDriverGetCapabilities(driver, false)) || + virDomainLiveConfigHelperMethod(caps, driver->xmlopt, + vm, &flags, &vmdef) < 0) goto cleanup; + if (flags & VIR_DOMAIN_AFFECT_LIVE && + !virCgroupHasController(priv->cgroup, VIR_CGROUP_CONTROLLER_MEMORY)) { + virReportError(VIR_ERR_OPERATION_INVALID, + "%s", _("cgroup memory controller is not mounted")); + goto cleanup; + } + if ((*nparams) == 0) { /* Current number of memory parameters supported by cgroups */ *nparams = LXC_NB_MEM_PARAM; @@ -823,22 +837,34 @@ lxcDomainGetMemoryParameters(virDomainPt switch (i) { case 0: /* fill memory hard limit here */ - if (virCgroupGetMemoryHardLimit(priv->cgroup, &val) < 0) + if (flags & VIR_DOMAIN_AFFECT_CONFIG) { + val = vmdef->mem.hard_limit; + val = val ? val : VIR_DOMAIN_MEMORY_PARAM_UNLIMITED; + } else if (virCgroupGetMemoryHardLimit(priv->cgroup, &val) < 0) { goto cleanup; + } if (virTypedParameterAssign(param, VIR_DOMAIN_MEMORY_HARD_LIMIT, VIR_TYPED_PARAM_ULLONG, val) < 0) goto cleanup; break; case 1: /* fill memory soft limit here */ - if (virCgroupGetMemorySoftLimit(priv->cgroup, &val) < 0) + if (flags & VIR_DOMAIN_AFFECT_CONFIG) { + val = vmdef->mem.soft_limit; + val = val ? val : VIR_DOMAIN_MEMORY_PARAM_UNLIMITED; + } else if (virCgroupGetMemorySoftLimit(priv->cgroup, &val) < 0) { goto cleanup; + } if (virTypedParameterAssign(param, VIR_DOMAIN_MEMORY_SOFT_LIMIT, VIR_TYPED_PARAM_ULLONG, val) < 0) goto cleanup; break; case 2: /* fill swap hard limit here */ - if (virCgroupGetMemSwapHardLimit(priv->cgroup, &val) < 0) + if (flags & VIR_DOMAIN_AFFECT_CONFIG) { + val = vmdef->mem.swap_hard_limit; + val = val ? val : VIR_DOMAIN_MEMORY_PARAM_UNLIMITED; + } else if (virCgroupGetMemSwapHardLimit(priv->cgroup, &val) < 0) { goto cleanup; + } if (virTypedParameterAssign(param, VIR_DOMAIN_MEMORY_SWAP_HARD_LIMIT, VIR_TYPED_PARAM_ULLONG, val) < 0) @@ -859,6 +885,7 @@ lxcDomainGetMemoryParameters(virDomainPt cleanup: if (vm) virObjectUnlock(vm); + virObjectUnref(caps); return ret; } ++++++ fix-pci-attach-xen-driver.patch ++++++ --- /var/tmp/diff_new_pack.B7FsXv/_old 2014-01-07 20:58:33.000000000 +0100 +++ /var/tmp/diff_new_pack.B7FsXv/_new 2014-01-07 20:58:33.000000000 +0100 @@ -8,11 +8,11 @@ This patch changes the xend driver to always call 'device_configure' for PCI devices to be consistent with the usage in the xen tools. -Index: libvirt-1.1.2/src/xen/xend_internal.c +Index: libvirt-1.2.0/src/xen/xend_internal.c =================================================================== ---- libvirt-1.1.2.orig/src/xen/xend_internal.c -+++ libvirt-1.1.2/src/xen/xend_internal.c -@@ -2206,6 +2206,7 @@ xenDaemonAttachDeviceFlags(virConnectPtr +--- libvirt-1.2.0.orig/src/xen/xend_internal.c ++++ libvirt-1.2.0/src/xen/xend_internal.c +@@ -2207,6 +2207,7 @@ xenDaemonAttachDeviceFlags(virConnectPtr virBuffer buf = VIR_BUFFER_INITIALIZER; char class[8], ref[80]; char *target = NULL; @@ -20,7 +20,7 @@ virCheckFlags(VIR_DOMAIN_AFFECT_LIVE | VIR_DOMAIN_AFFECT_CONFIG, -1); -@@ -2304,8 +2305,18 @@ xenDaemonAttachDeviceFlags(virConnectPtr +@@ -2305,8 +2306,18 @@ xenDaemonAttachDeviceFlags(virConnectPtr } sexpr = virBufferContentAndReset(&buf); ++++++ ia64-clone.patch ++++++ Index: libvirt-1.2.0/src/lxc/lxc_container.c =================================================================== --- libvirt-1.2.0.orig/src/lxc/lxc_container.c +++ libvirt-1.2.0/src/lxc/lxc_container.c @@ -162,12 +162,19 @@ int lxcContainerHasReboot(void) VIR_FREE(buf); cmd = v ? LINUX_REBOOT_CMD_CAD_ON : LINUX_REBOOT_CMD_CAD_OFF; +#ifdef __ia64__ + stacksize *= 2; +#endif if (VIR_ALLOC_N(stack, stacksize) < 0) return -1; childStack = stack + stacksize; +#ifdef __ia64__ + cpid = __clone2(lxcContainerRebootChild, childStack, stacksize, flags, &cmd); +#else cpid = clone(lxcContainerRebootChild, childStack, flags, &cmd); +#endif VIR_FREE(stack); if (cpid < 0) { virReportSystemError(errno, "%s", @@ -1985,6 +1992,9 @@ int lxcContainerStart(virDomainDefPtr de .handshakefd = handshakefd }; +#ifdef __ia64__ + stacksize *= 2; +#endif /* allocate a stack for the container */ if (VIR_ALLOC_N(stack, stacksize) < 0) return -1; @@ -2010,7 +2020,11 @@ int lxcContainerStart(virDomainDefPtr de cflags |= CLONE_NEWNET; } +#ifdef __ia64__ + pid = __clone2(lxcContainerChild, stacktop, stacksize, cflags, &args); +#else pid = clone(lxcContainerChild, stacktop, cflags, &args); +#endif VIR_FREE(stack); VIR_DEBUG("clone() completed, new container PID is %d", pid); @@ -2044,12 +2058,19 @@ int lxcContainerAvailable(int features) if (features & LXC_CONTAINER_FEATURE_NET) flags |= CLONE_NEWNET; +#ifdef __ia64__ + stacksize *= 2; +#endif if (VIR_ALLOC_N(stack, stacksize) < 0) return -1; childStack = stack + stacksize; +#ifdef __ia64__ + cpid = __clone2(lxcContainerDummyChild, childStack, stacksize, flags, NULL); +#else cpid = clone(lxcContainerDummyChild, childStack, flags, NULL); +#endif VIR_FREE(stack); if (cpid < 0) { char ebuf[1024] ATTRIBUTE_UNUSED; ++++++ install-apparmor-profiles.patch ++++++ --- /var/tmp/diff_new_pack.B7FsXv/_old 2014-01-07 20:58:33.000000000 +0100 +++ /var/tmp/diff_new_pack.B7FsXv/_new 2014-01-07 20:58:33.000000000 +0100 @@ -1,7 +1,7 @@ -Index: libvirt-1.1.2/examples/apparmor/Makefile.am +Index: libvirt-1.2.0/examples/apparmor/Makefile.am =================================================================== ---- libvirt-1.1.2.orig/examples/apparmor/Makefile.am -+++ libvirt-1.1.2/examples/apparmor/Makefile.am +--- libvirt-1.2.0.orig/examples/apparmor/Makefile.am ++++ libvirt-1.2.0/examples/apparmor/Makefile.am @@ -14,8 +14,45 @@ ## License along with this library. If not, see ## <http://www.gnu.org/licenses/>. @@ -53,10 +53,10 @@ + rm -f $(DESTDIR)$(sysconfdir)/apparmor.d/libvirt/TEMPLATE + +endif -Index: libvirt-1.1.2/examples/apparmor/usr.lib.libvirt.virt-aa-helper.in +Index: libvirt-1.2.0/examples/apparmor/usr.lib.libvirt.virt-aa-helper.in =================================================================== --- /dev/null -+++ libvirt-1.1.2/examples/apparmor/usr.lib.libvirt.virt-aa-helper.in ++++ libvirt-1.2.0/examples/apparmor/usr.lib.libvirt.virt-aa-helper.in @@ -0,0 +1,41 @@ +# Last Modified: Fri Aug 19 11:21:48 2011 +#include <tunables/global> @@ -99,9 +99,9 @@ + /var/lib/kvm/images/ r, + /var/lib/kvm/images/** r, +} -Index: libvirt-1.1.2/examples/apparmor/usr.lib.libvirt.virt-aa-helper +Index: libvirt-1.2.0/examples/apparmor/usr.lib.libvirt.virt-aa-helper =================================================================== ---- libvirt-1.1.2.orig/examples/apparmor/usr.lib.libvirt.virt-aa-helper +--- libvirt-1.2.0.orig/examples/apparmor/usr.lib.libvirt.virt-aa-helper +++ /dev/null @@ -1,38 +0,0 @@ -# Last Modified: Mon Apr 5 15:10:27 2010 @@ -142,9 +142,9 @@ - /var/lib/libvirt/images/ r, - /var/lib/libvirt/images/** r, -} -Index: libvirt-1.1.2/examples/apparmor/usr.sbin.libvirtd +Index: libvirt-1.2.0/examples/apparmor/usr.sbin.libvirtd =================================================================== ---- libvirt-1.1.2.orig/examples/apparmor/usr.sbin.libvirtd +--- libvirt-1.2.0.orig/examples/apparmor/usr.sbin.libvirtd +++ /dev/null @@ -1,52 +0,0 @@ -# Last Modified: Mon Apr 5 15:03:58 2010 @@ -199,11 +199,11 @@ - change_profile -> @{LIBVIRT}-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*, - -} -Index: libvirt-1.1.2/examples/apparmor/usr.sbin.libvirtd.in +Index: libvirt-1.2.0/examples/apparmor/usr.sbin.libvirtd.in =================================================================== --- /dev/null -+++ libvirt-1.1.2/examples/apparmor/usr.sbin.libvirtd.in -@@ -0,0 +1,60 @@ ++++ libvirt-1.2.0/examples/apparmor/usr.sbin.libvirtd.in +@@ -0,0 +1,61 @@ +# Last Modified: Fri Aug 19 11:20:36 2011 +#include <tunables/global> +@{LIBVIRT}="libvirt" @@ -244,8 +244,8 @@ + /sbin/* Ux, + /usr/bin/* Ux, + /usr/sbin/* Ux, -+ /usr/lib/xen/bin/qemu-dm Ux, -+ /usr/lib/xen/bin/qemu-system-i386 Ux, ++ /usr/lib/xen/bin/* Ux, ++ /usr/lib64/xen/bin/* Ux, + /usr/lib/PolicyKit/polkit-read-auth-helper Px, + + # force the use of virt-aa-helper @@ -255,6 +255,7 @@ + audit deny /sys/kernel/security/apparmor/matching rwxl, + audit deny /sys/kernel/security/apparmor/.* rwxl, + /sys/kernel/security/apparmor/profiles r, ++ /etc/libvirt/hooks/* rix, + /etc/xen/scripts/* rix, + @libdir@/libvirt/* Pxr, + @libdir@/libvirt/libvirt_parthelper Ux, @@ -264,9 +265,9 @@ + change_profile -> @{LIBVIRT}-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*, + +} -Index: libvirt-1.1.2/examples/apparmor/libvirt-qemu +Index: libvirt-1.2.0/examples/apparmor/libvirt-qemu =================================================================== ---- libvirt-1.1.2.orig/examples/apparmor/libvirt-qemu +--- libvirt-1.2.0.orig/examples/apparmor/libvirt-qemu +++ /dev/null @@ -1,129 +0,0 @@ -# Last Modified: Fri Mar 9 14:43:22 2012 @@ -398,10 +399,10 @@ - - /usr/libexec/qemu-bridge-helper rmix, - } -Index: libvirt-1.1.2/examples/apparmor/libvirt-qemu.in +Index: libvirt-1.2.0/examples/apparmor/libvirt-qemu.in =================================================================== --- /dev/null -+++ libvirt-1.1.2/examples/apparmor/libvirt-qemu.in ++++ libvirt-1.2.0/examples/apparmor/libvirt-qemu.in @@ -0,0 +1,132 @@ +# Last Modified: Fri Mar 9 14:43:22 2012 + ++++++ libvirt-1.1.2.tar.bz2 -> libvirt-1.2.0.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/libvirt/libvirt-1.1.2.tar.bz2 /work/SRC/openSUSE:Factory/.libvirt.new/libvirt-1.2.0.tar.bz2 differ: char 11, line 1 ++++++ libvirt-guests-init-script.patch ++++++ --- /var/tmp/diff_new_pack.B7FsXv/_old 2014-01-07 20:58:33.000000000 +0100 +++ /var/tmp/diff_new_pack.B7FsXv/_new 2014-01-07 20:58:33.000000000 +0100 @@ -1,9 +1,9 @@ Adjust libvirt-guests init files to conform to SUSE standards -Index: libvirt-1.1.2/tools/libvirt-guests.init.in +Index: libvirt-1.2.0/tools/libvirt-guests.init.in =================================================================== ---- libvirt-1.1.2.orig/tools/libvirt-guests.init.in -+++ libvirt-1.1.2/tools/libvirt-guests.init.in +--- libvirt-1.2.0.orig/tools/libvirt-guests.init.in ++++ libvirt-1.2.0/tools/libvirt-guests.init.in @@ -3,15 +3,15 @@ # the following is the LSB init header # @@ -28,10 +28,10 @@ ### END INIT INFO # the following is chkconfig init header -Index: libvirt-1.1.2/tools/libvirt-guests.sh.in +Index: libvirt-1.2.0/tools/libvirt-guests.sh.in =================================================================== ---- libvirt-1.1.2.orig/tools/libvirt-guests.sh.in -+++ libvirt-1.1.2/tools/libvirt-guests.sh.in +--- libvirt-1.2.0.orig/tools/libvirt-guests.sh.in ++++ libvirt-1.2.0/tools/libvirt-guests.sh.in @@ -16,14 +16,13 @@ # License along with this library. If not, see # <http://www.gnu.org/licenses/>. @@ -189,10 +189,10 @@ esac -exit $RETVAL +rc_exit -Index: libvirt-1.1.2/tools/libvirt-guests.sysconf +Index: libvirt-1.2.0/tools/libvirt-guests.sysconf =================================================================== ---- libvirt-1.1.2.orig/tools/libvirt-guests.sysconf -+++ libvirt-1.1.2/tools/libvirt-guests.sysconf +--- libvirt-1.2.0.orig/tools/libvirt-guests.sysconf ++++ libvirt-1.2.0/tools/libvirt-guests.sysconf @@ -1,19 +1,29 @@ +## Path: System/Virtualization/libvirt-guests + ++++++ libvirt-suse-netcontrol.patch ++++++ --- /var/tmp/diff_new_pack.B7FsXv/_old 2014-01-07 20:58:33.000000000 +0100 +++ /var/tmp/diff_new_pack.B7FsXv/_new 2014-01-07 20:58:33.000000000 +0100 @@ -1,16 +1,16 @@ -Index: libvirt-1.1.2/configure.ac +Index: libvirt-1.2.0/configure.ac =================================================================== ---- libvirt-1.1.2.orig/configure.ac -+++ libvirt-1.1.2/configure.ac -@@ -174,6 +174,7 @@ LIBVIRT_CHECK_DBUS - LIBVIRT_CHECK_FUSE +--- libvirt-1.2.0.orig/configure.ac ++++ libvirt-1.2.0/configure.ac +@@ -231,6 +231,7 @@ LIBVIRT_CHECK_FUSE + LIBVIRT_CHECK_GLUSTER LIBVIRT_CHECK_HAL LIBVIRT_CHECK_NETCF +LIBVIRT_CHECK_NETCONTROL LIBVIRT_CHECK_NUMACTL LIBVIRT_CHECK_OPENWSMAN LIBVIRT_CHECK_PCIACCESS -@@ -2297,11 +2298,12 @@ if test "$with_libvirtd" = "no" ; then +@@ -2312,11 +2313,12 @@ if test "$with_libvirtd" = "no" ; then with_interface=no fi @@ -26,22 +26,22 @@ esac if test "$with_interface" = "yes" ; then -@@ -2609,6 +2611,7 @@ LIBVIRT_RESULT_DBUS - LIBVIRT_RESULT_FUSE +@@ -2631,6 +2633,7 @@ LIBVIRT_RESULT_FUSE + LIBVIRT_RESULT_GLUSTER LIBVIRT_RESULT_HAL LIBVIRT_RESULT_NETCF +LIBVIRT_RESULT_NETCONTROL LIBVIRT_RESULT_NUMACTL LIBVIRT_RESULT_OPENWSMAN LIBVIRT_RESULT_PCIACCESS -Index: libvirt-1.1.2/src/Makefile.am +Index: libvirt-1.2.0/src/Makefile.am =================================================================== ---- libvirt-1.1.2.orig/src/Makefile.am -+++ libvirt-1.1.2/src/Makefile.am -@@ -754,6 +754,10 @@ if WITH_NETCF +--- libvirt-1.2.0.orig/src/Makefile.am ++++ libvirt-1.2.0/src/Makefile.am +@@ -781,6 +781,10 @@ if WITH_NETCF INTERFACE_DRIVER_SOURCES += \ interface/interface_backend_netcf.c - endif + endif WITH_NETCF +if WITH_NETCONTROL +INTERFACE_DRIVER_SOURCES += \ + interface/interface_backend_netcf.c @@ -49,28 +49,27 @@ if WITH_UDEV INTERFACE_DRIVER_SOURCES += \ interface/interface_backend_udev.c -@@ -1314,11 +1318,16 @@ if WITH_NETCF +@@ -1346,10 +1350,15 @@ if WITH_NETCF libvirt_driver_interface_la_CFLAGS += $(NETCF_CFLAGS) libvirt_driver_interface_la_LIBADD += $(NETCF_LIBS) - else + else ! WITH_NETCF +if WITH_NETCONTROL +libvirt_driver_interface_la_CFLAGS += $(NETCONTROL_CFLAGS) +libvirt_driver_interface_la_LIBADD += $(NETCONTROL_LIBS) -+else ++else ! WITH_NETCONTROL if WITH_UDEV libvirt_driver_interface_la_CFLAGS += $(UDEV_CFLAGS) libvirt_driver_interface_la_LIBADD += $(UDEV_LIBS) - endif - endif -+endif + endif WITH_UDEV ++endif ! WITH_NETCONTROL + endif ! WITH_NETCF if WITH_DRIVER_MODULES libvirt_driver_interface_la_LIBADD += ../gnulib/lib/libgnu.la - libvirt_driver_interface_la_LDFLAGS += -module -avoid-version -Index: libvirt-1.1.2/tools/virsh.c +Index: libvirt-1.2.0/tools/virsh.c =================================================================== ---- libvirt-1.1.2.orig/tools/virsh.c -+++ libvirt-1.1.2/tools/virsh.c -@@ -2864,6 +2864,8 @@ vshShowVersion(vshControl *ctl ATTRIBUTE +--- libvirt-1.2.0.orig/tools/virsh.c ++++ libvirt-1.2.0/tools/virsh.c +@@ -3029,6 +3029,8 @@ vshShowVersion(vshControl *ctl ATTRIBUTE vshPrint(ctl, " Interface"); # if defined(WITH_NETCF) vshPrint(ctl, " netcf"); @@ -79,10 +78,10 @@ # elif defined(WITH_UDEV) vshPrint(ctl, " udev"); # endif -Index: libvirt-1.1.2/src/interface/interface_backend_netcf.c +Index: libvirt-1.2.0/src/interface/interface_backend_netcf.c =================================================================== ---- libvirt-1.1.2.orig/src/interface/interface_backend_netcf.c -+++ libvirt-1.1.2/src/interface/interface_backend_netcf.c +--- libvirt-1.2.0.orig/src/interface/interface_backend_netcf.c ++++ libvirt-1.2.0/src/interface/interface_backend_netcf.c @@ -23,7 +23,12 @@ #include <config.h> @@ -97,9 +96,9 @@ #include "virerror.h" #include "datatypes.h" -@@ -54,6 +59,38 @@ static void interfaceDriverUnlock(struct - virMutexUnlock(&driver->lock); - } +@@ -63,6 +68,37 @@ VIR_ONCE_GLOBAL_INIT(virNetcfDriverState + + static virNetcfDriverStatePtr driverState = NULL; +#ifdef WITH_NETCONTROL +static void @@ -132,25 +131,44 @@ + virLogMessage(VIR_LOG_FROM_FILE, vp, file, line, func, 0, "%s", msg); +} +#endif -+ - /* - * Get a minimal virInterfaceDef containing enough metadata - * for access control checks to be performed. Currently -@@ -164,6 +201,10 @@ static virDrvOpenStatus netcfInterfaceOp - goto mutex_error; - } + + static void + virNetcfDriverStateDispose(void *obj) +@@ -85,7 +121,22 @@ netcfStateInitialize(bool privileged ATT + if (!(driverState = virObjectLockableNew(virNetcfDriverStateClass))) + return -1; +#ifdef WITH_NETCONTROL + nc_logger_redirect_to(interface_nc_log_driver); -+#endif + /* open netcf */ - if (ncf_init(&driverState->netcf, NULL) != 0) - { -Index: libvirt-1.1.2/src/interface/interface_driver.c ++ /* Note: On SUSE, ncf_init will fail if Network Manager is enabled. Ignore ++ * the failure so libvirtd will still start. Connections to the driver will ++ * fail in netcfInterfaceOpen. This restores the behavior before ++ * commit 822fe136. ++ */ ++ if (ncf_init(&driverState->netcf, NULL) != 0) { ++ VIR_WARN("Failed to initialize netcontrol. Continuing with network " ++ "interface management features disabled"); ++ virObjectUnref(driverState); ++ driverState = NULL; ++ } ++#else + if (ncf_init(&driverState->netcf, NULL) != 0) { + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", + _("failed to initialize netcf")); +@@ -93,6 +144,7 @@ netcfStateInitialize(bool privileged ATT + driverState = NULL; + return -1; + } ++#endif + return 0; + } + +Index: libvirt-1.2.0/src/interface/interface_driver.c =================================================================== ---- libvirt-1.1.2.orig/src/interface/interface_driver.c -+++ libvirt-1.1.2/src/interface/interface_driver.c +--- libvirt-1.2.0.orig/src/interface/interface_driver.c ++++ libvirt-1.2.0/src/interface/interface_driver.c @@ -28,8 +28,15 @@ interfaceRegister(void) { if (netcfIfaceRegister() == 0) return 0; @@ -168,10 +186,10 @@ if (udevIfaceRegister() == 0) return 0; #endif /* WITH_UDEV */ -Index: libvirt-1.1.2/m4/virt-netcontrol.m4 +Index: libvirt-1.2.0/m4/virt-netcontrol.m4 =================================================================== --- /dev/null -+++ libvirt-1.1.2/m4/virt-netcontrol.m4 ++++ libvirt-1.2.0/m4/virt-netcontrol.m4 @@ -0,0 +1,35 @@ +dnl The libnetcontrol library +dnl ++++++ libvirtd-defaults.patch ++++++ --- /var/tmp/diff_new_pack.B7FsXv/_old 2014-01-07 20:58:33.000000000 +0100 +++ /var/tmp/diff_new_pack.B7FsXv/_new 2014-01-07 20:58:33.000000000 +0100 @@ -1,7 +1,7 @@ -Index: libvirt-1.1.2/daemon/libvirtd.conf +Index: libvirt-1.2.0/daemon/libvirtd.conf =================================================================== ---- libvirt-1.1.2.orig/daemon/libvirtd.conf -+++ libvirt-1.1.2/daemon/libvirtd.conf +--- libvirt-1.2.0.orig/daemon/libvirtd.conf ++++ libvirt-1.2.0/daemon/libvirtd.conf @@ -18,8 +18,8 @@ # It is necessary to setup a CA and issue server certificates before # using this capability. @@ -13,10 +13,10 @@ # 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-1.1.2/daemon/libvirtd-config.c +Index: libvirt-1.2.0/daemon/libvirtd-config.c =================================================================== ---- libvirt-1.1.2.orig/daemon/libvirtd-config.c -+++ libvirt-1.1.2/daemon/libvirtd-config.c +--- libvirt-1.2.0.orig/daemon/libvirtd-config.c ++++ libvirt-1.2.0/daemon/libvirtd-config.c @@ -222,7 +222,7 @@ daemonConfigNew(bool privileged ATTRIBUT if (VIR_ALLOC(data) < 0) return NULL; ++++++ libvirtd-init-script.patch ++++++ --- /var/tmp/diff_new_pack.B7FsXv/_old 2014-01-07 20:58:33.000000000 +0100 +++ /var/tmp/diff_new_pack.B7FsXv/_new 2014-01-07 20:58:33.000000000 +0100 @@ -1,9 +1,9 @@ Adjust libvirtd sysconfig file to conform to SUSE standards -Index: libvirt-1.1.2/daemon/libvirtd.sysconf +Index: libvirt-1.2.0/daemon/libvirtd.sysconf =================================================================== ---- libvirt-1.1.2.orig/daemon/libvirtd.sysconf -+++ libvirt-1.1.2/daemon/libvirtd.sysconf +--- libvirt-1.2.0.orig/daemon/libvirtd.sysconf ++++ libvirt-1.2.0/daemon/libvirtd.sysconf @@ -1,16 +1,25 @@ +## Path: System/Virtualization/libvirt + ++++++ libxl-hvm-nic.patch ++++++ --- /var/tmp/diff_new_pack.B7FsXv/_old 2014-01-07 20:58:33.000000000 +0100 +++ /var/tmp/diff_new_pack.B7FsXv/_new 2014-01-07 20:58:33.000000000 +0100 @@ -1,8 +1,8 @@ -Index: libvirt-1.1.2/src/libxl/libxl_conf.c +Index: libvirt-1.2.0/src/libxl/libxl_conf.c =================================================================== ---- libvirt-1.1.2.orig/src/libxl/libxl_conf.c -+++ libvirt-1.1.2/src/libxl/libxl_conf.c -@@ -846,8 +846,6 @@ libxlMakeNic(virDomainNetDefPtr l_nic, l +--- libvirt-1.2.0.orig/src/libxl/libxl_conf.c ++++ libvirt-1.2.0/src/libxl/libxl_conf.c +@@ -886,8 +886,6 @@ libxlMakeNic(virDomainNetDefPtr l_nic, l * x_nics[i].mtu = 1492; */ @@ -11,7 +11,7 @@ virMacAddrGetRaw(&l_nic->mac, x_nic->mac); if (l_nic->model && !STREQ(l_nic->model, "netfront")) { -@@ -892,6 +890,8 @@ libxlMakeNicList(virDomainDefPtr def, l +@@ -932,6 +930,8 @@ libxlMakeNicList(virDomainDefPtr def, l return -1; for (i = 0; i < nnics; i++) { ++++++ libxl-hvm-vnc.patch ++++++ --- /var/tmp/diff_new_pack.B7FsXv/_old 2014-01-07 20:58:33.000000000 +0100 +++ /var/tmp/diff_new_pack.B7FsXv/_new 2014-01-07 20:58:33.000000000 +0100 @@ -1,8 +1,8 @@ -Index: libvirt-1.1.2/src/libxl/libxl_conf.c +Index: libvirt-1.2.0/src/libxl/libxl_conf.c =================================================================== ---- libvirt-1.1.2.orig/src/libxl/libxl_conf.c -+++ libvirt-1.1.2/src/libxl/libxl_conf.c -@@ -524,6 +524,30 @@ libxlMakeChrdevStr(virDomainChrDefPtr de +--- libvirt-1.2.0.orig/src/libxl/libxl_conf.c ++++ libvirt-1.2.0/src/libxl/libxl_conf.c +@@ -561,6 +561,30 @@ libxlMakeChrdevStr(virDomainChrDefPtr de } static int @@ -33,7 +33,7 @@ libxlMakeDomBuildInfo(virDomainObjPtr vm, libxl_domain_config *d_config) { virDomainDefPtr def = vm->def; -@@ -1025,6 +1049,9 @@ libxlBuildDomainConfig(libxlDriverPrivat +@@ -1174,6 +1198,9 @@ libxlBuildDomainConfig(libxlDriverPrivat if (libxlMakeVfbList(driver, def, d_config) < 0) return -1; ++++++ support-managed-pci-xen-driver.patch ++++++ --- /var/tmp/diff_new_pack.B7FsXv/_old 2014-01-07 20:58:33.000000000 +0100 +++ /var/tmp/diff_new_pack.B7FsXv/_new 2014-01-07 20:58:33.000000000 +0100 @@ -8,11 +8,11 @@ src/xenxs/xen_xm.c | 28 +++++++++++++++++++++++++++- 2 files changed, 35 insertions(+), 15 deletions(-) -Index: libvirt-1.1.2/src/xenxs/xen_sxpr.c +Index: libvirt-1.2.0/src/xenxs/xen_sxpr.c =================================================================== ---- libvirt-1.1.2.orig/src/xenxs/xen_sxpr.c -+++ libvirt-1.1.2/src/xenxs/xen_sxpr.c -@@ -993,6 +993,7 @@ xenParseSxprPCI(virDomainDefPtr def, +--- libvirt-1.2.0.orig/src/xenxs/xen_sxpr.c ++++ libvirt-1.2.0/src/xenxs/xen_sxpr.c +@@ -996,6 +996,7 @@ xenParseSxprPCI(virDomainDefPtr def, int busID; int slotID; int funcID; @@ -20,7 +20,7 @@ node = cur->u.s.car; if (!sexpr_lookup(node, "dev")) -@@ -1040,11 +1041,13 @@ xenParseSxprPCI(virDomainDefPtr def, +@@ -1043,11 +1044,13 @@ xenParseSxprPCI(virDomainDefPtr def, goto error; } @@ -35,7 +35,7 @@ dev->source.subsys.type = VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI; dev->source.subsys.u.pci.addr.domain = domainID; dev->source.subsys.u.pci.addr.bus = busID; -@@ -1990,11 +1993,15 @@ static void +@@ -1991,11 +1994,15 @@ static void xenFormatSxprPCI(virDomainHostdevDefPtr def, virBufferPtr buf) { @@ -52,7 +52,7 @@ } -@@ -2013,12 +2020,6 @@ xenFormatSxprOnePCI(virDomainHostdevDefP +@@ -2014,12 +2021,6 @@ xenFormatSxprOnePCI(virDomainHostdevDefP virBufferPtr buf, int detach) { @@ -65,7 +65,7 @@ virBufferAddLit(buf, "(pci "); xenFormatSxprPCI(def, buf); if (detach) -@@ -2073,12 +2074,6 @@ xenFormatSxprAllPCI(virDomainDefPtr def, +@@ -2074,12 +2075,6 @@ xenFormatSxprAllPCI(virDomainDefPtr def, for (i = 0; i < def->nhostdevs; i++) { if (def->hostdevs[i]->mode == VIR_DOMAIN_HOSTDEV_MODE_SUBSYS && def->hostdevs[i]->source.subsys.type == VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI) { @@ -78,10 +78,10 @@ xenFormatSxprPCI(def->hostdevs[i], buf); } } -Index: libvirt-1.1.2/src/xenxs/xen_xm.c +Index: libvirt-1.2.0/src/xenxs/xen_xm.c =================================================================== ---- libvirt-1.1.2.orig/src/xenxs/xen_xm.c -+++ libvirt-1.1.2/src/xenxs/xen_xm.c +--- libvirt-1.2.0.orig/src/xenxs/xen_xm.c ++++ libvirt-1.2.0/src/xenxs/xen_xm.c @@ -802,6 +802,8 @@ xenParseXM(virConfPtr conf, int xendConf int busID; int slotID; ++++++ suse-qemu-conf.patch ++++++ --- /var/tmp/diff_new_pack.B7FsXv/_old 2014-01-07 20:58:33.000000000 +0100 +++ /var/tmp/diff_new_pack.B7FsXv/_new 2014-01-07 20:58:33.000000000 +0100 @@ -1,8 +1,8 @@ -Index: libvirt-1.1.2/src/qemu/qemu.conf +Index: libvirt-1.2.0/src/qemu/qemu.conf =================================================================== ---- libvirt-1.1.2.orig/src/qemu/qemu.conf -+++ libvirt-1.1.2/src/qemu/qemu.conf -@@ -175,7 +175,16 @@ +--- libvirt-1.2.0.orig/src/qemu/qemu.conf ++++ libvirt-1.2.0/src/qemu/qemu.conf +@@ -200,7 +200,16 @@ # a special value; security_driver can be set to that value in # isolation, but it cannot appear in a list of drivers. # @@ -19,7 +19,7 @@ # If set to non-zero, then the default security labeling # will make guests confined. If set to zero, then guests -@@ -371,6 +380,15 @@ +@@ -402,6 +411,15 @@ #allow_disk_format_probing = 1 ++++++ systemd-service-xen.patch ++++++ --- /var/tmp/diff_new_pack.B7FsXv/_old 2014-01-07 20:58:33.000000000 +0100 +++ /var/tmp/diff_new_pack.B7FsXv/_new 2014-01-07 20:58:33.000000000 +0100 @@ -1,7 +1,7 @@ -Index: libvirt-1.1.2/daemon/libvirtd.service.in +Index: libvirt-1.2.0/daemon/libvirtd.service.in =================================================================== ---- libvirt-1.1.2.orig/daemon/libvirtd.service.in -+++ libvirt-1.1.2/daemon/libvirtd.service.in +--- libvirt-1.2.0.orig/daemon/libvirtd.service.in ++++ libvirt-1.2.0/daemon/libvirtd.service.in @@ -9,6 +9,8 @@ Before=libvirt-guests.service After=network.target After=dbus.service ++++++ virtlockd-init-script.patch ++++++ --- /var/tmp/diff_new_pack.B7FsXv/_old 2014-01-07 20:58:33.000000000 +0100 +++ /var/tmp/diff_new_pack.B7FsXv/_new 2014-01-07 20:58:33.000000000 +0100 @@ -1,9 +1,9 @@ Adjust virtlockd init files to conform to SUSE standards -Index: libvirt-1.1.2/src/locking/virtlockd.sysconf +Index: libvirt-1.2.0/src/locking/virtlockd.sysconf =================================================================== ---- libvirt-1.1.2.orig/src/locking/virtlockd.sysconf -+++ libvirt-1.1.2/src/locking/virtlockd.sysconf +--- libvirt-1.2.0.orig/src/locking/virtlockd.sysconf ++++ libvirt-1.2.0/src/locking/virtlockd.sysconf @@ -1,3 +1,7 @@ +## Path: System/Virtualization/virtlockd + @@ -12,10 +12,10 @@ # # Pass extra arguments to virtlockd #VIRTLOCKD_ARGS= -Index: libvirt-1.1.2/src/locking/virtlockd.init.in +Index: libvirt-1.2.0/src/locking/virtlockd.init.in =================================================================== ---- libvirt-1.1.2.orig/src/locking/virtlockd.init.in -+++ libvirt-1.1.2/src/locking/virtlockd.init.in +--- libvirt-1.2.0.orig/src/locking/virtlockd.init.in ++++ libvirt-1.2.0/src/locking/virtlockd.init.in @@ -4,11 +4,13 @@ # http://www.linux-foundation.org/spec//booksets/LSB-Core-generic/LSB-Core-generic.html#INITSCRCOMCONV # ++++++ xen-name-for-devid.patch ++++++ --- /var/tmp/diff_new_pack.B7FsXv/_old 2014-01-07 20:58:33.000000000 +0100 +++ /var/tmp/diff_new_pack.B7FsXv/_new 2014-01-07 20:58:33.000000000 +0100 @@ -14,10 +14,10 @@ is inactive. We obviously can't search xenstore when the domain is inactive. -Index: libvirt-1.1.2/src/xen/xend_internal.c +Index: libvirt-1.2.0/src/xen/xend_internal.c =================================================================== ---- libvirt-1.1.2.orig/src/xen/xend_internal.c -+++ libvirt-1.1.2/src/xen/xend_internal.c +--- libvirt-1.2.0.orig/src/xen/xend_internal.c ++++ libvirt-1.2.0/src/xen/xend_internal.c @@ -70,7 +70,7 @@ #define XEND_RCV_BUF_MAX_LEN (256 * 1024) @@ -27,7 +27,7 @@ virDomainDeviceDefPtr dev, char *class, char *ref, int ref_len); -@@ -3314,18 +3314,18 @@ xenDaemonDomainBlockPeek(virConnectPtr c +@@ -3316,18 +3316,18 @@ xenDaemonDomainBlockPeek(virConnectPtr c * Returns 0 in case of success, -1 in case of failure. */ static int @@ -50,7 +50,7 @@ if (dev->data.disk->driverName && STREQ(dev->data.disk->driverName, "tap")) strcpy(class, "tap"); -@@ -3335,19 +3335,17 @@ virDomainXMLDevID(virConnectPtr conn, +@@ -3337,19 +3337,17 @@ virDomainXMLDevID(virConnectPtr conn, else strcpy(class, "vbd"); @@ -81,7 +81,7 @@ } else if (dev->type == VIR_DOMAIN_DEVICE_NET) { char mac[VIR_MAC_STRING_BUFLEN]; virDomainNetDefPtr netdef = dev->data.net; -@@ -3355,16 +3353,22 @@ virDomainXMLDevID(virConnectPtr conn, +@@ -3357,16 +3355,22 @@ virDomainXMLDevID(virConnectPtr conn, strcpy(class, "vif"); @@ -114,7 +114,7 @@ } else if (dev->type == VIR_DOMAIN_DEVICE_HOSTDEV && dev->data.hostdev->mode == VIR_DOMAIN_HOSTDEV_MODE_SUBSYS && dev->data.hostdev->source.subsys.type == VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI) { -@@ -3380,17 +3384,44 @@ virDomainXMLDevID(virConnectPtr conn, +@@ -3382,17 +3386,44 @@ virDomainXMLDevID(virConnectPtr conn, strcpy(class, "pci"); ++++++ xen-pv-cdrom.patch ++++++ --- /var/tmp/diff_new_pack.B7FsXv/_old 2014-01-07 20:58:33.000000000 +0100 +++ /var/tmp/diff_new_pack.B7FsXv/_new 2014-01-07 20:58:33.000000000 +0100 @@ -1,8 +1,8 @@ -Index: libvirt-1.1.2/src/xenxs/xen_sxpr.c +Index: libvirt-1.2.0/src/xenxs/xen_sxpr.c =================================================================== ---- libvirt-1.1.2.orig/src/xenxs/xen_sxpr.c -+++ libvirt-1.1.2/src/xenxs/xen_sxpr.c -@@ -327,7 +327,7 @@ error: +--- libvirt-1.2.0.orig/src/xenxs/xen_sxpr.c ++++ libvirt-1.2.0/src/xenxs/xen_sxpr.c +@@ -330,7 +330,7 @@ error: static int xenParseSxprDisks(virDomainDefPtr def, const struct sexpr *root, @@ -11,7 +11,7 @@ int xendConfigVersion) { const struct sexpr *cur, *node; -@@ -378,7 +378,6 @@ xenParseSxprDisks(virDomainDefPtr def, +@@ -381,7 +381,6 @@ xenParseSxprDisks(virDomainDefPtr def, /* There is a case without the uname to the CD-ROM device */ offset = strchr(dst, ':'); if (!offset || -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
