Accepting request 484776 from Virtualization

1

OBS-URL: https://build.opensuse.org/request/show/484776
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libvirt?expand=0&rev=225
This commit is contained in:
Yuchen Lin 2017-04-07 12:18:42 +00:00 committed by Git OBS Bridge
commit a487d97a94
33 changed files with 255 additions and 415 deletions

View File

@ -1,66 +0,0 @@
commit 67dcb797ed7f1fbb048aa47006576f424923933b
Author: Michal Privoznik <mprivozn@redhat.com>
Date: Mon Mar 13 11:05:08 2017 +0100
virTimeBackOffWait: Avoid long periods of sleep
While connecting to qemu monitor, the first thing we do is wait
for it to show up. However, we are doing it with some timeout to
avoid indefinite waits (e.g. when qemu doesn't create the monitor
socket at all). After beaa447a29 we are using exponential back
off timeout meaning, after the first connection attempt we wait
1ms, then 2ms, then 4 and so on. This allows us to bring down
wait time for small domains where qemu initializes quickly.
However, on the other end of this scale are some domains with
huge amounts of guest memory. Now imagine that we've gotten up to
wait time of 15 seconds. The next one is going to be 30 seconds,
and the one after that whole minute. Well, okay - with current
code we are not going to wait longer than 30 seconds in total,
but this is going to change in the next commit.
The exponential back off is usable only for first few iterations.
Then it needs to be caped (one second was chosen as the limit)
and switch to constant wait time.
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Index: libvirt-3.1.0/src/util/virtime.c
===================================================================
--- libvirt-3.1.0.orig/src/util/virtime.c
+++ libvirt-3.1.0/src/util/virtime.c
@@ -390,6 +390,9 @@ virTimeBackOffStart(virTimeBackOffVar *v
return 0;
}
+
+#define VIR_TIME_BACKOFF_CAP 1000
+
/**
* virTimeBackOffWait
* @var: Timeout variable (with type virTimeBackOffVar *).
@@ -410,7 +413,9 @@ virTimeBackOffStart(virTimeBackOffVar *v
* The while loop that runs the body of the code repeatedly, with an
* exponential backoff. It first waits for first milliseconds, then
* runs the body, then waits for 2*first ms, then runs the body again.
- * Then 4*first ms, and so on.
+ * Then 4*first ms, and so on, up until wait time would reach
+ * VIR_TIME_BACK_OFF_CAP (whole second). Then it switches to constant
+ * waiting time of VIR_TIME_BACK_OFF_CAP.
*
* When timeout milliseconds is reached, the while loop ends.
*
@@ -429,8 +434,13 @@ virTimeBackOffWait(virTimeBackOffVar *va
if (t > var->limit_t)
return 0; /* ends the while loop */
+ /* Compute next wait time. Cap at VIR_TIME_BACKOFF_CAP
+ * to avoid long useless sleeps. */
next = var->next;
- var->next *= 2;
+ if (var->next < VIR_TIME_BACKOFF_CAP)
+ var->next *= 2;
+ else if (var->next > VIR_TIME_BACKOFF_CAP)
+ var->next = VIR_TIME_BACKOFF_CAP;
/* If sleeping would take us beyond the limit, then shorten the
* sleep. This is so we always run the body just before the final

View File

@ -1,171 +0,0 @@
commit 85af0b803cd19a03f71bd01ab4e045552410368f
Author: Michal Privoznik <mprivozn@redhat.com>
Date: Sat Mar 11 07:23:42 2017 +0100
qemu: Adaptive timeout for connecting to monitor
There were couple of reports on the list (e.g. [1]) that guests
with huge amounts of RAM are unable to start because libvirt
kills qemu in the initialization phase. The problem is that if
guest is configured to use hugepages kernel has to zero them all
out before handing over to qemu process. For instance, 402GiB
worth of 1GiB pages took around 105 seconds (~3.8GiB/s). Since we
do not want to make the timeout for connecting to monitor
configurable, we have to teach libvirt to count with this
fact. This commit implements "1s per each 1GiB of RAM" approach
as suggested here [2].
1: https://www.redhat.com/archives/libvir-list/2017-March/msg00373.html
2: https://www.redhat.com/archives/libvir-list/2017-March/msg00405.html
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Index: libvirt-3.1.0/src/qemu/qemu_capabilities.c
===================================================================
--- libvirt-3.1.0.orig/src/qemu/qemu_capabilities.c
+++ libvirt-3.1.0/src/qemu/qemu_capabilities.c
@@ -4571,7 +4571,7 @@ virQEMUCapsInitQMPCommandRun(virQEMUCaps
cmd->vm->pid = cmd->pid;
if (!(cmd->mon = qemuMonitorOpen(cmd->vm, &cmd->config, true,
- &callbacks, NULL)))
+ 0, &callbacks, NULL)))
goto ignore;
virObjectLock(cmd->mon);
Index: libvirt-3.1.0/src/qemu/qemu_monitor.c
===================================================================
--- libvirt-3.1.0.orig/src/qemu/qemu_monitor.c
+++ libvirt-3.1.0/src/qemu/qemu_monitor.c
@@ -327,11 +327,13 @@ qemuMonitorDispose(void *obj)
static int
-qemuMonitorOpenUnix(const char *monitor, pid_t cpid)
+qemuMonitorOpenUnix(const char *monitor,
+ pid_t cpid,
+ unsigned long long timeout)
{
struct sockaddr_un addr;
int monfd;
- virTimeBackOffVar timeout;
+ virTimeBackOffVar timebackoff;
int ret = -1;
if ((monfd = socket(AF_UNIX, SOCK_STREAM, 0)) < 0) {
@@ -348,9 +350,9 @@ qemuMonitorOpenUnix(const char *monitor,
goto error;
}
- if (virTimeBackOffStart(&timeout, 1, 30*1000 /* ms */) < 0)
+ if (virTimeBackOffStart(&timebackoff, 1, timeout * 1000) < 0)
goto error;
- while (virTimeBackOffWait(&timeout)) {
+ while (virTimeBackOffWait(&timebackoff)) {
ret = connect(monfd, (struct sockaddr *) &addr, sizeof(addr));
if (ret == 0)
@@ -871,10 +873,30 @@ qemuMonitorOpenInternal(virDomainObjPtr
}
+#define QEMU_DEFAULT_MONITOR_WAIT 30
+
+/**
+ * qemuMonitorOpen:
+ * @vm: domain object
+ * @config: monitor configuration
+ * @json: enable JSON on the monitor
+ * @timeout: number of seconds to add to default timeout
+ * @cb: monitor event handles
+ * @opaque: opaque data for @cb
+ *
+ * Opens the monitor for running qemu. It may happen that it
+ * takes some time for qemu to create the monitor socket (e.g.
+ * because kernel is zeroing configured hugepages), therefore we
+ * wait up to default + timeout seconds for the monitor to show
+ * up after which a failure is claimed.
+ *
+ * Returns monitor object, NULL on error.
+ */
qemuMonitorPtr
qemuMonitorOpen(virDomainObjPtr vm,
virDomainChrSourceDefPtr config,
bool json,
+ unsigned long long timeout,
qemuMonitorCallbacksPtr cb,
void *opaque)
{
@@ -882,10 +904,14 @@ qemuMonitorOpen(virDomainObjPtr vm,
bool hasSendFD = false;
qemuMonitorPtr ret;
+ timeout += QEMU_DEFAULT_MONITOR_WAIT;
+
switch (config->type) {
case VIR_DOMAIN_CHR_TYPE_UNIX:
hasSendFD = true;
- if ((fd = qemuMonitorOpenUnix(config->data.nix.path, vm ? vm->pid : 0)) < 0)
+ if ((fd = qemuMonitorOpenUnix(config->data.nix.path,
+ vm ? vm->pid : 0,
+ timeout)) < 0)
return NULL;
break;
Index: libvirt-3.1.0/src/qemu/qemu_monitor.h
===================================================================
--- libvirt-3.1.0.orig/src/qemu/qemu_monitor.h
+++ libvirt-3.1.0/src/qemu/qemu_monitor.h
@@ -246,6 +246,7 @@ char *qemuMonitorUnescapeArg(const char
qemuMonitorPtr qemuMonitorOpen(virDomainObjPtr vm,
virDomainChrSourceDefPtr config,
bool json,
+ unsigned long long timeout,
qemuMonitorCallbacksPtr cb,
void *opaque)
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(4);
Index: libvirt-3.1.0/src/qemu/qemu_process.c
===================================================================
--- libvirt-3.1.0.orig/src/qemu/qemu_process.c
+++ libvirt-3.1.0/src/qemu/qemu_process.c
@@ -1656,6 +1656,7 @@ qemuConnectMonitor(virQEMUDriverPtr driv
qemuDomainObjPrivatePtr priv = vm->privateData;
int ret = -1;
qemuMonitorPtr mon = NULL;
+ unsigned long long timeout = 0;
if (virSecurityManagerSetDaemonSocketLabel(driver->securityManager,
vm->def) < 0) {
@@ -1664,6 +1665,12 @@ qemuConnectMonitor(virQEMUDriverPtr driv
return -1;
}
+ /* When using hugepages, kernel zeroes them out before
+ * handing them over to qemu. This can be very time
+ * consuming. Therefore, add a second to timeout for each
+ * 1GiB of guest RAM. */
+ timeout = vm->def->mem.total_memory / (1024 * 1024);
+
/* Hold an extra reference because we can't allow 'vm' to be
* deleted until the monitor gets its own reference. */
virObjectRef(vm);
@@ -1674,6 +1681,7 @@ qemuConnectMonitor(virQEMUDriverPtr driv
mon = qemuMonitorOpen(vm,
priv->monConfig,
priv->monJSON,
+ timeout,
&monitorCallbacks,
driver);
Index: libvirt-3.1.0/tests/qemumonitortestutils.c
===================================================================
--- libvirt-3.1.0.orig/tests/qemumonitortestutils.c
+++ libvirt-3.1.0/tests/qemumonitortestutils.c
@@ -1175,6 +1175,7 @@ qemuMonitorTestNew(bool json,
if (!(test->mon = qemuMonitorOpen(test->vm,
&src,
json,
+ 0,
&qemuMonitorTestCallbacks,
driver)))
goto error;

View File

@ -1,7 +1,7 @@
Index: libvirt-3.1.0/examples/apparmor/libvirt-qemu
Index: libvirt-3.2.0/examples/apparmor/libvirt-qemu
===================================================================
--- libvirt-3.1.0.orig/examples/apparmor/libvirt-qemu
+++ libvirt-3.1.0/examples/apparmor/libvirt-qemu
--- libvirt-3.2.0.orig/examples/apparmor/libvirt-qemu
+++ libvirt-3.2.0/examples/apparmor/libvirt-qemu
@@ -146,6 +146,9 @@
# for restore
/{usr/,}bin/bash rmix,

View File

@ -1,7 +1,7 @@
Index: libvirt-3.1.0/examples/apparmor/libvirt-lxc
Index: libvirt-3.2.0/examples/apparmor/libvirt-lxc
===================================================================
--- libvirt-3.1.0.orig/examples/apparmor/libvirt-lxc
+++ libvirt-3.1.0/examples/apparmor/libvirt-lxc
--- libvirt-3.2.0.orig/examples/apparmor/libvirt-lxc
+++ libvirt-3.2.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-3.1.0/src/qemu/qemu_driver.c
Index: libvirt-3.2.0/src/qemu/qemu_driver.c
===================================================================
--- libvirt-3.1.0.orig/src/qemu/qemu_driver.c
+++ libvirt-3.1.0/src/qemu/qemu_driver.c
@@ -16523,6 +16523,15 @@ qemuDomainBlockCopyCommon(virDomainObjPt
--- libvirt-3.2.0.orig/src/qemu/qemu_driver.c
+++ libvirt-3.2.0/src/qemu/qemu_driver.c
@@ -16554,6 +16554,15 @@ qemuDomainBlockCopyCommon(virDomainObjPt
_("non-file destination not supported yet"));
goto endjob;
}

View File

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

View File

@ -1,10 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQEcBAABAgAGBQJYuUErAAoJEBVYiyZZa+pdWBkIAKVc+m0tbSTxBgszQCarG/f6
cde4qCXZOVTpyIQFAtJajV/yhqM4uMhDOAZOGvxRWWIIGAXfPI5EAcsKGajIgAdX
GWkzMc1a3JMzsXSveSUXboXvnfEilHquVVN+Hm2U9Y2eWy+daGCyl8j9+jyKRmzo
sXzajagqNP/WrQTxoeIKbIaNlNoM/YmnySHNq/jjkWUYFFhK2dTz/qqfLCqrcygD
iOARRi6QLQ2zbRiIOqf/tz2MNEPdgj6o31i2FT+pqLzIOTAhKXBXHD3V6TlSlRdY
kwJWcIm8tjMqJ0UuJNRDvO1jQ9m4sbpLqRdL0HCaYHz5Pa1n04n/hzsCLIuePoY=
=WTde
-----END PGP SIGNATURE-----

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

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

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

@ -0,0 +1,10 @@
-----BEGIN PGP SIGNATURE-----
iQEcBAABAgAGBQJY4RMFAAoJEBVYiyZZa+pdScUIAMgcsw1t17IsF5VAjBRzz5bI
a5XzJR5WFoziYHE+7M1N0brnh+h7c1AL3kYCz9+k611ql3QHVQs8lkt7tT8GTLLb
FtiGrGREHUNy9xDGE1D32RhlrlNnruYLrkqBTc71dR3SQM2ePNfPAKVCYtZyWw7z
vxKFRAz2R5uQ6XzW7Qo7OJONh9+3ufpHg/gTDR8gOxcQWnW8xUb440qNyrLXIE3F
6TgAbdbCRarwCOb1aE5omp+0AFcnhnkXVChC9gugxvLaqM51A2Ppl5gmEa5J3gqU
kUw7NlmzBrGldlG1RIlcPWS3lPRMm/lQkuvU1SYyJQVaYRVA25VcabyfnDdDUSY=
=zFsI
-----END PGP SIGNATURE-----

View File

@ -1,9 +1,9 @@
Adjust libvirt-guests init files to conform to SUSE standards
Index: libvirt-3.1.0/tools/libvirt-guests.init.in
Index: libvirt-3.2.0/tools/libvirt-guests.init.in
===================================================================
--- libvirt-3.1.0.orig/tools/libvirt-guests.init.in
+++ libvirt-3.1.0/tools/libvirt-guests.init.in
--- libvirt-3.2.0.orig/tools/libvirt-guests.init.in
+++ libvirt-3.2.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
#
@ -45,10 +45,10 @@ Index: libvirt-3.1.0/tools/libvirt-guests.init.in
#
exec @libexecdir@/libvirt-guests.sh "$@"
Index: libvirt-3.1.0/tools/libvirt-guests.sh.in
Index: libvirt-3.2.0/tools/libvirt-guests.sh.in
===================================================================
--- libvirt-3.1.0.orig/tools/libvirt-guests.sh.in
+++ libvirt-3.1.0/tools/libvirt-guests.sh.in
--- libvirt-3.2.0.orig/tools/libvirt-guests.sh.in
+++ libvirt-3.2.0/tools/libvirt-guests.sh.in
@@ -16,14 +16,13 @@
# License along with this library. If not, see
# <http://www.gnu.org/licenses/>.
@ -208,10 +208,10 @@ Index: libvirt-3.1.0/tools/libvirt-guests.sh.in
esac
-exit $RETVAL
+rc_exit
Index: libvirt-3.1.0/tools/libvirt-guests.sysconf
Index: libvirt-3.2.0/tools/libvirt-guests.sysconf
===================================================================
--- libvirt-3.1.0.orig/tools/libvirt-guests.sysconf
+++ libvirt-3.1.0/tools/libvirt-guests.sysconf
--- libvirt-3.2.0.orig/tools/libvirt-guests.sysconf
+++ libvirt-3.2.0/tools/libvirt-guests.sysconf
@@ -1,19 +1,29 @@
+## Path: System/Virtualization/libvirt-guests
+

View File

@ -2,10 +2,10 @@ Add POWER8 v2.0 and v2.1 to cpu map XML
From: <ro@suse.de>
Index: libvirt-3.1.0/src/cpu/cpu_map.xml
Index: libvirt-3.2.0/src/cpu/cpu_map.xml
===================================================================
--- libvirt-3.1.0.orig/src/cpu/cpu_map.xml
+++ libvirt-3.1.0/src/cpu/cpu_map.xml
--- libvirt-3.2.0.orig/src/cpu/cpu_map.xml
+++ libvirt-3.2.0/src/cpu/cpu_map.xml
@@ -1569,6 +1569,8 @@
<pvr value='0x004b0000' mask='0xffff0000'/>
<pvr value='0x004c0000' mask='0xffff0000'/>

View File

@ -1,8 +1,8 @@
Index: libvirt-3.1.0/configure.ac
Index: libvirt-3.2.0/configure.ac
===================================================================
--- libvirt-3.1.0.orig/configure.ac
+++ libvirt-3.1.0/configure.ac
@@ -255,6 +255,7 @@ LIBVIRT_ARG_LIBSSH
--- libvirt-3.2.0.orig/configure.ac
+++ libvirt-3.2.0/configure.ac
@@ -256,6 +256,7 @@ LIBVIRT_ARG_LIBSSH
LIBVIRT_ARG_LIBXML
LIBVIRT_ARG_MACVTAP
LIBVIRT_ARG_NETCF
@ -10,7 +10,7 @@ Index: libvirt-3.1.0/configure.ac
LIBVIRT_ARG_NSS
LIBVIRT_ARG_NUMACTL
LIBVIRT_ARG_OPENWSMAN
@@ -295,6 +296,7 @@ LIBVIRT_CHECK_LIBSSH
@@ -296,6 +297,7 @@ LIBVIRT_CHECK_LIBSSH
LIBVIRT_CHECK_LIBXML
LIBVIRT_CHECK_MACVTAP
LIBVIRT_CHECK_NETCF
@ -18,7 +18,7 @@ Index: libvirt-3.1.0/configure.ac
LIBVIRT_CHECK_NUMACTL
LIBVIRT_CHECK_NWFILTER
LIBVIRT_CHECK_OPENWSMAN
@@ -966,6 +968,7 @@ LIBVIRT_RESULT_LIBXL
@@ -968,6 +970,7 @@ LIBVIRT_RESULT_LIBXL
LIBVIRT_RESULT_LIBXML
LIBVIRT_RESULT_MACVTAP
LIBVIRT_RESULT_NETCF
@ -26,11 +26,11 @@ Index: libvirt-3.1.0/configure.ac
LIBVIRT_RESULT_NSS
LIBVIRT_RESULT_NUMACTL
LIBVIRT_RESULT_OPENWSMAN
Index: libvirt-3.1.0/src/Makefile.am
Index: libvirt-3.2.0/src/Makefile.am
===================================================================
--- libvirt-3.1.0.orig/src/Makefile.am
+++ libvirt-3.1.0/src/Makefile.am
@@ -959,6 +959,10 @@ if WITH_NETCF
--- libvirt-3.2.0.orig/src/Makefile.am
+++ libvirt-3.2.0/src/Makefile.am
@@ -969,6 +969,10 @@ if WITH_NETCF
INTERFACE_DRIVER_SOURCES += \
interface/interface_backend_netcf.c
endif WITH_NETCF
@ -41,7 +41,7 @@ Index: libvirt-3.1.0/src/Makefile.am
if WITH_UDEV
INTERFACE_DRIVER_SOURCES += \
interface/interface_backend_udev.c
@@ -1620,6 +1624,10 @@ if WITH_NETCF
@@ -1637,6 +1641,10 @@ if WITH_NETCF
libvirt_driver_interface_la_CFLAGS += $(NETCF_CFLAGS)
libvirt_driver_interface_la_LIBADD += $(NETCF_LIBS)
endif WITH_NETCF
@ -52,10 +52,10 @@ Index: libvirt-3.1.0/src/Makefile.am
if WITH_UDEV
libvirt_driver_interface_la_CFLAGS += $(UDEV_CFLAGS)
libvirt_driver_interface_la_LIBADD += $(UDEV_LIBS)
Index: libvirt-3.1.0/tools/virsh.c
Index: libvirt-3.2.0/tools/virsh.c
===================================================================
--- libvirt-3.1.0.orig/tools/virsh.c
+++ libvirt-3.1.0/tools/virsh.c
--- libvirt-3.2.0.orig/tools/virsh.c
+++ libvirt-3.2.0/tools/virsh.c
@@ -602,6 +602,8 @@ virshShowVersion(vshControl *ctl ATTRIBU
vshPrint(ctl, " Interface");
# if defined(WITH_NETCF)
@ -65,10 +65,10 @@ Index: libvirt-3.1.0/tools/virsh.c
# elif defined(WITH_UDEV)
vshPrint(ctl, " udev");
# endif
Index: libvirt-3.1.0/src/interface/interface_backend_netcf.c
Index: libvirt-3.2.0/src/interface/interface_backend_netcf.c
===================================================================
--- libvirt-3.1.0.orig/src/interface/interface_backend_netcf.c
+++ libvirt-3.1.0/src/interface/interface_backend_netcf.c
--- libvirt-3.2.0.orig/src/interface/interface_backend_netcf.c
+++ libvirt-3.2.0/src/interface/interface_backend_netcf.c
@@ -23,7 +23,12 @@
#include <config.h>
@ -83,7 +83,7 @@ Index: libvirt-3.1.0/src/interface/interface_backend_netcf.c
#include "virerror.h"
#include "datatypes.h"
@@ -65,6 +70,37 @@ VIR_ONCE_GLOBAL_INIT(virNetcfDriverState
@@ -66,6 +71,37 @@ VIR_ONCE_GLOBAL_INIT(virNetcfDriverState
static virNetcfDriverStatePtr driver;
@ -121,7 +121,7 @@ Index: libvirt-3.1.0/src/interface/interface_backend_netcf.c
static void
virNetcfDriverStateDispose(void *obj)
@@ -87,6 +123,10 @@ netcfStateInitialize(bool privileged ATT
@@ -88,6 +124,10 @@ netcfStateInitialize(bool privileged ATT
if (!(driver = virObjectLockableNew(virNetcfDriverStateClass)))
return -1;
@ -132,7 +132,7 @@ Index: libvirt-3.1.0/src/interface/interface_backend_netcf.c
/* open netcf */
if (ncf_init(&driver->netcf, NULL) != 0) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
@@ -1140,6 +1180,19 @@ static virStateDriver interfaceStateDriv
@@ -1141,6 +1181,19 @@ static virStateDriver interfaceStateDriv
int netcfIfaceRegister(void)
{
@ -152,10 +152,10 @@ Index: libvirt-3.1.0/src/interface/interface_backend_netcf.c
if (virSetSharedInterfaceDriver(&interfaceDriver) < 0)
return -1;
if (virRegisterStateDriver(&interfaceStateDriver) < 0)
Index: libvirt-3.1.0/src/interface/interface_driver.c
Index: libvirt-3.2.0/src/interface/interface_driver.c
===================================================================
--- libvirt-3.1.0.orig/src/interface/interface_driver.c
+++ libvirt-3.1.0/src/interface/interface_driver.c
--- libvirt-3.2.0.orig/src/interface/interface_driver.c
+++ libvirt-3.2.0/src/interface/interface_driver.c
@@ -30,8 +30,15 @@ interfaceRegister(void)
if (netcfIfaceRegister() == 0)
return 0;
@ -173,10 +173,10 @@ Index: libvirt-3.1.0/src/interface/interface_driver.c
if (udevIfaceRegister() == 0)
return 0;
#endif /* WITH_UDEV */
Index: libvirt-3.1.0/m4/virt-netcontrol.m4
Index: libvirt-3.2.0/m4/virt-netcontrol.m4
===================================================================
--- /dev/null
+++ libvirt-3.1.0/m4/virt-netcontrol.m4
+++ libvirt-3.2.0/m4/virt-netcontrol.m4
@@ -0,0 +1,39 @@
+dnl The libnetcontrol library
+dnl

View File

@ -1,3 +1,39 @@
-------------------------------------------------------------------
Mon Apr 3 04:40:57 UTC 2017 - jfehlig@suse.com
- Update to libvirt 3.2.0
- Many incremental improvements and bug fixes, see
http://libvirt.org/news.html
- Dropped patches:
67dcb797-virTimeBackOffWait-sleepcap.patch,
85af0b80-qemu-adaptive-montimeout.patch,
d68cb4f55-extract-the-request-sending-code-from-virNetlin.patch,
754515b7d-add-virNetlinkDumpCommand.patch,
3ee35d7d6-more-uses-of-SYSCTL_PATH.patch,
5dd607059-add-virNetDevGetName.patch,
00d28a78b-check-accept_ra-before-enabling-ipv6-forward.patch
- Add Conflicts=xendomains.service to libvirtd service
suse-libvirtd-service.patch
bsc#1015348
-------------------------------------------------------------------
Thu Mar 23 14:42:07 UTC 2017 - jengelh@inai.de
- RPM group fix
-------------------------------------------------------------------
Wed Mar 22 08:30:55 UTC 2017 - cbosdonnat@suse.com
- Fail to start network instead of losing routes if IPv6 forwarding
is required. bsc#1025252
Added patches:
00d28a78b-check-accept_ra-before-enabling-ipv6-forward.patch
3ee35d7d6-more-uses-of-SYSCTL_PATH.patch
5dd607059-add-virNetDevGetName.patch
754515b7d-add-virNetlinkDumpCommand.patch
d68cb4f55-extract-the-request-sending-code-from-virNetlin.patch
-------------------------------------------------------------------
Thu Mar 16 14:23:16 UTC 2017 - jfehlig@suse.com

View File

@ -175,7 +175,7 @@
Name: libvirt
Url: http://libvirt.org/
Version: 3.1.0
Version: 3.2.0
Release: 0
Summary: Library providing a simple virtualization API
License: LGPL-2.1+
@ -317,8 +317,6 @@ Source4: libvirtd-relocation-server.fw
Source99: baselibs.conf
Source100: %{name}-rpmlintrc
# Upstream patches
Patch0: 67dcb797-virTimeBackOffWait-sleepcap.patch
Patch1: 85af0b80-qemu-adaptive-montimeout.patch
# Patches pending upstream review
Patch100: libxl-dom-reset.patch
Patch101: network-don-t-use-dhcp-authoritative-on-static-netwo.patch
@ -346,6 +344,7 @@ Patch211: qemu-apparmor-screenshot.patch
Patch212: libvirt-suse-netcontrol.patch
Patch213: lxc-wait-after-eth-del.patch
Patch214: libxl-qemu-emulator-caps.patch
Patch215: suse-libvirtd-service.patch
# SLES-Only patches
%if %{with_sle_build}
Patch400: virt-create-rootfs.patch
@ -362,7 +361,7 @@ to interact with Linux virtualization technologies.
%package doc
Summary: API reference and website documentation for libvirt
Group: Development/Libraries/C and C++
Group: Documentation/HTML
%description doc
Includes the API reference for the libvirt C library, and a complete
@ -886,8 +885,6 @@ libvirt plugin for NSS for translating domain names into IP addresses.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%patch100 -p1
%patch101 -p1
%patch150 -p1
@ -912,6 +909,7 @@ libvirt plugin for NSS for translating domain names into IP addresses.
%patch212 -p1
%patch213 -p1
%patch214 -p1
%patch215 -p1
%if %{with_sle_build}
%patch400 -p1
%endif

View File

@ -1,7 +1,7 @@
Index: libvirt-3.1.0/daemon/libvirtd.conf
Index: libvirt-3.2.0/daemon/libvirtd.conf
===================================================================
--- libvirt-3.1.0.orig/daemon/libvirtd.conf
+++ libvirt-3.1.0/daemon/libvirtd.conf
--- libvirt-3.2.0.orig/daemon/libvirtd.conf
+++ libvirt-3.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 @@ Index: libvirt-3.1.0/daemon/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-3.1.0/daemon/libvirtd-config.c
Index: libvirt-3.2.0/daemon/libvirtd-config.c
===================================================================
--- libvirt-3.1.0.orig/daemon/libvirtd-config.c
+++ libvirt-3.1.0/daemon/libvirtd-config.c
--- libvirt-3.2.0.orig/daemon/libvirtd-config.c
+++ libvirt-3.2.0/daemon/libvirtd-config.c
@@ -110,7 +110,7 @@ daemonConfigNew(bool privileged ATTRIBUT
if (VIR_ALLOC(data) < 0)
return NULL;
@ -26,10 +26,10 @@ Index: libvirt-3.1.0/daemon/libvirtd-config.c
data->listen_tcp = 0;
if (VIR_STRDUP(data->tls_port, LIBVIRTD_TLS_PORT) < 0 ||
Index: libvirt-3.1.0/daemon/test_libvirtd.aug.in
Index: libvirt-3.2.0/daemon/test_libvirtd.aug.in
===================================================================
--- libvirt-3.1.0.orig/daemon/test_libvirtd.aug.in
+++ libvirt-3.1.0/daemon/test_libvirtd.aug.in
--- libvirt-3.2.0.orig/daemon/test_libvirtd.aug.in
+++ libvirt-3.2.0/daemon/test_libvirtd.aug.in
@@ -2,7 +2,7 @@ module Test_libvirtd =
::CONFIG::

View File

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

View File

@ -8,10 +8,10 @@ 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-3.1.0/src/libxl/libxl_driver.c
Index: libvirt-3.2.0/src/libxl/libxl_driver.c
===================================================================
--- libvirt-3.1.0.orig/src/libxl/libxl_driver.c
+++ libvirt-3.1.0/src/libxl/libxl_driver.c
--- libvirt-3.2.0.orig/src/libxl/libxl_driver.c
+++ libvirt-3.2.0/src/libxl/libxl_driver.c
@@ -1389,6 +1389,61 @@ libxlDomainReboot(virDomainPtr dom, unsi
}

View File

@ -8,10 +8,10 @@ as the default <emulator>, instead of the qemu-xen one.
See FATE#320638 for details.
Index: libvirt-3.1.0/src/libxl/libxl_capabilities.c
Index: libvirt-3.2.0/src/libxl/libxl_capabilities.c
===================================================================
--- libvirt-3.1.0.orig/src/libxl/libxl_capabilities.c
+++ libvirt-3.1.0/src/libxl/libxl_capabilities.c
--- libvirt-3.2.0.orig/src/libxl/libxl_capabilities.c
+++ libvirt-3.2.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-3.1.0/src/libxl/libxl_conf.c
Index: libvirt-3.2.0/src/libxl/libxl_conf.c
===================================================================
--- libvirt-3.1.0.orig/src/libxl/libxl_conf.c
+++ libvirt-3.1.0/src/libxl/libxl_conf.c
--- libvirt-3.2.0.orig/src/libxl/libxl_conf.c
+++ libvirt-3.2.0/src/libxl/libxl_conf.c
@@ -609,6 +609,30 @@ libxlDiskSetDiscard(libxl_device_disk *x
#endif
}

View File

@ -16,11 +16,11 @@ Signed-off-by: Jim Fehlig <jfehlig@suse.com>
tools/virsh.pod | 8 ++++++++
6 files changed, 125 insertions(+), 6 deletions(-)
Index: libvirt-3.1.0/include/libvirt/libvirt-domain.h
Index: libvirt-3.2.0/include/libvirt/libvirt-domain.h
===================================================================
--- libvirt-3.1.0.orig/include/libvirt/libvirt-domain.h
+++ libvirt-3.1.0/include/libvirt/libvirt-domain.h
@@ -1000,6 +1000,31 @@ typedef enum {
--- libvirt-3.2.0.orig/include/libvirt/libvirt-domain.h
+++ libvirt-3.2.0/include/libvirt/libvirt-domain.h
@@ -1008,6 +1008,31 @@ typedef enum {
*/
# define VIR_MIGRATE_PARAM_AUTO_CONVERGE_INCREMENT "auto_converge.increment"
@ -52,10 +52,10 @@ Index: libvirt-3.1.0/include/libvirt/libvirt-domain.h
/* Domain migration. */
virDomainPtr virDomainMigrate (virDomainPtr domain, virConnectPtr dconn,
unsigned long flags, const char *dname,
Index: libvirt-3.1.0/src/libxl/libxl_driver.c
Index: libvirt-3.2.0/src/libxl/libxl_driver.c
===================================================================
--- libvirt-3.1.0.orig/src/libxl/libxl_driver.c
+++ libvirt-3.1.0/src/libxl/libxl_driver.c
--- libvirt-3.2.0.orig/src/libxl/libxl_driver.c
+++ libvirt-3.2.0/src/libxl/libxl_driver.c
@@ -6115,6 +6115,9 @@ libxlDomainMigratePerform3Params(virDoma
const char *dname = NULL;
const char *uri = NULL;
@ -99,10 +99,10 @@ Index: libvirt-3.1.0/src/libxl/libxl_driver.c
goto cleanup;
}
Index: libvirt-3.1.0/src/libxl/libxl_migration.c
Index: libvirt-3.2.0/src/libxl/libxl_migration.c
===================================================================
--- libvirt-3.1.0.orig/src/libxl/libxl_migration.c
+++ libvirt-3.1.0/src/libxl/libxl_migration.c
--- libvirt-3.2.0.orig/src/libxl/libxl_migration.c
+++ libvirt-3.2.0/src/libxl/libxl_migration.c
@@ -359,18 +359,39 @@ libxlMigrateReceive(virNetSocketPtr sock
static int
libxlDoMigrateSend(libxlDriverPrivatePtr driver,
@ -263,10 +263,10 @@ Index: libvirt-3.1.0/src/libxl/libxl_migration.c
virObjectLock(vm);
cleanup:
Index: libvirt-3.1.0/src/libxl/libxl_migration.h
Index: libvirt-3.2.0/src/libxl/libxl_migration.h
===================================================================
--- libvirt-3.1.0.orig/src/libxl/libxl_migration.h
+++ libvirt-3.1.0/src/libxl/libxl_migration.h
--- libvirt-3.2.0.orig/src/libxl/libxl_migration.h
+++ libvirt-3.2.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,13 +311,13 @@ Index: libvirt-3.1.0/src/libxl/libxl_migration.h
virDomainPtr
libxlDomainMigrationFinish(virConnectPtr dconn,
Index: libvirt-3.1.0/tools/virsh-domain.c
Index: libvirt-3.2.0/tools/virsh-domain.c
===================================================================
--- libvirt-3.1.0.orig/tools/virsh-domain.c
+++ libvirt-3.1.0/tools/virsh-domain.c
@@ -10222,6 +10222,22 @@ static const vshCmdOptDef opts_migrate[]
.type = VSH_OT_STRING,
.help = N_("filename containing updated persistent XML for the target")
--- libvirt-3.2.0.orig/tools/virsh-domain.c
+++ libvirt-3.2.0/tools/virsh-domain.c
@@ -10284,6 +10284,22 @@ static const vshCmdOptDef opts_migrate[]
.type = VSH_OT_BOOL,
.help = N_("use TLS for migration")
},
+ {.name = "max_iters",
+ .type = VSH_OT_INT,
@ -338,7 +338,7 @@ Index: libvirt-3.1.0/tools/virsh-domain.c
{.name = NULL}
};
@@ -10245,6 +10261,7 @@ doMigrate(void *opaque)
@@ -10307,6 +10323,7 @@ doMigrate(void *opaque)
unsigned long long ullOpt = 0;
int rv;
virConnectPtr dconn = data->dconn;
@ -346,7 +346,7 @@ Index: libvirt-3.1.0/tools/virsh-domain.c
sigemptyset(&sigmask);
sigaddset(&sigmask, SIGINT);
@@ -10364,6 +10381,27 @@ doMigrate(void *opaque)
@@ -10426,6 +10443,27 @@ doMigrate(void *opaque)
goto save_error;
}
@ -374,11 +374,11 @@ Index: libvirt-3.1.0/tools/virsh-domain.c
if (vshCommandOptStringReq(ctl, cmd, "xml", &opt) < 0)
goto out;
if (opt) {
Index: libvirt-3.1.0/tools/virsh.pod
Index: libvirt-3.2.0/tools/virsh.pod
===================================================================
--- libvirt-3.1.0.orig/tools/virsh.pod
+++ libvirt-3.1.0/tools/virsh.pod
@@ -1732,6 +1732,14 @@ compression. I<--comp-mt-threads> and I<
--- libvirt-3.2.0.orig/tools/virsh.pod
+++ libvirt-3.2.0/tools/virsh.pod
@@ -1752,6 +1752,14 @@ compression. I<--comp-mt-threads> and I<
of compress threads on source and the number of decompress threads on target
respectively. I<--comp-xbzrle-cache> sets size of page cache in bytes.

View File

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

View File

@ -13,47 +13,71 @@ device with the same name that is being created.
src/lxc/lxc_process.c | 1 +
3 files changed, 4 insertions(+)
Index: libvirt-3.1.0/src/lxc/lxc_controller.c
Index: libvirt-3.2.0/src/lxc/lxc_controller.c
===================================================================
--- libvirt-3.1.0.orig/src/lxc/lxc_controller.c
+++ libvirt-3.1.0/src/lxc/lxc_controller.c
@@ -1997,6 +1997,7 @@ static int virLXCControllerDeleteInterfa
--- libvirt-3.2.0.orig/src/lxc/lxc_controller.c
+++ libvirt-3.2.0/src/lxc/lxc_controller.c
@@ -73,6 +73,7 @@
#include "rpc/virnetdaemon.h"
#include "virstring.h"
#include "virgettext.h"
+#include "virutil.h"
#define VIR_FROM_THIS VIR_FROM_LXC
@@ -1997,6 +1998,7 @@ static int virLXCControllerDeleteInterfa
if (virNetDevVethDelete(ctrl->veths[i]) < 0)
ret = -1;
}
+ virFileWaitForDevices();
+ virWaitForDevices();
return ret;
}
Index: libvirt-3.1.0/src/lxc/lxc_driver.c
Index: libvirt-3.2.0/src/lxc/lxc_driver.c
===================================================================
--- libvirt-3.1.0.orig/src/lxc/lxc_driver.c
+++ libvirt-3.1.0/src/lxc/lxc_driver.c
@@ -4036,6 +4036,7 @@ lxcDomainAttachDeviceNetLive(virConnectP
--- libvirt-3.2.0.orig/src/lxc/lxc_driver.c
+++ libvirt-3.2.0/src/lxc/lxc_driver.c
@@ -76,6 +76,7 @@
#include "virtime.h"
#include "virtypedparam.h"
#include "viruri.h"
+#include "virutil.h"
#include "virstring.h"
#include "viraccessapicheck.h"
#include "viraccessapichecklxc.h"
@@ -4035,6 +4036,7 @@ lxcDomainAttachDeviceNetLive(virConnectP
case VIR_DOMAIN_NET_TYPE_NETWORK:
case VIR_DOMAIN_NET_TYPE_ETHERNET:
ignore_value(virNetDevVethDelete(veth));
+ virFileWaitForDevices();
+ virWaitForDevices();
break;
case VIR_DOMAIN_NET_TYPE_DIRECT:
@@ -4470,6 +4471,7 @@ lxcDomainDetachDeviceNetLive(virDomainOb
@@ -4469,6 +4471,7 @@ lxcDomainDetachDeviceNetLive(virDomainOb
virDomainAuditNet(vm, detach, NULL, "detach", false);
goto cleanup;
}
+ virFileWaitForDevices();
+ virWaitForDevices();
break;
/* It'd be nice to support this, but with macvlan
Index: libvirt-3.1.0/src/lxc/lxc_process.c
Index: libvirt-3.2.0/src/lxc/lxc_process.c
===================================================================
--- libvirt-3.1.0.orig/src/lxc/lxc_process.c
+++ libvirt-3.1.0/src/lxc/lxc_process.c
@@ -221,6 +221,7 @@ static void virLXCProcessCleanup(virLXCD
--- libvirt-3.2.0.orig/src/lxc/lxc_process.c
+++ libvirt-3.2.0/src/lxc/lxc_process.c
@@ -52,6 +52,7 @@
#include "viratomic.h"
#include "virprocess.h"
#include "virsystemd.h"
+#include "virutil.h"
#include "netdev_bandwidth_conf.h"
#define VIR_FROM_THIS VIR_FROM_LXC
@@ -221,6 +222,7 @@ static void virLXCProcessCleanup(virLXCD
}
networkReleaseActualDevice(vm->def, iface);
}
+ virFileWaitForDevices();
+ virWaitForDevices();
virDomainConfVMNWFilterTeardown(vm);

View File

@ -17,11 +17,11 @@ Signed-off-by: Martin Wilck <mwilck@suse.com>
tests/networkxml2confdata/dhcp6host-routed-network.conf | 1 -
2 files changed, 8 insertions(+), 2 deletions(-)
Index: libvirt-3.1.0/src/network/bridge_driver.c
Index: libvirt-3.2.0/src/network/bridge_driver.c
===================================================================
--- libvirt-3.1.0.orig/src/network/bridge_driver.c
+++ libvirt-3.1.0/src/network/bridge_driver.c
@@ -1398,7 +1398,14 @@ networkDnsmasqConfContents(virNetworkObj
--- libvirt-3.2.0.orig/src/network/bridge_driver.c
+++ libvirt-3.2.0/src/network/bridge_driver.c
@@ -1413,7 +1413,14 @@ networkDnsmasqConfContents(virNetworkObj
if (VIR_SOCKET_ADDR_IS_FAMILY(&ipdef->address, AF_INET)) {
if (ipdef->nranges || ipdef->nhosts) {
virBufferAddLit(&configbuf, "dhcp-no-override\n");
@ -37,10 +37,10 @@ Index: libvirt-3.1.0/src/network/bridge_driver.c
}
if (ipdef->tftproot) {
Index: libvirt-3.1.0/tests/networkxml2confdata/dhcp6host-routed-network.conf
Index: libvirt-3.2.0/tests/networkxml2confdata/dhcp6host-routed-network.conf
===================================================================
--- libvirt-3.1.0.orig/tests/networkxml2confdata/dhcp6host-routed-network.conf
+++ libvirt-3.1.0/tests/networkxml2confdata/dhcp6host-routed-network.conf
--- libvirt-3.2.0.orig/tests/networkxml2confdata/dhcp6host-routed-network.conf
+++ libvirt-3.2.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-3.1.0/src/util/virarch.c
Index: libvirt-3.2.0/src/util/virarch.c
===================================================================
--- libvirt-3.1.0.orig/src/util/virarch.c
+++ libvirt-3.1.0/src/util/virarch.c
--- libvirt-3.2.0.orig/src/util/virarch.c
+++ libvirt-3.2.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,7 +1,7 @@
Index: libvirt-3.1.0/examples/apparmor/libvirt-qemu
Index: libvirt-3.2.0/examples/apparmor/libvirt-qemu
===================================================================
--- libvirt-3.1.0.orig/examples/apparmor/libvirt-qemu
+++ libvirt-3.1.0/examples/apparmor/libvirt-qemu
--- libvirt-3.2.0.orig/examples/apparmor/libvirt-qemu
+++ libvirt-3.2.0/examples/apparmor/libvirt-qemu
@@ -154,3 +154,6 @@
/etc/udev/udev.conf r,
/sys/bus/ r,

View File

@ -8,10 +8,10 @@ Subject: [PATCH] support managed pci devices in xen driver
src/xenxs/xen_xm.c | 28 +++++++++++++++++++++++++++-
2 files changed, 35 insertions(+), 15 deletions(-)
Index: libvirt-3.1.0/src/xenconfig/xen_common.c
Index: libvirt-3.2.0/src/xenconfig/xen_common.c
===================================================================
--- libvirt-3.1.0.orig/src/xenconfig/xen_common.c
+++ libvirt-3.1.0/src/xenconfig/xen_common.c
--- libvirt-3.2.0.orig/src/xenconfig/xen_common.c
+++ libvirt-3.2.0/src/xenconfig/xen_common.c
@@ -394,6 +394,8 @@ xenParsePCI(virConfPtr conf, virDomainDe
{
virConfValuePtr list = virConfGetValue(conf, "pci");
@ -66,10 +66,10 @@ Index: libvirt-3.1.0/src/xenconfig/xen_common.c
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-3.1.0/src/xenconfig/xen_sxpr.c
Index: libvirt-3.2.0/src/xenconfig/xen_sxpr.c
===================================================================
--- libvirt-3.1.0.orig/src/xenconfig/xen_sxpr.c
+++ libvirt-3.1.0/src/xenconfig/xen_sxpr.c
--- libvirt-3.2.0.orig/src/xenconfig/xen_sxpr.c
+++ libvirt-3.2.0/src/xenconfig/xen_sxpr.c
@@ -1062,6 +1062,7 @@ xenParseSxprPCI(virDomainDefPtr def,
int busID;
int slotID;

View File

@ -0,0 +1,19 @@
Add Conflicts=xendomains.service to libvirtd service
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.
bsc#1015348
Index: libvirt-3.2.0/daemon/libvirtd.service.in
===================================================================
--- libvirt-3.2.0.orig/daemon/libvirtd.service.in
+++ libvirt-3.2.0/daemon/libvirtd.service.in
@@ -15,6 +15,7 @@ After=apparmor.service
After=local-fs.target
After=remote-fs.target
After=xencommons.service
+Conflicts=xendomains.service
Documentation=man:libvirtd(8)
Documentation=http://libvirt.org

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-3.1.0/src/qemu/qemu.conf
Index: libvirt-3.2.0/src/qemu/qemu.conf
===================================================================
--- libvirt-3.1.0.orig/src/qemu/qemu.conf
+++ libvirt-3.1.0/src/qemu/qemu.conf
@@ -283,11 +283,20 @@
--- libvirt-3.2.0.orig/src/qemu/qemu.conf
+++ libvirt-3.2.0/src/qemu/qemu.conf
@@ -332,11 +332,20 @@
# isolation, but it cannot appear in a list of drivers.
#
#security_driver = "selinux"
@ -34,7 +34,7 @@ Index: libvirt-3.1.0/src/qemu/qemu.conf
# If set to non-zero, then attempts to create unconfined
# guests will be blocked. Defaults to 0.
@@ -531,11 +540,22 @@
@@ -580,11 +589,22 @@
#allow_disk_format_probing = 1
@ -62,7 +62,7 @@ Index: libvirt-3.1.0/src/qemu/qemu.conf
#
#lock_manager = "lockd"
@@ -626,9 +646,8 @@
@@ -675,9 +695,8 @@
# for x86_64 and i686, but it's AAVMF for aarch64. The libvirt default
# follows this scheme.
#nvram = [

View File

@ -1,7 +1,7 @@
Index: libvirt-3.1.0/daemon/libvirtd.service.in
Index: libvirt-3.2.0/daemon/libvirtd.service.in
===================================================================
--- libvirt-3.1.0.orig/daemon/libvirtd.service.in
+++ libvirt-3.1.0/daemon/libvirtd.service.in
--- libvirt-3.2.0.orig/daemon/libvirtd.service.in
+++ libvirt-3.2.0/daemon/libvirtd.service.in
@@ -14,6 +14,7 @@ After=iscsid.service
After=apparmor.service
After=local-fs.target

View File

@ -1,9 +1,9 @@
Adjust virtlockd init files to conform to SUSE standards
Index: libvirt-3.1.0/src/locking/virtlockd.sysconf
Index: libvirt-3.2.0/src/locking/virtlockd.sysconf
===================================================================
--- libvirt-3.1.0.orig/src/locking/virtlockd.sysconf
+++ libvirt-3.1.0/src/locking/virtlockd.sysconf
--- libvirt-3.2.0.orig/src/locking/virtlockd.sysconf
+++ libvirt-3.2.0/src/locking/virtlockd.sysconf
@@ -1,3 +1,7 @@
+## Path: System/Virtualization/virtlockd
+
@ -12,10 +12,10 @@ Index: libvirt-3.1.0/src/locking/virtlockd.sysconf
#
# Pass extra arguments to virtlockd
#VIRTLOCKD_ARGS=
Index: libvirt-3.1.0/src/locking/virtlockd.init.in
Index: libvirt-3.2.0/src/locking/virtlockd.init.in
===================================================================
--- libvirt-3.1.0.orig/src/locking/virtlockd.init.in
+++ libvirt-3.1.0/src/locking/virtlockd.init.in
--- libvirt-3.2.0.orig/src/locking/virtlockd.init.in
+++ libvirt-3.2.0/src/locking/virtlockd.init.in
@@ -4,59 +4,57 @@
# http://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/initscrcomconv.html
#

View File

@ -1,9 +1,9 @@
Adjust virtlogd init files to conform to SUSE standards
Index: libvirt-3.1.0/src/logging/virtlogd.init.in
Index: libvirt-3.2.0/src/logging/virtlogd.init.in
===================================================================
--- libvirt-3.1.0.orig/src/logging/virtlogd.init.in
+++ libvirt-3.1.0/src/logging/virtlogd.init.in
--- libvirt-3.2.0.orig/src/logging/virtlogd.init.in
+++ libvirt-3.2.0/src/logging/virtlogd.init.in
@@ -4,59 +4,56 @@
# http://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/initscrcomconv.html
#
@ -126,10 +126,10 @@ Index: libvirt-3.1.0/src/logging/virtlogd.init.in
esac
-exit $RETVAL
+rc_exit
Index: libvirt-3.1.0/src/logging/virtlogd.sysconf
Index: libvirt-3.2.0/src/logging/virtlogd.sysconf
===================================================================
--- libvirt-3.1.0.orig/src/logging/virtlogd.sysconf
+++ libvirt-3.1.0/src/logging/virtlogd.sysconf
--- libvirt-3.2.0.orig/src/logging/virtlogd.sysconf
+++ libvirt-3.2.0/src/logging/virtlogd.sysconf
@@ -1,3 +1,7 @@
+## Path: System/Virtualization/virtlogd
+

View File

@ -1,7 +1,7 @@
Index: libvirt-3.1.0/src/xenconfig/xen_sxpr.c
Index: libvirt-3.2.0/src/xenconfig/xen_sxpr.c
===================================================================
--- libvirt-3.1.0.orig/src/xenconfig/xen_sxpr.c
+++ libvirt-3.1.0/src/xenconfig/xen_sxpr.c
--- libvirt-3.2.0.orig/src/xenconfig/xen_sxpr.c
+++ libvirt-3.2.0/src/xenconfig/xen_sxpr.c
@@ -392,7 +392,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-3.1.0/src/xenconfig/xen_sxpr.c
Index: libvirt-3.2.0/src/xenconfig/xen_sxpr.c
===================================================================
--- libvirt-3.1.0.orig/src/xenconfig/xen_sxpr.c
+++ libvirt-3.1.0/src/xenconfig/xen_sxpr.c
--- libvirt-3.2.0.orig/src/xenconfig/xen_sxpr.c
+++ libvirt-3.2.0/src/xenconfig/xen_sxpr.c
@@ -506,10 +506,11 @@ xenParseSxprDisks(virDomainDefPtr def,
omnipotent, we can revisit this, perhaps stat()'ing
the src file in question */