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.2.0.orig/examples/apparmor/libvirt-qemu
+++ libvirt-3.1.0/examples/apparmor/libvirt-qemu +++ libvirt-3.2.0/examples/apparmor/libvirt-qemu
@@ -146,6 +146,9 @@ @@ -146,6 +146,9 @@
# for restore # for restore
/{usr/,}bin/bash rmix, /{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.2.0.orig/examples/apparmor/libvirt-lxc
+++ libvirt-3.1.0/examples/apparmor/libvirt-lxc +++ libvirt-3.2.0/examples/apparmor/libvirt-lxc
@@ -2,39 +2,15 @@ @@ -2,39 +2,15 @@
#include <abstractions/base> #include <abstractions/base>

View File

@ -11,11 +11,11 @@ Signed-off-by: Chunyan Liu <cyliu@suse.com>
src/qemu/qemu_driver.c | 7 +++++++ src/qemu/qemu_driver.c | 7 +++++++
1 file changed, 7 insertions(+) 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.2.0.orig/src/qemu/qemu_driver.c
+++ libvirt-3.1.0/src/qemu/qemu_driver.c +++ libvirt-3.2.0/src/qemu/qemu_driver.c
@@ -16523,6 +16523,15 @@ qemuDomainBlockCopyCommon(virDomainObjPt @@ -16554,6 +16554,15 @@ qemuDomainBlockCopyCommon(virDomainObjPt
_("non-file destination not supported yet")); _("non-file destination not supported yet"));
goto endjob; 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 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.2.0.orig/tools/libvirt-guests.init.in
+++ libvirt-3.1.0/tools/libvirt-guests.init.in +++ libvirt-3.2.0/tools/libvirt-guests.init.in
@@ -4,27 +4,27 @@ @@ -4,27 +4,27 @@
# http://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/initscrcomconv.html # 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 "$@" 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.2.0.orig/tools/libvirt-guests.sh.in
+++ libvirt-3.1.0/tools/libvirt-guests.sh.in +++ libvirt-3.2.0/tools/libvirt-guests.sh.in
@@ -16,14 +16,13 @@ @@ -16,14 +16,13 @@
# License along with this library. If not, see # License along with this library. If not, see
# <http://www.gnu.org/licenses/>. # <http://www.gnu.org/licenses/>.
@ -208,10 +208,10 @@ Index: libvirt-3.1.0/tools/libvirt-guests.sh.in
esac esac
-exit $RETVAL -exit $RETVAL
+rc_exit +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.2.0.orig/tools/libvirt-guests.sysconf
+++ libvirt-3.1.0/tools/libvirt-guests.sysconf +++ libvirt-3.2.0/tools/libvirt-guests.sysconf
@@ -1,19 +1,29 @@ @@ -1,19 +1,29 @@
+## Path: System/Virtualization/libvirt-guests +## 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> 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.2.0.orig/src/cpu/cpu_map.xml
+++ libvirt-3.1.0/src/cpu/cpu_map.xml +++ libvirt-3.2.0/src/cpu/cpu_map.xml
@@ -1569,6 +1569,8 @@ @@ -1569,6 +1569,8 @@
<pvr value='0x004b0000' mask='0xffff0000'/> <pvr value='0x004b0000' mask='0xffff0000'/>
<pvr value='0x004c0000' 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.2.0.orig/configure.ac
+++ libvirt-3.1.0/configure.ac +++ libvirt-3.2.0/configure.ac
@@ -255,6 +255,7 @@ LIBVIRT_ARG_LIBSSH @@ -256,6 +256,7 @@ LIBVIRT_ARG_LIBSSH
LIBVIRT_ARG_LIBXML LIBVIRT_ARG_LIBXML
LIBVIRT_ARG_MACVTAP LIBVIRT_ARG_MACVTAP
LIBVIRT_ARG_NETCF LIBVIRT_ARG_NETCF
@ -10,7 +10,7 @@ Index: libvirt-3.1.0/configure.ac
LIBVIRT_ARG_NSS LIBVIRT_ARG_NSS
LIBVIRT_ARG_NUMACTL LIBVIRT_ARG_NUMACTL
LIBVIRT_ARG_OPENWSMAN LIBVIRT_ARG_OPENWSMAN
@@ -295,6 +296,7 @@ LIBVIRT_CHECK_LIBSSH @@ -296,6 +297,7 @@ LIBVIRT_CHECK_LIBSSH
LIBVIRT_CHECK_LIBXML LIBVIRT_CHECK_LIBXML
LIBVIRT_CHECK_MACVTAP LIBVIRT_CHECK_MACVTAP
LIBVIRT_CHECK_NETCF LIBVIRT_CHECK_NETCF
@ -18,7 +18,7 @@ Index: libvirt-3.1.0/configure.ac
LIBVIRT_CHECK_NUMACTL LIBVIRT_CHECK_NUMACTL
LIBVIRT_CHECK_NWFILTER LIBVIRT_CHECK_NWFILTER
LIBVIRT_CHECK_OPENWSMAN LIBVIRT_CHECK_OPENWSMAN
@@ -966,6 +968,7 @@ LIBVIRT_RESULT_LIBXL @@ -968,6 +970,7 @@ LIBVIRT_RESULT_LIBXL
LIBVIRT_RESULT_LIBXML LIBVIRT_RESULT_LIBXML
LIBVIRT_RESULT_MACVTAP LIBVIRT_RESULT_MACVTAP
LIBVIRT_RESULT_NETCF LIBVIRT_RESULT_NETCF
@ -26,11 +26,11 @@ Index: libvirt-3.1.0/configure.ac
LIBVIRT_RESULT_NSS LIBVIRT_RESULT_NSS
LIBVIRT_RESULT_NUMACTL LIBVIRT_RESULT_NUMACTL
LIBVIRT_RESULT_OPENWSMAN 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.2.0.orig/src/Makefile.am
+++ libvirt-3.1.0/src/Makefile.am +++ libvirt-3.2.0/src/Makefile.am
@@ -959,6 +959,10 @@ if WITH_NETCF @@ -969,6 +969,10 @@ if WITH_NETCF
INTERFACE_DRIVER_SOURCES += \ INTERFACE_DRIVER_SOURCES += \
interface/interface_backend_netcf.c interface/interface_backend_netcf.c
endif WITH_NETCF endif WITH_NETCF
@ -41,7 +41,7 @@ Index: libvirt-3.1.0/src/Makefile.am
if WITH_UDEV if WITH_UDEV
INTERFACE_DRIVER_SOURCES += \ INTERFACE_DRIVER_SOURCES += \
interface/interface_backend_udev.c 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_CFLAGS += $(NETCF_CFLAGS)
libvirt_driver_interface_la_LIBADD += $(NETCF_LIBS) libvirt_driver_interface_la_LIBADD += $(NETCF_LIBS)
endif WITH_NETCF endif WITH_NETCF
@ -52,10 +52,10 @@ Index: libvirt-3.1.0/src/Makefile.am
if WITH_UDEV if WITH_UDEV
libvirt_driver_interface_la_CFLAGS += $(UDEV_CFLAGS) libvirt_driver_interface_la_CFLAGS += $(UDEV_CFLAGS)
libvirt_driver_interface_la_LIBADD += $(UDEV_LIBS) 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.2.0.orig/tools/virsh.c
+++ libvirt-3.1.0/tools/virsh.c +++ libvirt-3.2.0/tools/virsh.c
@@ -602,6 +602,8 @@ virshShowVersion(vshControl *ctl ATTRIBU @@ -602,6 +602,8 @@ virshShowVersion(vshControl *ctl ATTRIBU
vshPrint(ctl, " Interface"); vshPrint(ctl, " Interface");
# if defined(WITH_NETCF) # if defined(WITH_NETCF)
@ -65,10 +65,10 @@ Index: libvirt-3.1.0/tools/virsh.c
# elif defined(WITH_UDEV) # elif defined(WITH_UDEV)
vshPrint(ctl, " udev"); vshPrint(ctl, " udev");
# endif # 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.2.0.orig/src/interface/interface_backend_netcf.c
+++ libvirt-3.1.0/src/interface/interface_backend_netcf.c +++ libvirt-3.2.0/src/interface/interface_backend_netcf.c
@@ -23,7 +23,12 @@ @@ -23,7 +23,12 @@
#include <config.h> #include <config.h>
@ -83,7 +83,7 @@ Index: libvirt-3.1.0/src/interface/interface_backend_netcf.c
#include "virerror.h" #include "virerror.h"
#include "datatypes.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; static virNetcfDriverStatePtr driver;
@ -121,7 +121,7 @@ Index: libvirt-3.1.0/src/interface/interface_backend_netcf.c
static void static void
virNetcfDriverStateDispose(void *obj) virNetcfDriverStateDispose(void *obj)
@@ -87,6 +123,10 @@ netcfStateInitialize(bool privileged ATT @@ -88,6 +124,10 @@ netcfStateInitialize(bool privileged ATT
if (!(driver = virObjectLockableNew(virNetcfDriverStateClass))) if (!(driver = virObjectLockableNew(virNetcfDriverStateClass)))
return -1; return -1;
@ -132,7 +132,7 @@ Index: libvirt-3.1.0/src/interface/interface_backend_netcf.c
/* open netcf */ /* open netcf */
if (ncf_init(&driver->netcf, NULL) != 0) { if (ncf_init(&driver->netcf, NULL) != 0) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s", virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
@@ -1140,6 +1180,19 @@ static virStateDriver interfaceStateDriv @@ -1141,6 +1181,19 @@ static virStateDriver interfaceStateDriv
int netcfIfaceRegister(void) int netcfIfaceRegister(void)
{ {
@ -152,10 +152,10 @@ Index: libvirt-3.1.0/src/interface/interface_backend_netcf.c
if (virSetSharedInterfaceDriver(&interfaceDriver) < 0) if (virSetSharedInterfaceDriver(&interfaceDriver) < 0)
return -1; return -1;
if (virRegisterStateDriver(&interfaceStateDriver) < 0) 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.2.0.orig/src/interface/interface_driver.c
+++ libvirt-3.1.0/src/interface/interface_driver.c +++ libvirt-3.2.0/src/interface/interface_driver.c
@@ -30,8 +30,15 @@ interfaceRegister(void) @@ -30,8 +30,15 @@ interfaceRegister(void)
if (netcfIfaceRegister() == 0) if (netcfIfaceRegister() == 0)
return 0; return 0;
@ -173,10 +173,10 @@ Index: libvirt-3.1.0/src/interface/interface_driver.c
if (udevIfaceRegister() == 0) if (udevIfaceRegister() == 0)
return 0; return 0;
#endif /* WITH_UDEV */ #endif /* WITH_UDEV */
Index: libvirt-3.1.0/m4/virt-netcontrol.m4 Index: libvirt-3.2.0/m4/virt-netcontrol.m4
=================================================================== ===================================================================
--- /dev/null --- /dev/null
+++ libvirt-3.1.0/m4/virt-netcontrol.m4 +++ libvirt-3.2.0/m4/virt-netcontrol.m4
@@ -0,0 +1,39 @@ @@ -0,0 +1,39 @@
+dnl The libnetcontrol library +dnl The libnetcontrol library
+dnl +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 Thu Mar 16 14:23:16 UTC 2017 - jfehlig@suse.com

View File

@ -175,7 +175,7 @@
Name: libvirt Name: libvirt
Url: http://libvirt.org/ Url: http://libvirt.org/
Version: 3.1.0 Version: 3.2.0
Release: 0 Release: 0
Summary: Library providing a simple virtualization API Summary: Library providing a simple virtualization API
License: LGPL-2.1+ License: LGPL-2.1+
@ -317,8 +317,6 @@ Source4: libvirtd-relocation-server.fw
Source99: baselibs.conf Source99: baselibs.conf
Source100: %{name}-rpmlintrc Source100: %{name}-rpmlintrc
# Upstream patches # Upstream patches
Patch0: 67dcb797-virTimeBackOffWait-sleepcap.patch
Patch1: 85af0b80-qemu-adaptive-montimeout.patch
# Patches pending upstream review # Patches pending upstream review
Patch100: libxl-dom-reset.patch Patch100: libxl-dom-reset.patch
Patch101: network-don-t-use-dhcp-authoritative-on-static-netwo.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 Patch212: libvirt-suse-netcontrol.patch
Patch213: lxc-wait-after-eth-del.patch Patch213: lxc-wait-after-eth-del.patch
Patch214: libxl-qemu-emulator-caps.patch Patch214: libxl-qemu-emulator-caps.patch
Patch215: suse-libvirtd-service.patch
# SLES-Only patches # SLES-Only patches
%if %{with_sle_build} %if %{with_sle_build}
Patch400: virt-create-rootfs.patch Patch400: virt-create-rootfs.patch
@ -362,7 +361,7 @@ to interact with Linux virtualization technologies.
%package doc %package doc
Summary: API reference and website documentation for libvirt Summary: API reference and website documentation for libvirt
Group: Development/Libraries/C and C++ Group: Documentation/HTML
%description doc %description doc
Includes the API reference for the libvirt C library, and a complete 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 %prep
%setup -q %setup -q
%patch0 -p1
%patch1 -p1
%patch100 -p1 %patch100 -p1
%patch101 -p1 %patch101 -p1
%patch150 -p1 %patch150 -p1
@ -912,6 +909,7 @@ libvirt plugin for NSS for translating domain names into IP addresses.
%patch212 -p1 %patch212 -p1
%patch213 -p1 %patch213 -p1
%patch214 -p1 %patch214 -p1
%patch215 -p1
%if %{with_sle_build} %if %{with_sle_build}
%patch400 -p1 %patch400 -p1
%endif %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.2.0.orig/daemon/libvirtd.conf
+++ libvirt-3.1.0/daemon/libvirtd.conf +++ libvirt-3.2.0/daemon/libvirtd.conf
@@ -18,8 +18,8 @@ @@ -18,8 +18,8 @@
# It is necessary to setup a CA and issue server certificates before # It is necessary to setup a CA and issue server certificates before
# using this capability. # 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. # Listen for unencrypted TCP connections on the public TCP/IP port.
# NB, must pass the --listen flag to the libvirtd process for this to # 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.2.0.orig/daemon/libvirtd-config.c
+++ libvirt-3.1.0/daemon/libvirtd-config.c +++ libvirt-3.2.0/daemon/libvirtd-config.c
@@ -110,7 +110,7 @@ daemonConfigNew(bool privileged ATTRIBUT @@ -110,7 +110,7 @@ daemonConfigNew(bool privileged ATTRIBUT
if (VIR_ALLOC(data) < 0) if (VIR_ALLOC(data) < 0)
return NULL; return NULL;
@ -26,10 +26,10 @@ Index: libvirt-3.1.0/daemon/libvirtd-config.c
data->listen_tcp = 0; data->listen_tcp = 0;
if (VIR_STRDUP(data->tls_port, LIBVIRTD_TLS_PORT) < 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.2.0.orig/daemon/test_libvirtd.aug.in
+++ libvirt-3.1.0/daemon/test_libvirtd.aug.in +++ libvirt-3.2.0/daemon/test_libvirtd.aug.in
@@ -2,7 +2,7 @@ module Test_libvirtd = @@ -2,7 +2,7 @@ module Test_libvirtd =
::CONFIG:: ::CONFIG::

View File

@ -1,9 +1,9 @@
Adjust libvirtd sysconfig file to conform to SUSE standards 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.2.0.orig/daemon/libvirtd.sysconf
+++ libvirt-3.1.0/daemon/libvirtd.sysconf +++ libvirt-3.2.0/daemon/libvirtd.sysconf
@@ -1,16 +1,25 @@ @@ -1,16 +1,25 @@
+## Path: System/Virtualization/libvirt +## 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 option, but domainReset can be implemented in the libxl driver by
forcibly destroying the domain and starting it again. 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.2.0.orig/src/libxl/libxl_driver.c
+++ libvirt-3.1.0/src/libxl/libxl_driver.c +++ libvirt-3.2.0/src/libxl/libxl_driver.c
@@ -1389,6 +1389,61 @@ libxlDomainReboot(virDomainPtr dom, unsi @@ -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. 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.2.0.orig/src/libxl/libxl_capabilities.c
+++ libvirt-3.1.0/src/libxl/libxl_capabilities.c +++ libvirt-3.2.0/src/libxl/libxl_capabilities.c
@@ -38,6 +38,7 @@ @@ -38,6 +38,7 @@
#include "libxl_capabilities.h" #include "libxl_capabilities.h"
#include "cpu/cpu_x86.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 +++++++++++++++++++++++++ src/libxl/libxl_conf.c | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+) 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.2.0.orig/src/libxl/libxl_conf.c
+++ libvirt-3.1.0/src/libxl/libxl_conf.c +++ libvirt-3.2.0/src/libxl/libxl_conf.c
@@ -609,6 +609,30 @@ libxlDiskSetDiscard(libxl_device_disk *x @@ -609,6 +609,30 @@ libxlDiskSetDiscard(libxl_device_disk *x
#endif #endif
} }

View File

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

View File

@ -13,47 +13,71 @@ device with the same name that is being created.
src/lxc/lxc_process.c | 1 + src/lxc/lxc_process.c | 1 +
3 files changed, 4 insertions(+) 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.2.0.orig/src/lxc/lxc_controller.c
+++ libvirt-3.1.0/src/lxc/lxc_controller.c +++ libvirt-3.2.0/src/lxc/lxc_controller.c
@@ -1997,6 +1997,7 @@ static int virLXCControllerDeleteInterfa @@ -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) if (virNetDevVethDelete(ctrl->veths[i]) < 0)
ret = -1; ret = -1;
} }
+ virFileWaitForDevices(); + virWaitForDevices();
return ret; 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.2.0.orig/src/lxc/lxc_driver.c
+++ libvirt-3.1.0/src/lxc/lxc_driver.c +++ libvirt-3.2.0/src/lxc/lxc_driver.c
@@ -4036,6 +4036,7 @@ lxcDomainAttachDeviceNetLive(virConnectP @@ -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_NETWORK:
case VIR_DOMAIN_NET_TYPE_ETHERNET: case VIR_DOMAIN_NET_TYPE_ETHERNET:
ignore_value(virNetDevVethDelete(veth)); ignore_value(virNetDevVethDelete(veth));
+ virFileWaitForDevices(); + virWaitForDevices();
break; break;
case VIR_DOMAIN_NET_TYPE_DIRECT: case VIR_DOMAIN_NET_TYPE_DIRECT:
@@ -4470,6 +4471,7 @@ lxcDomainDetachDeviceNetLive(virDomainOb @@ -4469,6 +4471,7 @@ lxcDomainDetachDeviceNetLive(virDomainOb
virDomainAuditNet(vm, detach, NULL, "detach", false); virDomainAuditNet(vm, detach, NULL, "detach", false);
goto cleanup; goto cleanup;
} }
+ virFileWaitForDevices(); + virWaitForDevices();
break; break;
/* It'd be nice to support this, but with macvlan /* 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.2.0.orig/src/lxc/lxc_process.c
+++ libvirt-3.1.0/src/lxc/lxc_process.c +++ libvirt-3.2.0/src/lxc/lxc_process.c
@@ -221,6 +221,7 @@ static void virLXCProcessCleanup(virLXCD @@ -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); networkReleaseActualDevice(vm->def, iface);
} }
+ virFileWaitForDevices(); + virWaitForDevices();
virDomainConfVMNWFilterTeardown(vm); virDomainConfVMNWFilterTeardown(vm);

View File

@ -17,11 +17,11 @@ Signed-off-by: Martin Wilck <mwilck@suse.com>
tests/networkxml2confdata/dhcp6host-routed-network.conf | 1 - tests/networkxml2confdata/dhcp6host-routed-network.conf | 1 -
2 files changed, 8 insertions(+), 2 deletions(-) 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.2.0.orig/src/network/bridge_driver.c
+++ libvirt-3.1.0/src/network/bridge_driver.c +++ libvirt-3.2.0/src/network/bridge_driver.c
@@ -1398,7 +1398,14 @@ networkDnsmasqConfContents(virNetworkObj @@ -1413,7 +1413,14 @@ networkDnsmasqConfContents(virNetworkObj
if (VIR_SOCKET_ADDR_IS_FAMILY(&ipdef->address, AF_INET)) { if (VIR_SOCKET_ADDR_IS_FAMILY(&ipdef->address, AF_INET)) {
if (ipdef->nranges || ipdef->nhosts) { if (ipdef->nranges || ipdef->nhosts) {
virBufferAddLit(&configbuf, "dhcp-no-override\n"); virBufferAddLit(&configbuf, "dhcp-no-override\n");
@ -37,10 +37,10 @@ Index: libvirt-3.1.0/src/network/bridge_driver.c
} }
if (ipdef->tftproot) { 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.2.0.orig/tests/networkxml2confdata/dhcp6host-routed-network.conf
+++ libvirt-3.1.0/tests/networkxml2confdata/dhcp6host-routed-network.conf +++ libvirt-3.2.0/tests/networkxml2confdata/dhcp6host-routed-network.conf
@@ -10,7 +10,6 @@ bind-dynamic @@ -10,7 +10,6 @@ bind-dynamic
interface=virbr1 interface=virbr1
dhcp-range=192.168.122.1,static dhcp-range=192.168.122.1,static

View File

@ -2,10 +2,10 @@ Canonicalize hostarch name ppc64le to ppc64
See bnc#894956 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.2.0.orig/src/util/virarch.c
+++ libvirt-3.1.0/src/util/virarch.c +++ libvirt-3.2.0/src/util/virarch.c
@@ -169,6 +169,8 @@ virArch virArchFromHost(void) @@ -169,6 +169,8 @@ virArch virArchFromHost(void)
arch = VIR_ARCH_I686; arch = VIR_ARCH_I686;
} else if (STREQ(ut.machine, "amd64")) { } 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.2.0.orig/examples/apparmor/libvirt-qemu
+++ libvirt-3.1.0/examples/apparmor/libvirt-qemu +++ libvirt-3.2.0/examples/apparmor/libvirt-qemu
@@ -154,3 +154,6 @@ @@ -154,3 +154,6 @@
/etc/udev/udev.conf r, /etc/udev/udev.conf r,
/sys/bus/ 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 +++++++++++++++++++++++++++- src/xenxs/xen_xm.c | 28 +++++++++++++++++++++++++++-
2 files changed, 35 insertions(+), 15 deletions(-) 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.2.0.orig/src/xenconfig/xen_common.c
+++ libvirt-3.1.0/src/xenconfig/xen_common.c +++ libvirt-3.2.0/src/xenconfig/xen_common.c
@@ -394,6 +394,8 @@ xenParsePCI(virConfPtr conf, virDomainDe @@ -394,6 +394,8 @@ xenParsePCI(virConfPtr conf, virDomainDe
{ {
virConfValuePtr list = virConfGetValue(conf, "pci"); 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.type = VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI;
hostdev->source.subsys.u.pci.addr.domain = domainID; hostdev->source.subsys.u.pci.addr.domain = domainID;
hostdev->source.subsys.u.pci.addr.bus = busID; 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.2.0.orig/src/xenconfig/xen_sxpr.c
+++ libvirt-3.1.0/src/xenconfig/xen_sxpr.c +++ libvirt-3.2.0/src/xenconfig/xen_sxpr.c
@@ -1062,6 +1062,7 @@ xenParseSxprPCI(virDomainDefPtr def, @@ -1062,6 +1062,7 @@ xenParseSxprPCI(virDomainDefPtr def,
int busID; int busID;
int slotID; 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 etc.), but for now they are all lumped together in this
single patch. 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.2.0.orig/src/qemu/qemu.conf
+++ libvirt-3.1.0/src/qemu/qemu.conf +++ libvirt-3.2.0/src/qemu/qemu.conf
@@ -283,11 +283,20 @@ @@ -332,11 +332,20 @@
# isolation, but it cannot appear in a list of drivers. # isolation, but it cannot appear in a list of drivers.
# #
#security_driver = "selinux" #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 # If set to non-zero, then attempts to create unconfined
# guests will be blocked. Defaults to 0. # guests will be blocked. Defaults to 0.
@@ -531,11 +540,22 @@ @@ -580,11 +589,22 @@
#allow_disk_format_probing = 1 #allow_disk_format_probing = 1
@ -62,7 +62,7 @@ Index: libvirt-3.1.0/src/qemu/qemu.conf
# #
#lock_manager = "lockd" #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 # for x86_64 and i686, but it's AAVMF for aarch64. The libvirt default
# follows this scheme. # follows this scheme.
#nvram = [ #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.2.0.orig/daemon/libvirtd.service.in
+++ libvirt-3.1.0/daemon/libvirtd.service.in +++ libvirt-3.2.0/daemon/libvirtd.service.in
@@ -14,6 +14,7 @@ After=iscsid.service @@ -14,6 +14,7 @@ After=iscsid.service
After=apparmor.service After=apparmor.service
After=local-fs.target After=local-fs.target

View File

@ -1,9 +1,9 @@
Adjust virtlockd init files to conform to SUSE standards 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.2.0.orig/src/locking/virtlockd.sysconf
+++ libvirt-3.1.0/src/locking/virtlockd.sysconf +++ libvirt-3.2.0/src/locking/virtlockd.sysconf
@@ -1,3 +1,7 @@ @@ -1,3 +1,7 @@
+## Path: System/Virtualization/virtlockd +## Path: System/Virtualization/virtlockd
+ +
@ -12,10 +12,10 @@ Index: libvirt-3.1.0/src/locking/virtlockd.sysconf
# #
# Pass extra arguments to virtlockd # Pass extra arguments to virtlockd
#VIRTLOCKD_ARGS= #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.2.0.orig/src/locking/virtlockd.init.in
+++ libvirt-3.1.0/src/locking/virtlockd.init.in +++ libvirt-3.2.0/src/locking/virtlockd.init.in
@@ -4,59 +4,57 @@ @@ -4,59 +4,57 @@
# http://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/initscrcomconv.html # 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 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.2.0.orig/src/logging/virtlogd.init.in
+++ libvirt-3.1.0/src/logging/virtlogd.init.in +++ libvirt-3.2.0/src/logging/virtlogd.init.in
@@ -4,59 +4,56 @@ @@ -4,59 +4,56 @@
# http://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/initscrcomconv.html # 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 esac
-exit $RETVAL -exit $RETVAL
+rc_exit +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.2.0.orig/src/logging/virtlogd.sysconf
+++ libvirt-3.1.0/src/logging/virtlogd.sysconf +++ libvirt-3.2.0/src/logging/virtlogd.sysconf
@@ -1,3 +1,7 @@ @@ -1,3 +1,7 @@
+## Path: System/Virtualization/virtlogd +## 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.2.0.orig/src/xenconfig/xen_sxpr.c
+++ libvirt-3.1.0/src/xenconfig/xen_sxpr.c +++ libvirt-3.2.0/src/xenconfig/xen_sxpr.c
@@ -392,7 +392,7 @@ xenParseSxprVifRate(const char *rate, un @@ -392,7 +392,7 @@ xenParseSxprVifRate(const char *rate, un
static int static int
xenParseSxprDisks(virDomainDefPtr def, 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 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.2.0.orig/src/xenconfig/xen_sxpr.c
+++ libvirt-3.1.0/src/xenconfig/xen_sxpr.c +++ libvirt-3.2.0/src/xenconfig/xen_sxpr.c
@@ -506,10 +506,11 @@ xenParseSxprDisks(virDomainDefPtr def, @@ -506,10 +506,11 @@ xenParseSxprDisks(virDomainDefPtr def,
omnipotent, we can revisit this, perhaps stat()'ing omnipotent, we can revisit this, perhaps stat()'ing
the src file in question */ the src file in question */