[libvirt] [PATCH v2 00/12] Basic implementation of persistent reservations
by Michal Privoznik
v2 of:
https://www.redhat.com/archives/libvir-list/2018-January/msg00584.html
diff to v1:
- Dropped the hash table and stayed with simple pid_t in vm->privateData
- Couple of small fixes (basically to address Peter's review)
What is still missing:
- Event from qemu when the helper process dies (in my testing, qemu
process dies as soon as it tries to do PR).
- <hostdev/> support, which surprisingly works even without these
patches. I mean, if I add the following hostdev the guest is already
able to do PR even with plain origin/master:
<hostdev mode='subsystem' type='scsi' managed='no' rawio='no'>
<source>
<adapter name='scsi_host7'/>
<address bus='0' target='0' unit='0'/>
</source>
<address type='drive' controller='0' bus='0' target='0' unit='4'/>
</hostdev>
where host7 is an iSCSI device:
/sys/bus/scsi/devices/7\:0\:0\:0/block/sdd/
and the part of generated cmd line:
-drive file=/dev/sg3,if=none,id=drive-hostdev0 \
-device scsi-generic,bus=scsi0.0,channel=0,scsi-id=0,lun=4,drive=drive-hostdev0,id=hostdev0
However, the qemu is running under my regular user nor it has any
special capabilities:
# grep -e "^Name" -e "^Uid" -e "^Gid" -e "^Cap" /proc/$(pgrep qemu)/status
Name: qemu-system-x86
Uid: 1000 1000 1000 1000
Gid: 1000 1000 1000 1000
CapInh: 0000000000000000
CapPrm: 0000000000000000
CapEff: 0000000000000000
CapBnd: 0000003fffffffff
CapAmb: 0000000000000000
As usual, you can find the patches on my github too:
https://github.com/zippy2/libvirt/tree/pr_v2
Michal Privoznik (12):
virstoragefile: Introduce virStoragePRDef
qemuDomainDiskChangeSupported: Deny changing reservations
qemu: Introduce pr-manager-helper capability
qemu: Generate alias and socket path for pr-helper
qemu: Store pr runtime data in status XML
qemu: Generate cmd line at startup
qemu: Introduce pr_helper to qemu.conf
qemu_domain: Track pr-helper PID in status XML
qemu: Start PR daemons on domain startup
qemu_hotplug: Hotplug of reservations
qemu_hotplug: Hotunplug of reservations
qemu: Detect pr-manager-helper capability
docs/formatdomain.html.in | 25 ++-
docs/schemas/domaincommon.rng | 34 +---
docs/schemas/storagecommon.rng | 50 +++++
m4/virt-driver-qemu.m4 | 5 +
src/conf/domain_conf.c | 36 ++++
src/libvirt_private.syms | 6 +
src/qemu/libvirtd_qemu.aug | 1 +
src/qemu/qemu.conf | 4 +
src/qemu/qemu_capabilities.c | 2 +
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_command.c | 40 ++++
src/qemu/qemu_conf.c | 7 +-
src/qemu/qemu_conf.h | 1 +
src/qemu/qemu_domain.c | 213 ++++++++++++++++++++-
src/qemu/qemu_domain.h | 15 ++
src/qemu/qemu_hotplug.c | 94 +++++++++
src/qemu/qemu_process.c | 188 ++++++++++++++++++
src/qemu/qemu_process.h | 7 +
src/qemu/test_libvirtd_qemu.aug.in | 1 +
src/util/virstoragefile.c | 181 +++++++++++++++++
src/util/virstoragefile.h | 19 ++
.../disk-virtio-scsi-reservations-not-managed.args | 28 +++
.../disk-virtio-scsi-reservations-not-managed.xml | 40 ++++
.../disk-virtio-scsi-reservations.args | 29 +++
.../disk-virtio-scsi-reservations.xml | 38 ++++
tests/qemuxml2argvtest.c | 8 +
.../disk-virtio-scsi-reservations-not-managed.xml | 1 +
.../disk-virtio-scsi-reservations.xml | 1 +
tests/qemuxml2xmltest.c | 4 +
29 files changed, 1042 insertions(+), 37 deletions(-)
create mode 100644 tests/qemuxml2argvdata/disk-virtio-scsi-reservations-not-managed.args
create mode 100644 tests/qemuxml2argvdata/disk-virtio-scsi-reservations-not-managed.xml
create mode 100644 tests/qemuxml2argvdata/disk-virtio-scsi-reservations.args
create mode 100644 tests/qemuxml2argvdata/disk-virtio-scsi-reservations.xml
create mode 120000 tests/qemuxml2xmloutdata/disk-virtio-scsi-reservations-not-managed.xml
create mode 120000 tests/qemuxml2xmloutdata/disk-virtio-scsi-reservations.xml
--
2.16.1
6 years, 9 months
[libvirt] [PATCH] fflush: be more paranoid about libio.h change
by Paul Eggert
Suggested by Eli Zaretskii in:
https://lists.gnu.org/r/emacs-devel/2018-03/msg00270.html
* lib/fbufmode.c (fbufmode):
* lib/fflush.c (clear_ungetc_buffer_preserving_position)
(disable_seek_optimization, rpl_fflush):
* lib/fpending.c (__fpending):
* lib/fpurge.c (fpurge):
* lib/freadable.c (freadable):
* lib/freadahead.c (freadahead):
* lib/freading.c (freading):
* lib/freadptr.c (freadptr):
* lib/freadseek.c (freadptrinc):
* lib/fseeko.c (fseeko):
* lib/fseterr.c (fseterr):
* lib/fwritable.c (fwritable):
* lib/fwriting.c (fwriting):
Look at _IO_ftrylockfile as well as at _IO_EOF_SEEN.
---
ChangeLog | 21 +++++++++++++++++++++
lib/fbufmode.c | 3 ++-
lib/fflush.c | 9 ++++++---
lib/fpending.c | 3 ++-
lib/fpurge.c | 3 ++-
lib/freadable.c | 3 ++-
lib/freadahead.c | 3 ++-
lib/freading.c | 3 ++-
lib/freadptr.c | 3 ++-
lib/freadseek.c | 3 ++-
lib/fseeko.c | 6 ++++--
lib/fseterr.c | 3 ++-
lib/fwritable.c | 3 ++-
lib/fwriting.c | 3 ++-
14 files changed, 53 insertions(+), 16 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index e858e18fb..a9cd4aed1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,24 @@
+2018-03-08 Paul Eggert <eggert(a)cs.ucla.edu>
+
+ fflush: be more paranoid about libio.h change
+ Suggested by Eli Zaretskii in:
+ https://lists.gnu.org/r/emacs-devel/2018-03/msg00270.html
+ * lib/fbufmode.c (fbufmode):
+ * lib/fflush.c (clear_ungetc_buffer_preserving_position)
+ (disable_seek_optimization, rpl_fflush):
+ * lib/fpending.c (__fpending):
+ * lib/fpurge.c (fpurge):
+ * lib/freadable.c (freadable):
+ * lib/freadahead.c (freadahead):
+ * lib/freading.c (freading):
+ * lib/freadptr.c (freadptr):
+ * lib/freadseek.c (freadptrinc):
+ * lib/fseeko.c (fseeko):
+ * lib/fseterr.c (fseterr):
+ * lib/fwritable.c (fwritable):
+ * lib/fwriting.c (fwriting):
+ Look at _IO_ftrylockfile as well as at _IO_EOF_SEEN.
+
2018-03-07 Paul Eggert <eggert(a)cs.ucla.edu>
maint: write-file-hooks -> before-save-hook
diff --git a/lib/fbufmode.c b/lib/fbufmode.c
index f711fdfb7..73c64f348 100644
--- a/lib/fbufmode.c
+++ b/lib/fbufmode.c
@@ -31,7 +31,8 @@ fbufmode (FILE *fp)
/* Most systems provide FILE as a struct and the necessary bitmask in
<stdio.h>, because they need it for implementing getc() and putc() as
fast macros. */
-#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1
+ /* GNU libc, BeOS, Haiku, Linux libc5 */
# if HAVE___FLBF /* glibc >= 2.2 */
if (__flbf (fp))
return _IOLBF;
diff --git a/lib/fflush.c b/lib/fflush.c
index a6edfa105..a140b7ad9 100644
--- a/lib/fflush.c
+++ b/lib/fflush.c
@@ -33,7 +33,8 @@
#undef fflush
-#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1
+/* GNU libc, BeOS, Haiku, Linux libc5 */
/* Clear the stream's ungetc buffer, preserving the value of ftello (fp). */
static void
@@ -72,7 +73,8 @@ clear_ungetc_buffer (FILE *fp)
#endif
-#if ! (defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */)
+#if ! (defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1)
+/* GNU libc, BeOS, Haiku, Linux libc5 */
# if (defined __sferror || defined __DragonFly__ || defined __ANDROID__) && defined __SNPT
/* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */
@@ -148,7 +150,8 @@ rpl_fflush (FILE *stream)
if (stream == NULL || ! freading (stream))
return fflush (stream);
-#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1
+ /* GNU libc, BeOS, Haiku, Linux libc5 */
clear_ungetc_buffer_preserving_position (stream);
diff --git a/lib/fpending.c b/lib/fpending.c
index 789f50e4e..7bc235ded 100644
--- a/lib/fpending.c
+++ b/lib/fpending.c
@@ -32,7 +32,8 @@ __fpending (FILE *fp)
/* Most systems provide FILE as a struct and the necessary bitmask in
<stdio.h>, because they need it for implementing getc() and putc() as
fast macros. */
-#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1
+ /* GNU libc, BeOS, Haiku, Linux libc5 */
return fp->_IO_write_ptr - fp->_IO_write_base;
#elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
/* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */
diff --git a/lib/fpurge.c b/lib/fpurge.c
index 3aedcc373..554790b56 100644
--- a/lib/fpurge.c
+++ b/lib/fpurge.c
@@ -62,7 +62,8 @@ fpurge (FILE *fp)
/* Most systems provide FILE as a struct and the necessary bitmask in
<stdio.h>, because they need it for implementing getc() and putc() as
fast macros. */
-# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+# if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1
+ /* GNU libc, BeOS, Haiku, Linux libc5 */
fp->_IO_read_end = fp->_IO_read_ptr;
fp->_IO_write_ptr = fp->_IO_write_base;
/* Avoid memory leak when there is an active ungetc buffer. */
diff --git a/lib/freadable.c b/lib/freadable.c
index c4ca0b86e..53cdbee08 100644
--- a/lib/freadable.c
+++ b/lib/freadable.c
@@ -31,7 +31,8 @@ freadable (FILE *fp)
/* Most systems provide FILE as a struct and the necessary bitmask in
<stdio.h>, because they need it for implementing getc() and putc() as
fast macros. */
-#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1
+ /* GNU libc, BeOS, Haiku, Linux libc5 */
return (fp->_flags & _IO_NO_READS) == 0;
#elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
/* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */
diff --git a/lib/freadahead.c b/lib/freadahead.c
index 23ec76ee5..ed3dd0ebd 100644
--- a/lib/freadahead.c
+++ b/lib/freadahead.c
@@ -30,7 +30,8 @@ extern size_t __sreadahead (FILE *);
size_t
freadahead (FILE *fp)
{
-#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1
+ /* GNU libc, BeOS, Haiku, Linux libc5 */
if (fp->_IO_write_ptr > fp->_IO_write_base)
return 0;
return (fp->_IO_read_end - fp->_IO_read_ptr)
diff --git a/lib/freading.c b/lib/freading.c
index c24d0c88a..790f92ca3 100644
--- a/lib/freading.c
+++ b/lib/freading.c
@@ -31,7 +31,8 @@ freading (FILE *fp)
/* Most systems provide FILE as a struct and the necessary bitmask in
<stdio.h>, because they need it for implementing getc() and putc() as
fast macros. */
-# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+# if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1
+ /* GNU libc, BeOS, Haiku, Linux libc5 */
return ((fp->_flags & _IO_NO_WRITES) != 0
|| ((fp->_flags & (_IO_NO_READS | _IO_CURRENTLY_PUTTING)) == 0
&& fp->_IO_read_base != NULL));
diff --git a/lib/freadptr.c b/lib/freadptr.c
index ffb801039..3afa62149 100644
--- a/lib/freadptr.c
+++ b/lib/freadptr.c
@@ -29,7 +29,8 @@ freadptr (FILE *fp, size_t *sizep)
size_t size;
/* Keep this code in sync with freadahead! */
-#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1
+ /* GNU libc, BeOS, Haiku, Linux libc5 */
if (fp->_IO_write_ptr > fp->_IO_write_base)
return NULL;
size = fp->_IO_read_end - fp->_IO_read_ptr;
diff --git a/lib/freadseek.c b/lib/freadseek.c
index 5fd2dd7ca..b11845cd5 100644
--- a/lib/freadseek.c
+++ b/lib/freadseek.c
@@ -36,7 +36,8 @@ freadptrinc (FILE *fp, size_t increment)
/* Keep this code in sync with freadptr! */
#if HAVE___FREADPTRINC /* musl libc */
__freadptrinc (fp, increment);
-#elif defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+#elif defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1
+ /* GNU libc, BeOS, Haiku, Linux libc5 */
fp->_IO_read_ptr += increment;
#elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
/* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */
diff --git a/lib/fseeko.c b/lib/fseeko.c
index 193f4e8ce..e5c5172e7 100644
--- a/lib/fseeko.c
+++ b/lib/fseeko.c
@@ -47,7 +47,8 @@ fseeko (FILE *fp, off_t offset, int whence)
#endif
/* These tests are based on fpurge.c. */
-#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1
+ /* GNU libc, BeOS, Haiku, Linux libc5 */
if (fp->_IO_read_end == fp->_IO_read_ptr
&& fp->_IO_write_ptr == fp->_IO_write_base
&& fp->_IO_save_base == NULL)
@@ -123,7 +124,8 @@ fseeko (FILE *fp, off_t offset, int whence)
return -1;
}
-#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1
+ /* GNU libc, BeOS, Haiku, Linux libc5 */
fp->_flags &= ~_IO_EOF_SEEN;
fp->_offset = pos;
#elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
diff --git a/lib/fseterr.c b/lib/fseterr.c
index adb637256..fd9da6338 100644
--- a/lib/fseterr.c
+++ b/lib/fseterr.c
@@ -29,7 +29,8 @@ fseterr (FILE *fp)
/* Most systems provide FILE as a struct and the necessary bitmask in
<stdio.h>, because they need it for implementing getc() and putc() as
fast macros. */
-#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1
+ /* GNU libc, BeOS, Haiku, Linux libc5 */
fp->_flags |= _IO_ERR_SEEN;
#elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
/* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */
diff --git a/lib/fwritable.c b/lib/fwritable.c
index 3b1a380ec..24a148aee 100644
--- a/lib/fwritable.c
+++ b/lib/fwritable.c
@@ -31,7 +31,8 @@ fwritable (FILE *fp)
/* Most systems provide FILE as a struct and the necessary bitmask in
<stdio.h>, because they need it for implementing getc() and putc() as
fast macros. */
-#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1
+ /* GNU libc, BeOS, Haiku, Linux libc5 */
return (fp->_flags & _IO_NO_WRITES) == 0;
#elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
/* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */
diff --git a/lib/fwriting.c b/lib/fwriting.c
index 4a3d9c8d4..9be6fb220 100644
--- a/lib/fwriting.c
+++ b/lib/fwriting.c
@@ -27,7 +27,8 @@ fwriting (FILE *fp)
/* Most systems provide FILE as a struct and the necessary bitmask in
<stdio.h>, because they need it for implementing getc() and putc() as
fast macros. */
-#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1
+ /* GNU libc, BeOS, Haiku, Linux libc5 */
return (fp->_flags & (_IO_NO_READS | _IO_CURRENTLY_PUTTING)) != 0;
#elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
/* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */
--
2.14.3
6 years, 9 months
[libvirt] [PATCH] Add kubevirt blog to planet virttools
by Fabian Deutsch
Signed-off-by: Fabian Deutsch <fabiand(a)fedoraproject.org>
---
updater/virt-tools/config.ini | 3 +++
1 file changed, 3 insertions(+)
diff --git a/updater/virt-tools/config.ini b/updater/virt-tools/config.ini
index ff1bff3..4b55c6c 100644
--- a/updater/virt-tools/config.ini
+++ b/updater/virt-tools/config.ini
@@ -179,3 +179,6 @@ name = Marcin Juszkiewicz
[https://dummdida.tumblr.com/tagged/virtualization/rss]
name = Fabian Deutsch
+
+[http://blog.kubevirt.io/rss/]
+name = KubeVirt Blog
--
2.13.6
6 years, 9 months
[libvirt] [PATCH] Add Fabian Deutsch to Planet virttools
by Fabian Deutsch
… who is occasionally writing about KubeVirt
Signed-off-by: Fabian Deutsch <fabiand(a)fedoraproject.org>
---
updater/virt-tools/config.ini | 3 +++
1 file changed, 3 insertions(+)
diff --git a/updater/virt-tools/config.ini b/updater/virt-tools/config.ini
index a56d3b7..ff1bff3 100644
--- a/updater/virt-tools/config.ini
+++ b/updater/virt-tools/config.ini
@@ -176,3 +176,6 @@ faceheight = 80
[https://marcin.juszkiewicz.com.pl/tag/virtualization/feed/]
name = Marcin Juszkiewicz
+
+[https://dummdida.tumblr.com/tagged/virtualization/rss]
+name = Fabian Deutsch
--
2.13.6
6 years, 9 months
[libvirt] [PATCH] apparmor: add ro rule for sasl GSSAPI plugin on /etc/gss/mech.d/
by Christian Ehrhardt
If a system has sasl GSSAPI plugin available qemu with sasl support will
try to read /etc/gss/mech.d/.
It is required to allow that to let the modules fully work and it should
be safe to do so as it only registers/configures plugins but has no secrets.
Signed-off-by: Christian Ehrhardt <christian.ehrhardt(a)canonical.com>
---
examples/apparmor/libvirt-qemu | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/examples/apparmor/libvirt-qemu b/examples/apparmor/libvirt-qemu
index 950b042..2c47652 100644
--- a/examples/apparmor/libvirt-qemu
+++ b/examples/apparmor/libvirt-qemu
@@ -192,3 +192,7 @@
# silence refusals to open lttng files (see LP: #1432644)
deny /dev/shm/lttng-ust-wait-* r,
deny /run/shm/lttng-ust-wait-* r,
+
+ # required for sasl GSSAPI plugin
+ /etc/gss/mech.d/ r,
+ /etc/gss/mech.d/* r,
--
2.7.4
6 years, 9 months
[libvirt] Libvirt and Vmware support
by Egoitz Aurrekoetxea
Good morning,
I had the intention to integrate Libvirt with Xen, Vmware and KVM. We
are in process of migrating to KVM but needed to integrate for some time
VMware mainly. Does it support or are plans to, support Vmware
ESX/Vcenter 6.X?.
Best regards,
--
sarenet
*Egoitz Aurrekoetxea*
Departamento de sistemas
944 209 470
Parque Tecnológico. Edificio 103
48170 Zamudio (Bizkaia)
egoitz(a)sarenet.es <mailto:egoitz@sarenet.es>
www.sarenet.es <https://www.sarenet.es>
Antes de imprimir este correo electrónico piense si es necesario hacerlo.
6 years, 9 months
[libvirt] [PATCH 0/4] travis: Various improvements
by Andrea Bolognani
Basically my own spin on
https://www.redhat.com/archives/libvir-list/2018-February/msg01106.html
Patch 3/4 is actually carried over unchanged from that series.
The upstart bit is missing because I'm not too sure about how to
deal with it, but it can be solved as a follow-up anyway.
Andrea Bolognani (3):
travis: Drop precise
travis: Run 'make distcheck' during build
travis: Run 'make install' during build
Daniel P. Berrangé (1):
travis: make all builds use VPATH
.travis.yml | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
--
2.14.3
6 years, 9 months
[libvirt] [PATCH 0/3] qemu: Misc capabilities cleanups
by Andrea Bolognani
Please take a deep breath, concentrate and try to visualize a
blurb right below this sentence.
...
Did it work?
Andrea Bolognani (3):
qemu: Take full advantage of conditional device property probing
qemu: Ignore subsequent attempts to probe device properties
qemu: Remove virQEMUCapsProcessProps()
src/qemu/qemu_capabilities.c | 115 +++++++--------------
.../qemucapabilitiesdata/caps_1.2.2.x86_64.replies | 102 +++++-------------
tests/qemucapabilitiesdata/caps_1.2.2.x86_64.xml | 2 +-
.../qemucapabilitiesdata/caps_1.3.1.x86_64.replies | 90 ++++++----------
tests/qemucapabilitiesdata/caps_1.3.1.x86_64.xml | 2 +-
.../qemucapabilitiesdata/caps_1.4.2.x86_64.replies | 90 ++++++----------
tests/qemucapabilitiesdata/caps_1.4.2.x86_64.xml | 2 +-
.../qemucapabilitiesdata/caps_1.5.3.x86_64.replies | 90 ++++++----------
tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml | 2 +-
.../qemucapabilitiesdata/caps_1.6.0.x86_64.replies | 90 ++++++----------
tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml | 2 +-
.../qemucapabilitiesdata/caps_1.7.0.x86_64.replies | 90 ++++++----------
tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml | 2 +-
.../qemucapabilitiesdata/caps_2.1.1.x86_64.replies | 90 ++++++----------
tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml | 2 +-
.../caps_2.10.0-gicv2.aarch64.replies | 100 ++++++------------
.../caps_2.10.0-gicv2.aarch64.xml | 2 +-
.../caps_2.10.0-gicv3.aarch64.replies | 100 ++++++------------
.../caps_2.10.0-gicv3.aarch64.xml | 2 +-
.../qemucapabilitiesdata/caps_2.10.0.ppc64.replies | 100 ++++++------------
tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml | 2 +-
.../qemucapabilitiesdata/caps_2.10.0.s390x.replies | 108 +++++--------------
tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml | 2 +-
.../caps_2.10.0.x86_64.replies | 90 +++++++---------
tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml | 2 +-
.../qemucapabilitiesdata/caps_2.11.0.s390x.replies | 108 +++++--------------
tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml | 2 +-
.../qemucapabilitiesdata/caps_2.4.0.x86_64.replies | 80 ++++++--------
tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml | 2 +-
.../qemucapabilitiesdata/caps_2.5.0.x86_64.replies | 82 ++++++---------
tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml | 2 +-
.../caps_2.6.0-gicv2.aarch64.replies | 100 ++++++------------
.../caps_2.6.0-gicv2.aarch64.xml | 2 +-
.../caps_2.6.0-gicv3.aarch64.replies | 100 ++++++------------
.../caps_2.6.0-gicv3.aarch64.xml | 2 +-
.../qemucapabilitiesdata/caps_2.6.0.ppc64.replies | 100 ++++++------------
tests/qemucapabilitiesdata/caps_2.6.0.ppc64.xml | 2 +-
.../qemucapabilitiesdata/caps_2.6.0.x86_64.replies | 82 ++++++---------
tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml | 2 +-
.../qemucapabilitiesdata/caps_2.7.0.s390x.replies | 104 +++++--------------
tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml | 2 +-
.../qemucapabilitiesdata/caps_2.7.0.x86_64.replies | 82 ++++++---------
tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml | 2 +-
.../qemucapabilitiesdata/caps_2.8.0.s390x.replies | 108 +++++--------------
tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml | 2 +-
.../qemucapabilitiesdata/caps_2.8.0.x86_64.replies | 82 ++++++---------
tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml | 2 +-
.../qemucapabilitiesdata/caps_2.9.0.ppc64.replies | 100 ++++++------------
tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml | 2 +-
.../qemucapabilitiesdata/caps_2.9.0.s390x.replies | 108 +++++--------------
tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml | 2 +-
.../qemucapabilitiesdata/caps_2.9.0.x86_64.replies | 90 +++++++---------
tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml | 2 +-
53 files changed, 838 insertions(+), 1795 deletions(-)
--
2.14.3
6 years, 9 months
[libvirt] [PATCH 0/6] Fix overly complex parsing of storage encryption/authentication
by Peter Krempa
Peter Krempa (6):
util: storage: Simplify error handling in virStorageAuthDefParseXML
util: storage: Sanitize parsing of disk auth XMLs
conf: Replace virDomainDiskSourceAuthParse by an XPath query
util: storageencryption: Refactor cleanup section in
virStorageEncryptionParseXML
util: storage: Sanitize parsing of disk encryption XMLs
conf: Replace virDomainDiskSourceEncryptionParse by an XPath query
src/conf/domain_conf.c | 69 +++++++++--------------------------------
src/conf/storage_conf.c | 5 ++-
src/util/virstorageencryption.c | 67 +++++++++++++--------------------------
src/util/virstorageencryption.h | 4 +--
src/util/virstoragefile.c | 53 ++++++++++---------------------
src/util/virstoragefile.h | 3 +-
6 files changed, 59 insertions(+), 142 deletions(-)
--
2.16.2
6 years, 9 months
[libvirt] [PATCH 0/5] Fix virtlockd loosing locks
by Daniel P. Berrangé
This is a workaround for the bizarre behaviour whereby the kernel throws
away all fcntl() locks on execve()... if any threads are running. We
simply make virtlockd & virlogd single threaded instead.
Daniel P. Berrangé (5):
rpc: push ref acquisition into RPC dispatch function
rpc: simplify calling convention of virNetServerClientDispatchFunc
rpc: invoke the message dispatch callback with client unlocked
rpc: avoid crashing in pre-exec if no workers are present
rpc: switch virtlockd and virtlogd to use single-threaded dispatch
src/locking/lock_daemon.c | 4 +--
src/logging/log_daemon.c | 4 +--
src/rpc/virnetserver.c | 29 ++++++++++------
src/rpc/virnetserverclient.c | 81 ++++++++++++++++++++++++++++++--------------
src/rpc/virnetserverclient.h | 9 +++--
5 files changed, 83 insertions(+), 44 deletions(-)
--
2.14.3
6 years, 9 months