[libvirt] [PATCH] cpu_ppc64: Error out when model tag missing in virsh cpu-compare xml
by Nitesh Konkar
libvirtd throws unhandled signal 11 on ppc while running
virsh cpu-compare with missing model tag in the xml. This
patch errors out in such situation.
Signed-off-by: Nitesh Konkar <nitkon12(a)linux.vnet.ibm.com>
---
src/cpu/cpu_ppc64.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/cpu/cpu_ppc64.c b/src/cpu/cpu_ppc64.c
index b58e80a..c11ac9f 100644
--- a/src/cpu/cpu_ppc64.c
+++ b/src/cpu/cpu_ppc64.c
@@ -247,6 +247,12 @@ ppc64ModelFromCPU(const virCPUDef *cpu,
{
struct ppc64_model *model;
+ if (!cpu->model) {
+ virReportError(VIR_ERR_INVALID_ARG, "%s",
+ _("no guest CPU model specified"));
+ return NULL;
+ }
+
if (!(model = ppc64ModelFind(map, cpu->model))) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("Unknown CPU model %s"), cpu->model);
--
2.9.5
7 years
[libvirt] [PATCH 0/2] PIIX3 implicit controller address handling fixes
by Ján Tomko
Ján Tomko (2):
qemu: reserve PCI addresses for implicit i440fx devices
qemu: clarify error message for index 0 PIIX3 USB controller
src/qemu/qemu_domain_address.c | 17 +++++++++++----
.../qemuxml2argv-440fx-ide-address-conflict.xml | 25 ++++++++++++++++++++++
tests/qemuxml2argvtest.c | 1 +
3 files changed, 39 insertions(+), 4 deletions(-)
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-440fx-ide-address-conflict.xml
--
2.13.0
7 years
[libvirt] gnulib tests in libvirt broken by newer glibc 2.26
by Christian Ehrhardt
Hi,
there seems to be an incompatibility to the last glibc due to [1].
Eventually this breaks gnulib unittests (and maybe more).
Debugging went from an assert, to bidngin different symbols, to changed
function names to different header resolution.
Because it expects it to behave "posixly" but arguments are changed
differently.
FAIL: test-getopt-posix
=======================
../../../../gnulib/tests/test-getopt.h:754: assertion 'strcmp (argv[1],
"donald") == 0' failed
# get and build latest libvirt to get the local gnulib
$ wget http://libvirt.org/sources/libvirt-3.7.0.tar.xz
$ tar xf libvirt-3.7.0.tar.xz
$ cd libvirt
$ apt build-dep libvirt
$ ./autogen.sh
$ make -j4
You can run the following simplified test derived from the unit test (it is
much shorter, so easier to debug e.g. in -E).
$ cat << EOF >> test1.c
#include <config.h>
#include <unistd.h>
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
int main (void)
{
return 0;
}
EOF
$ gcc -I ./gnulib/lib -I . test1.c -H
You can see in -H output already the difference in the paths of the headers
that it uses:
Glibc <2.26
. ./config.h
.. ./config-post.h
. /usr/include/unistd.h
[...]
.. /usr/include/getopt.h
Glibc >=2.26
. ./config.h
.. ./config-post.h
. ./gnulib/lib/unistd.h
[...]
... /usr/include/x86_64-linux-gnu/bits/getopt_posix.h
.... /usr/include/x86_64-linux-gnu/bits/getopt_core.
If you build with -E you'll also see that it now uses getopt from glibc
instead of the prefixed rpl_getopt from gnulib.
It behaves as if it would not find gnulib and instead fall back to glibc.
But it finds gnulib, instead due to glibc's changes its implementation is
fetched before and due to that pulling in glibc's behavior while the unit
test is verifying against the one it expects from gnulib.
Sorry, but I don't see the right fix here yet - I could easily silence the
test but that is no fix. Especially if there might be implications due to
handling the args (slightly) differently.
I really wanted to come up with the same test against gnulib alone, but I
was lost in the build system for too long and could not get the example to
fail without libvirt (OTOH I'm sure it would).
Therefore I'm reaching out to you for your help and experience on the build
system what could be done.
[1]: https://sourceware.org/ml/libc-alpha/2017-04/msg00115.html
--
Christian Ehrhardt
Software Engineer, Ubuntu Server
Canonical Ltd
7 years
[libvirt] [PATCH v4 0/7] Work around the kernel mdev uevent race in nodedev
by Erik Skultety
v3 here: https://www.redhat.com/archives/libvir-list/2017-August/msg00703.html
since v3:
- some minor cosmetic changes related to comments from the original patches 1-2
- everything else (provided it didn't cause merge conflicts) is unchanged
Erik Skultety (7):
nodedev: Introduce udevEventCheckMonitorFD helper function
nodedev: udev: Lock the driver in udevEventCheckMonitorFd
udev: Split udevEventHandleCallback in two functions
udev: Convert udevEventHandleThread to an actual thread routine
nodedev: Disable/re-enable polling on the udev fd
util: Introduce virFileWaitForExists
nodedev: Work around the uevent race by hooking up
virFileWaitForAccess
src/libvirt_private.syms | 1 +
src/node_device/node_device_udev.c | 194 +++++++++++++++++++++++++++++++++----
src/util/virfile.c | 31 ++++++
src/util/virfile.h | 2 +
4 files changed, 209 insertions(+), 19 deletions(-)
--
2.13.5
7 years
[libvirt] [PATCH v3 0/3] qemu: Watchdog plug/unplug
by Michal Privoznik
v3 of:
https://www.redhat.com/archives/libvir-list/2017-September/msg00974.html
diff to v2:
- Peter's review worked int
- Dropped audit patch
- More check on watchdog device
Michal Privoznik (3):
qemuDomainDeviceDefValidate: Validate watchdog
qemu: hot-plug of watchdog
qemu: hot-unplug of watchdog
src/qemu/qemu_alias.c | 13 +-
src/qemu/qemu_alias.h | 2 +
src/qemu/qemu_command.c | 2 +-
src/qemu/qemu_command.h | 4 +-
src/qemu/qemu_domain.c | 51 ++++++++
src/qemu/qemu_driver.c | 14 ++-
src/qemu/qemu_hotplug.c | 139 +++++++++++++++++++++
src/qemu/qemu_hotplug.h | 6 +
src/qemu/qemu_monitor.c | 12 ++
src/qemu/qemu_monitor.h | 2 +
src/qemu/qemu_monitor_json.c | 28 +++++
src/qemu/qemu_monitor_json.h | 3 +
tests/qemuhotplugtest.c | 14 ++-
.../qemuhotplug-watchdog-full.xml | 4 +
.../qemuhotplug-watchdog.xml | 1 +
.../qemuhotplug-base-live+watchdog.xml | 56 +++++++++
16 files changed, 345 insertions(+), 6 deletions(-)
create mode 100644 tests/qemuhotplugtestdevices/qemuhotplug-watchdog-full.xml
create mode 100644 tests/qemuhotplugtestdevices/qemuhotplug-watchdog.xml
create mode 100644 tests/qemuhotplugtestdomains/qemuhotplug-base-live+watchdog.xml
--
2.13.5
7 years
[libvirt] [PATCH v1 0/7] qemu: Assign device aliases at define time
by Michal Privoznik
Rather big change because I had to update a lot of domain XMLs under tests/.
You can find the patches at mu github too:
https://github.com/zippy2/libvirt/commits/aliases
All the changes to the tests are result of VIR_TEST_REGENERATE_OUTPUT=1.
For more reference see:
https://bugzilla.redhat.com/show_bug.cgi?id=1434451
Michal Privoznik (7):
qemu_command: Drop useless alias checks
qemuAssignDeviceRNGAlias: Allow index to be passed
qemu: Move device alias assignment to separate functions
qemu: Allow regeneration of aliases
domain: Add virDomainDefAssignAliasesCallback
qemu: Assign device aliases at define time
conf: Format device alias into inactive XML too
src/conf/domain_conf.c | 14 +-
src/conf/domain_conf.h | 13 ++
src/qemu/qemu_alias.c | 225 +++++++++++++++++++--
src/qemu/qemu_alias.h | 7 +-
src/qemu/qemu_command.c | 21 +-
src/qemu/qemu_domain.c | 24 +++
src/qemu/qemu_driver.c | 2 +-
src/qemu/qemu_hotplug.c | 2 +-
src/qemu/qemu_process.c | 2 +-
.../disk_snapshot_redefine.xml | 21 +-
.../external_vm_redefine.xml | 16 +-
tests/domainsnapshotxml2xmlout/full_domain.xml | 16 +-
tests/domainsnapshotxml2xmlout/metadata.xml | 16 +-
tests/qemuargv2xmldata/qemuargv2xml-boot-cdrom.xml | 19 +-
.../qemuargv2xmldata/qemuargv2xml-boot-floppy.xml | 24 ++-
.../qemuargv2xmldata/qemuargv2xml-boot-network.xml | 19 +-
.../qemuargv2xml-clock-localtime.xml | 19 +-
tests/qemuargv2xmldata/qemuargv2xml-clock-utc.xml | 19 +-
.../qemuargv2xml-console-compat.xml | 21 +-
.../qemuargv2xml-disk-cdrom-empty.xml | 20 +-
tests/qemuargv2xmldata/qemuargv2xml-disk-cdrom.xml | 20 +-
.../qemuargv2xml-disk-drive-boot-cdrom.xml | 20 +-
.../qemuargv2xml-disk-drive-boot-disk.xml | 20 +-
.../qemuargv2xml-disk-drive-cache-directsync.xml | 20 +-
.../qemuargv2xml-disk-drive-cache-unsafe.xml | 20 +-
.../qemuargv2xml-disk-drive-cache-v2-none.xml | 20 +-
.../qemuargv2xml-disk-drive-cache-v2-wb.xml | 20 +-
.../qemuargv2xml-disk-drive-cache-v2-wt.xml | 20 +-
...muargv2xml-disk-drive-error-policy-enospace.xml | 20 +-
.../qemuargv2xml-disk-drive-error-policy-stop.xml | 20 +-
...xml-disk-drive-error-policy-wreport-rignore.xml | 20 +-
.../qemuargv2xml-disk-drive-fmt-qcow.xml | 20 +-
.../qemuargv2xml-disk-drive-network-gluster.xml | 19 +-
.../qemuargv2xml-disk-drive-network-iscsi-auth.xml | 19 +-
.../qemuargv2xml-disk-drive-network-iscsi.xml | 19 +-
.../qemuargv2xml-disk-drive-network-nbd-export.xml | 20 +-
...argv2xml-disk-drive-network-nbd-ipv6-export.xml | 20 +-
.../qemuargv2xml-disk-drive-network-nbd-ipv6.xml | 20 +-
.../qemuargv2xml-disk-drive-network-nbd-unix.xml | 20 +-
.../qemuargv2xml-disk-drive-network-nbd.xml | 20 +-
.../qemuargv2xml-disk-drive-network-rbd-auth.xml | 20 +-
...emuargv2xml-disk-drive-network-rbd-ceph-env.xml | 20 +-
.../qemuargv2xml-disk-drive-network-rbd-ipv6.xml | 20 +-
.../qemuargv2xml-disk-drive-network-rbd.xml | 23 ++-
.../qemuargv2xml-disk-drive-network-sheepdog.xml | 20 +-
.../qemuargv2xmldata/qemuargv2xml-disk-floppy.xml | 25 ++-
tests/qemuargv2xmldata/qemuargv2xml-disk-many.xml | 22 +-
tests/qemuargv2xmldata/qemuargv2xml-disk-usb.xml | 20 +-
.../qemuargv2xmldata/qemuargv2xml-disk-virtio.xml | 22 +-
.../qemuargv2xml-graphics-sdl-fullscreen.xml | 20 +-
.../qemuargv2xmldata/qemuargv2xml-graphics-sdl.xml | 20 +-
.../qemuargv2xml-graphics-vnc-policy.xml | 20 +-
.../qemuargv2xml-graphics-vnc-sasl.xml | 20 +-
.../qemuargv2xml-graphics-vnc-socket.xml | 20 +-
.../qemuargv2xml-graphics-vnc-tls.xml | 20 +-
.../qemuargv2xml-graphics-vnc-websocket.xml | 18 +-
.../qemuargv2xmldata/qemuargv2xml-graphics-vnc.xml | 20 +-
.../qemuargv2xml-hostdev-pci-address.xml | 20 +-
.../qemuargv2xml-hostdev-usb-address.xml | 20 +-
.../qemuargv2xmldata/qemuargv2xml-hyperv-panic.xml | 17 +-
tests/qemuargv2xmldata/qemuargv2xml-hyperv.xml | 17 +-
.../qemuargv2xml-input-usbmouse.xml | 23 ++-
.../qemuargv2xml-input-usbtablet.xml | 23 ++-
.../qemuargv2xmldata/qemuargv2xml-kvm-features.xml | 17 +-
tests/qemuargv2xmldata/qemuargv2xml-kvmclock.xml | 17 +-
.../qemuargv2xml-machine-aeskeywrap-off-argv.xml | 4 +-
.../qemuargv2xml-machine-aeskeywrap-on-argv.xml | 4 +-
.../qemuargv2xml-machine-core-off.xml | 19 +-
.../qemuargv2xml-machine-core-on.xml | 19 +-
.../qemuargv2xml-machine-deakeywrap-off-argv.xml | 4 +-
.../qemuargv2xml-machine-deakeywrap-on-argv.xml | 4 +-
.../qemuargv2xml-machine-keywrap-none-argv.xml | 4 +-
tests/qemuargv2xmldata/qemuargv2xml-mem-scale.xml | 19 +-
tests/qemuargv2xmldata/qemuargv2xml-migrate.xml | 19 +-
tests/qemuargv2xmldata/qemuargv2xml-misc-acpi.xml | 19 +-
.../qemuargv2xml-misc-disable-s3.xml | 19 +-
.../qemuargv2xml-misc-disable-suspends.xml | 19 +-
.../qemuargv2xml-misc-enable-s4.xml | 19 +-
.../qemuargv2xml-misc-no-reboot.xml | 19 +-
tests/qemuargv2xmldata/qemuargv2xml-misc-uuid.xml | 19 +-
.../qemuargv2xml-net-eth-ifname.xml | 20 +-
tests/qemuargv2xmldata/qemuargv2xml-net-eth.xml | 20 +-
tests/qemuargv2xmldata/qemuargv2xml-net-user.xml | 20 +-
tests/qemuargv2xmldata/qemuargv2xml-net-virtio.xml | 20 +-
.../qemuargv2xml-nographics-vga-display.xml | 19 +-
.../qemuargv2xml-nographics-vga.xml | 19 +-
.../qemuargv2xmldata/qemuargv2xml-nosharepages.xml | 19 +-
.../qemuargv2xmldata/qemuargv2xml-parallel-tcp.xml | 20 +-
.../qemuargv2xmldata/qemuargv2xml-pseries-disk.xml | 18 +-
.../qemuargv2xml-pseries-nvram.xml | 6 +-
.../qemuargv2xml-qemu-ns-no-env.xml | 19 +-
.../qemuargv2xml-reboot-timeout-disabled.xml | 17 +-
.../qemuargv2xml-reboot-timeout-enabled.xml | 17 +-
tests/qemuargv2xmldata/qemuargv2xml-restore-v2.xml | 19 +-
tests/qemuargv2xmldata/qemuargv2xml-serial-dev.xml | 21 +-
.../qemuargv2xmldata/qemuargv2xml-serial-file.xml | 21 +-
.../qemuargv2xmldata/qemuargv2xml-serial-many.xml | 22 +-
tests/qemuargv2xmldata/qemuargv2xml-serial-pty.xml | 21 +-
.../qemuargv2xml-serial-tcp-telnet.xml | 21 +-
tests/qemuargv2xmldata/qemuargv2xml-serial-tcp.xml | 21 +-
tests/qemuargv2xmldata/qemuargv2xml-serial-udp.xml | 22 +-
.../qemuargv2xmldata/qemuargv2xml-serial-unix.xml | 21 +-
tests/qemuargv2xmldata/qemuargv2xml-serial-vc.xml | 21 +-
tests/qemuargv2xmldata/qemuargv2xml-smp.xml | 19 +-
tests/qemuargv2xmldata/qemuargv2xml-sound.xml | 29 ++-
tests/qemuargv2xmldata/qemuargv2xml-watchdog.xml | 23 ++-
tests/qemuhotplugtest.c | 2 +-
.../ppc64-modern-bulk-result-conf.xml | 14 +-
.../ppc64-modern-individual-result-conf.xml | 14 +-
.../x86-modern-bulk-result-conf.xml | 14 +-
.../x86-modern-individual-add-result-conf.xml | 14 +-
.../x86-old-bulk-result-conf.xml | 14 +-
.../qemuxml2argv-blkdeviotune-group-num.xml | 17 +-
.../qemuxml2argv-blkdeviotune-max-length.xml | 17 +-
.../qemuxml2argv-blkdeviotune-max.xml | 17 +-
.../qemuxml2argv-disk-drive-detect-zeroes.xml | 17 +-
.../qemuxml2argv-encrypted-disk-usage.xml | 15 +-
.../qemuxml2argv-hostdev-scsi-vhost-scsi-ccw.xml | 4 +
.../qemuxml2argv-hostdev-scsi-vhost-scsi-pci.xml | 18 +-
.../qemuxml2argv-hugepages-memaccess.xml | 17 +-
.../qemuxml2argv-hugepages-memaccess2.xml | 17 +-
.../qemuxml2argv-hugepages-pages4.xml | 16 +-
.../qemuxml2argv-hugepages-pages5.xml | 16 +-
.../qemuxml2argv-hugepages-pages6.xml | 16 +-
.../qemuxml2argv-hugepages-pages7.xml | 17 +-
.../qemuxml2argv-intel-iommu-caching-mode.xml | 22 +-
.../qemuxml2argv-intel-iommu-device-iotlb.xml | 17 +-
.../qemuxml2argv-intel-iommu-eim.xml | 17 +-
tests/qemuxml2argvdata/qemuxml2argv-luks-disks.xml | 16 +-
.../qemuxml2argv-memory-hotplug-nvdimm-access.xml | 17 +-
.../qemuxml2argv-memory-hotplug-nvdimm-label.xml | 17 +-
.../qemuxml2argv-memory-hotplug-nvdimm.xml | 17 +-
.../qemuxml2argv-net-user-addr.xml | 20 +-
...muxml2argv-serial-tcp-tlsx509-chardev-notls.xml | 19 +-
.../qemuxml2argv-virtio-options.xml | 27 ++-
tests/qemuxml2argvtest.c | 9 +
.../qemuxml2xmlout-aarch64-aavmf-virtio-mmio.xml | 6 +
.../qemuxml2xmlout-aarch64-gic-none-tcg.xml | 4 +-
.../qemuxml2xmlout-aarch64-pci-serial.xml | 8 +-
.../qemuxml2xmlout-aarch64-video-default.xml | 8 +-
...qemuxml2xmlout-aarch64-video-virtio-gpu-pci.xml | 8 +-
.../qemuxml2xmlout-aarch64-virtio-pci-default.xml | 18 +-
...2xmlout-aarch64-virtio-pci-manual-addresses.xml | 11 +-
.../qemuxml2xmlout-acpi-table.xml | 18 +-
.../qemuxml2xmlout-autoindex.xml | 47 ++++-
.../qemuxml2xmlout-balloon-device-auto.xml | 16 +-
.../qemuxml2xmlout-balloon-device-period.xml | 16 +-
.../qemuxml2xmlout-bios-nvram-os-interleave.xml | 22 +-
.../qemuxml2xmlout-bios-nvram.xml | 20 +-
.../qemuxml2xmlout-blkdeviotune.xml | 17 +-
.../qemuxml2xmlout-blkiotune-device.xml | 16 +-
.../qemuxml2xmlout-blkiotune.xml | 16 +-
.../qemuxml2xmlout-boot-cdrom.xml | 19 +-
.../qemuxml2xmlout-boot-floppy-q35.xml | 22 +-
.../qemuxml2xmlout-boot-floppy.xml | 24 ++-
...muxml2xmlout-boot-menu-disable-with-timeout.xml | 16 +-
.../qemuxml2xmlout-boot-menu-disable.xml | 16 +-
...emuxml2xmlout-boot-menu-enable-with-timeout.xml | 16 +-
.../qemuxml2xmlout-boot-multi.xml | 16 +-
.../qemuxml2xmlout-boot-network.xml | 19 +-
.../qemuxml2xmlout-boot-order.xml | 24 ++-
.../qemuxml2xmlout-bootindex-floppy-q35.xml | 22 +-
.../qemuxml2xmlout-channel-guestfwd.xml | 17 +-
.../qemuxml2xmlout-channel-unix-source-path.xml | 22 +-
.../qemuxml2xmlout-channel-virtio-auto.xml | 25 ++-
.../qemuxml2xmlout-channel-virtio-state-active.xml | 20 +-
...emuxml2xmlout-channel-virtio-state-inactive.xml | 20 +-
.../qemuxml2xmlout-channel-virtio.xml | 18 +-
.../qemuxml2xmlout-chardev-label.xml | 19 +-
.../qemuxml2xmlout-clock-catchup.xml | 16 +-
.../qemuxml2xmlout-clock-localtime.xml | 19 +-
.../qemuxml2xmlout-clock-timer-hyperv-rtc.xml | 14 +-
.../qemuxml2xmlout-clock-utc.xml | 19 +-
.../qemuxml2xmlout-console-compat-auto.xml | 18 +-
.../qemuxml2xmlout-console-compat.xml | 21 +-
.../qemuxml2xmlout-console-compat2.xml | 23 ++-
.../qemuxml2xmlout-console-virtio-many.xml | 22 +-
.../qemuxml2xmlout-console-virtio.xml | 18 +-
.../qemuxml2xmlout-controller-usb-order.xml | 16 +-
.../qemuxml2xmlout-cpu-check-default-none.xml | 14 +-
.../qemuxml2xmlout-cpu-check-default-none2.xml | 14 +-
.../qemuxml2xmlout-cpu-check-default-partial.xml | 14 +-
.../qemuxml2xmlout-cpu-check-default-partial2.xml | 14 +-
.../qemuxml2xmlout-cpu-check-full.xml | 14 +-
.../qemuxml2xmlout-cpu-check-none.xml | 14 +-
.../qemuxml2xmlout-cpu-check-partial.xml | 14 +-
.../qemuxml2xmlout-cpu-empty.xml | 14 +-
.../qemuxml2xmlout-cpu-eoi-disabled.xml | 14 +-
.../qemuxml2xmlout-cpu-eoi-enabled.xml | 14 +-
.../qemuxml2xmlout-cpu-host-kvmclock.xml | 14 +-
.../qemuxml2xmlout-cpu-host-model-features.xml | 15 +-
...emuxml2xmlout-cpu-host-passthrough-features.xml | 16 +-
.../qemuxml2xmlout-cpu-kvmclock.xml | 14 +-
.../qemuxml2xmlout-cpu-numa-disjoint.xml | 14 +-
.../qemuxml2xmlout-cpu-numa-disordered.xml | 14 +-
.../qemuxml2xmlout-cpu-numa-memshared.xml | 14 +-
.../qemuxml2xmlout-cpu-numa-no-memory-element.xml | 14 +-
.../qemuxml2xmlout-cpu-numa1.xml | 14 +-
.../qemuxml2xmlout-cpu-numa2.xml | 14 +-
.../qemuxml2xmlout-cputune-iothreads.xml | 16 +-
...l2xmlout-cputune-iothreadsched-zeropriority.xml | 16 +-
.../qemuxml2xmlout-cputune-iothreadsched.xml | 16 +-
.../qemuxml2xmlout-cputune-numatune.xml | 17 +-
.../qemuxml2xmlout-cputune-zero-shares.xml | 16 +-
.../qemuxml2xmloutdata/qemuxml2xmlout-cputune.xml | 16 +-
.../qemuxml2xmlout-default-kvm-host-arch.xml | 14 +-
.../qemuxml2xmlout-default-qemu-host-arch.xml | 14 +-
.../qemuxml2xmlout-disk-active-commit.xml | 16 +-
.../qemuxml2xmloutdata/qemuxml2xmlout-disk-aio.xml | 17 +-
.../qemuxml2xmlout-disk-backing-chains-active.xml | 19 +-
...qemuxml2xmlout-disk-backing-chains-inactive.xml | 19 +-
.../qemuxml2xmlout-disk-cdrom-empty.xml | 20 +-
.../qemuxml2xmlout-disk-cdrom.xml | 20 +-
.../qemuxml2xmlout-disk-copy_on_read.xml | 19 +-
.../qemuxml2xmlout-disk-drive-boot-cdrom.xml | 20 +-
.../qemuxml2xmlout-disk-drive-boot-disk.xml | 20 +-
.../qemuxml2xmlout-disk-drive-cache-directsync.xml | 20 +-
.../qemuxml2xmlout-disk-drive-cache-unsafe.xml | 20 +-
.../qemuxml2xmlout-disk-drive-cache-v2-none.xml | 20 +-
.../qemuxml2xmlout-disk-drive-cache-v2-wb.xml | 20 +-
.../qemuxml2xmlout-disk-drive-cache-v2-wt.xml | 20 +-
.../qemuxml2xmlout-disk-drive-copy-on-read.xml | 16 +-
.../qemuxml2xmlout-disk-drive-discard.xml | 17 +-
...xml2xmlout-disk-drive-error-policy-enospace.xml | 20 +-
...qemuxml2xmlout-disk-drive-error-policy-stop.xml | 20 +-
...out-disk-drive-error-policy-wreport-rignore.xml | 20 +-
.../qemuxml2xmlout-disk-drive-fmt-qcow.xml | 20 +-
.../qemuxml2xmlout-disk-drive-network-gluster.xml | 20 +-
...emuxml2xmlout-disk-drive-network-iscsi-auth.xml | 19 +-
.../qemuxml2xmlout-disk-drive-network-iscsi.xml | 19 +-
...emuxml2xmlout-disk-drive-network-nbd-export.xml | 20 +-
...l2xmlout-disk-drive-network-nbd-ipv6-export.xml | 20 +-
.../qemuxml2xmlout-disk-drive-network-nbd-ipv6.xml | 20 +-
.../qemuxml2xmlout-disk-drive-network-nbd-unix.xml | 20 +-
.../qemuxml2xmlout-disk-drive-network-nbd.xml | 20 +-
.../qemuxml2xmlout-disk-drive-network-rbd-auth.xml | 20 +-
...uxml2xmlout-disk-drive-network-rbd-ceph-env.xml | 20 +-
.../qemuxml2xmlout-disk-drive-network-rbd-ipv6.xml | 20 +-
.../qemuxml2xmlout-disk-drive-network-rbd.xml | 23 ++-
.../qemuxml2xmlout-disk-drive-network-sheepdog.xml | 20 +-
.../qemuxml2xmlout-disk-drive-network-vxhs.xml | 18 +-
.../qemuxml2xmlout-disk-floppy.xml | 25 ++-
.../qemuxml2xmlout-disk-many.xml | 22 +-
.../qemuxml2xmlout-disk-mirror-active.xml | 19 +-
.../qemuxml2xmlout-disk-mirror-inactive.xml | 19 +-
.../qemuxml2xmlout-disk-mirror-old-inactive.xml | 19 +-
.../qemuxml2xmlout-disk-mirror-old.xml | 19 +-
.../qemuxml2xmlout-disk-scsi-device-auto.xml | 18 +-
.../qemuxml2xmlout-disk-scsi-device.xml | 18 +-
.../qemuxml2xmlout-disk-scsi-disk-vpd.xml | 18 +-
...muxml2xmlout-disk-scsi-lun-passthrough-sgio.xml | 18 +-
.../qemuxml2xmlout-disk-scsi-megasas.xml | 18 +-
.../qemuxml2xmlout-disk-scsi-mptsas1068.xml | 18 +-
.../qemuxml2xmlout-disk-scsi-virtio-scsi.xml | 18 +-
.../qemuxml2xmlout-disk-scsi-vscsi.xml | 18 +-
.../qemuxml2xmlout-disk-source-pool-mode.xml | 19 +-
.../qemuxml2xmlout-disk-source-pool.xml | 18 +-
.../qemuxml2xmlout-disk-usb-device.xml | 17 +-
...qemuxml2xmlout-disk-virtio-scsi-cmd_per_lun.xml | 16 +-
.../qemuxml2xmlout-disk-virtio-scsi-ioeventfd.xml | 16 +-
...qemuxml2xmlout-disk-virtio-scsi-max_sectors.xml | 16 +-
.../qemuxml2xmlout-disk-virtio-scsi-num_queues.xml | 16 +-
.../qemuxml2xmlout-disk-virtio.xml | 22 +-
.../qemuxml2xmlout-encrypted-disk.xml | 15 +-
.../qemuxml2xmlout-eoi-disabled.xml | 14 +-
.../qemuxml2xmlout-eoi-enabled.xml | 14 +-
.../qemuxml2xmlout-event_idx.xml | 19 +-
.../qemuxml2xmlout-floppy-drive-fat.xml | 20 +-
.../qemuxml2xmlout-graphics-listen-network.xml | 17 +-
.../qemuxml2xmlout-graphics-listen-network2.xml | 17 +-
.../qemuxml2xmlout-graphics-sdl-fullscreen.xml | 20 +-
.../qemuxml2xmlout-graphics-sdl.xml | 20 +-
...muxml2xmlout-graphics-spice-auto-socket-cfg.xml | 19 +-
.../qemuxml2xmlout-graphics-spice-auto-socket.xml | 19 +-
.../qemuxml2xmlout-graphics-spice-compression.xml | 18 +-
.../qemuxml2xmlout-graphics-spice-qxl-vga.xml | 18 +-
.../qemuxml2xmlout-graphics-spice-socket.xml | 19 +-
.../qemuxml2xmlout-graphics-spice-timeout.xml | 25 ++-
.../qemuxml2xmlout-graphics-spice.xml | 18 +-
...qemuxml2xmlout-graphics-vnc-auto-socket-cfg.xml | 20 +-
.../qemuxml2xmlout-graphics-vnc-auto-socket.xml | 19 +-
.../qemuxml2xmlout-graphics-vnc-no-listen-attr.xml | 20 +-
...graphics-vnc-remove-generated-socket-active.xml | 20 +-
...aphics-vnc-remove-generated-socket-inactive.xml | 20 +-
.../qemuxml2xmlout-graphics-vnc-sasl.xml | 20 +-
.../qemuxml2xmlout-graphics-vnc-socket.xml | 19 +-
.../qemuxml2xmlout-graphics-vnc-tls.xml | 20 +-
.../qemuxml2xmlout-graphics-vnc-websocket.xml | 18 +-
.../qemuxml2xmlout-graphics-vnc.xml | 20 +-
.../qemuxml2xmlout-hostdev-mdev-precreated.xml | 20 +-
.../qemuxml2xmlout-hostdev-pci-address.xml | 20 +-
...qemuxml2xmlout-hostdev-scsi-autogen-address.xml | 29 ++-
.../qemuxml2xmlout-hostdev-scsi-large-unit.xml | 18 +-
.../qemuxml2xmlout-hostdev-scsi-lsi-iscsi-auth.xml | 19 +-
.../qemuxml2xmlout-hostdev-scsi-lsi-iscsi.xml | 19 +-
.../qemuxml2xmlout-hostdev-scsi-lsi.xml | 18 +-
.../qemuxml2xmlout-hostdev-scsi-rawio.xml | 18 +-
.../qemuxml2xmlout-hostdev-scsi-readonly.xml | 18 +-
.../qemuxml2xmlout-hostdev-scsi-sgio.xml | 18 +-
.../qemuxml2xmlout-hostdev-scsi-shareable.xml | 18 +-
...muxml2xmlout-hostdev-scsi-virtio-iscsi-auth.xml | 19 +-
.../qemuxml2xmlout-hostdev-scsi-virtio-iscsi.xml | 19 +-
.../qemuxml2xmlout-hostdev-scsi-virtio-scsi.xml | 18 +-
.../qemuxml2xmlout-hostdev-usb-address.xml | 20 +-
.../qemuxml2xmlout-hostdev-vfio.xml | 17 +-
.../qemuxml2xmlout-hugepages-pages.xml | 16 +-
.../qemuxml2xmlout-hugepages-pages2.xml | 16 +-
.../qemuxml2xmlout-hugepages-pages3.xml | 16 +-
.../qemuxml2xmlout-hugepages-shared.xml | 16 +-
.../qemuxml2xmlout-hugepages.xml | 16 +-
.../qemuxml2xmlout-hyperv-off.xml | 14 +-
.../qemuxml2xmlout-hyperv-panic.xml | 17 +-
tests/qemuxml2xmloutdata/qemuxml2xmlout-hyperv.xml | 17 +-
.../qemuxml2xmlout-input-usbmouse.xml | 23 ++-
.../qemuxml2xmlout-input-usbtablet.xml | 23 ++-
.../qemuxml2xmlout-intel-iommu-machine.xml | 17 +-
.../qemuxml2xmlout-intel-iommu.xml | 17 +-
.../qemuxml2xmlout-interface-driver.xml | 21 +-
.../qemuxml2xmlout-interface-server.xml | 33 ++-
.../qemuxml2xmlout-iothreads-disk-virtio-ccw.xml | 7 +-
.../qemuxml2xmlout-iothreads-disk.xml | 21 +-
.../qemuxml2xmlout-iothreads-ids-partial.xml | 19 +-
.../qemuxml2xmlout-iothreads-ids.xml | 19 +-
.../qemuxml2xmlout-iothreads-virtio-scsi-ccw.xml | 8 +-
.../qemuxml2xmlout-iothreads-virtio-scsi-pci.xml | 22 +-
.../qemuxml2xmlout-iothreads.xml | 19 +-
.../qemuxml2xmlout-kvm-features-off.xml | 14 +-
.../qemuxml2xmlout-kvm-features.xml | 17 +-
.../qemuxml2xmloutdata/qemuxml2xmlout-kvmclock.xml | 17 +-
tests/qemuxml2xmloutdata/qemuxml2xmlout-lease.xml | 17 +-
.../qemuxml2xmlout-machine-core-off.xml | 19 +-
.../qemuxml2xmlout-machine-core-on.xml | 19 +-
...t-machine-loadparm-multiple-disks-nets-s390.xml | 5 +
.../qemuxml2xmlout-memory-hotplug-dimm.xml | 18 +-
.../qemuxml2xmlout-memory-hotplug-nonuma.xml | 14 +-
.../qemuxml2xmlout-memory-hotplug.xml | 16 +-
.../qemuxml2xmlout-memorybacking-set.xml | 14 +-
.../qemuxml2xmlout-memorybacking-unset.xml | 14 +-
.../qemuxml2xmlout-memtune-unlimited.xml | 16 +-
.../qemuxml2xmloutdata/qemuxml2xmlout-memtune.xml | 16 +-
.../qemuxml2xmlout-metadata-duplicate.xml | 16 +-
.../qemuxml2xmloutdata/qemuxml2xmlout-metadata.xml | 16 +-
.../qemuxml2xmloutdata/qemuxml2xmlout-migrate.xml | 19 +-
.../qemuxml2xmloutdata/qemuxml2xmlout-minimal.xml | 16 +-
.../qemuxml2xmlout-misc-acpi.xml | 19 +-
.../qemuxml2xmlout-misc-disable-s3.xml | 19 +-
.../qemuxml2xmlout-misc-disable-suspends.xml | 19 +-
.../qemuxml2xmlout-misc-enable-s4.xml | 19 +-
.../qemuxml2xmlout-misc-no-reboot.xml | 19 +-
.../qemuxml2xmlout-misc-uuid.xml | 19 +-
.../qemuxml2xmlout-net-bandwidth.xml | 27 ++-
.../qemuxml2xmlout-net-bandwidth2.xml | 25 ++-
.../qemuxml2xmlout-net-coalesce.xml | 22 +-
.../qemuxml2xmlout-net-eth-hostip.xml | 20 +-
.../qemuxml2xmlout-net-eth-ifname.xml | 20 +-
.../qemuxml2xmloutdata/qemuxml2xmlout-net-eth.xml | 20 +-
.../qemuxml2xmlout-net-hostdev-vfio.xml | 17 +-
.../qemuxml2xmlout-net-hostdev.xml | 17 +-
.../qemuxml2xmlout-net-midonet.xml | 17 +-
.../qemuxml2xmloutdata/qemuxml2xmlout-net-mtu.xml | 22 +-
.../qemuxml2xmlout-net-openvswitch.xml | 17 +-
.../qemuxml2xmloutdata/qemuxml2xmlout-net-udp.xml | 17 +-
.../qemuxml2xmloutdata/qemuxml2xmlout-net-user.xml | 20 +-
.../qemuxml2xmlout-net-vhostuser.xml | 22 +-
.../qemuxml2xmlout-net-virtio-device.xml | 17 +-
.../qemuxml2xmlout-net-virtio-disable-offloads.xml | 17 +-
...qemuxml2xmlout-net-virtio-network-portgroup.xml | 19 +-
.../qemuxml2xmlout-net-virtio-rxtxqueuesize.xml | 17 +-
.../qemuxml2xmlout-net-virtio.xml | 20 +-
.../qemuxml2xmlout-nographics-vga.xml | 19 +-
.../qemuxml2xmlout-nosharepages.xml | 19 +-
...emuxml2xmlout-numad-auto-memory-vcpu-cpuset.xml | 16 +-
...ad-auto-memory-vcpu-no-cpuset-and-placement.xml | 16 +-
.../qemuxml2xmlout-numad-auto-vcpu-no-numatune.xml | 16 +-
...emuxml2xmlout-numad-static-vcpu-no-numatune.xml | 16 +-
.../qemuxml2xmlout-numatune-auto-prefer.xml | 14 +-
.../qemuxml2xmlout-numatune-memnode-no-memory.xml | 14 +-
.../qemuxml2xmlout-numatune-memnode.xml | 14 +-
.../qemuxml2xmlout-panic-double.xml | 17 +-
.../qemuxml2xmlout-panic-isa.xml | 20 +-
.../qemuxml2xmlout-panic-no-address.xml | 20 +-
.../qemuxml2xmlout-panic-pseries.xml | 8 +-
tests/qemuxml2xmloutdata/qemuxml2xmlout-panic.xml | 20 +-
.../qemuxml2xmlout-pci-autoadd-addr.xml | 24 ++-
.../qemuxml2xmlout-pci-autoadd-idx.xml | 25 ++-
.../qemuxml2xmlout-pci-autofill-addr.xml | 17 +-
.../qemuxml2xmlout-pci-bridge-many-disks.xml | 125 +++++++++++-
.../qemuxml2xmlout-pci-bridge.xml | 51 ++++-
.../qemuxml2xmlout-pci-expander-bus.xml | 52 ++++-
.../qemuxml2xmloutdata/qemuxml2xmlout-pci-many.xml | 45 ++++-
.../qemuxml2xmloutdata/qemuxml2xmlout-pci-rom.xml | 20 +-
.../qemuxml2xmlout-pci-serial-dev-chardev.xml | 18 +-
.../qemuxml2xmlout-pcie-expander-bus.xml | 85 +++++++-
...qemuxml2xmlout-pcie-root-port-model-generic.xml | 20 +-
...qemuxml2xmlout-pcie-root-port-model-ioh3420.xml | 19 +-
.../qemuxml2xmlout-pcie-root-port.xml | 21 +-
.../qemuxml2xmlout-pcie-root.xml | 17 +-
.../qemuxml2xmlout-pcie-switch-downstream-port.xml | 29 ++-
.../qemuxml2xmlout-pcie-switch-upstream-port.xml | 23 ++-
.../qemuxml2xmlout-pcihole64-gib.xml | 11 +-
.../qemuxml2xmlout-pcihole64-none.xml | 11 +-
.../qemuxml2xmlout-pcihole64-q35.xml | 16 +-
.../qemuxml2xmlout-pcihole64.xml | 11 +-
.../qemuxml2xmlout-pmu-feature-off.xml | 17 +-
.../qemuxml2xmlout-pmu-feature.xml | 17 +-
.../qemuxml2xmlout-ppc64-usb-controller-legacy.xml | 3 +
.../qemuxml2xmlout-ppc64-usb-controller.xml | 3 +
.../qemuxml2xmlout-pseries-cpu-compat-power9.xml | 8 +-
.../qemuxml2xmlout-pseries-cpu-compat.xml | 8 +-
.../qemuxml2xmlout-pseries-cpu-exact.xml | 8 +-
.../qemuxml2xmlout-pseries-hostdevs-1.xml | 14 +-
.../qemuxml2xmlout-pseries-hostdevs-2.xml | 14 +-
.../qemuxml2xmlout-pseries-hostdevs-3.xml | 13 +-
.../qemuxml2xmlout-pseries-many-buses-1.xml | 11 +-
.../qemuxml2xmlout-pseries-many-buses-2.xml | 11 +-
.../qemuxml2xmlout-pseries-many-devices.xml | 42 +++-
.../qemuxml2xmlout-pseries-nvram.xml | 6 +-
.../qemuxml2xmlout-pseries-panic-missing.xml | 8 +-
.../qemuxml2xmlout-pseries-panic-no-address.xml | 8 +-
.../qemuxml2xmlout-pseries-phb-default-missing.xml | 11 +-
.../qemuxml2xmlout-pseries-phb-numa-node.xml | 12 +-
.../qemuxml2xmlout-pseries-phb-simple.xml | 11 +-
.../qemuxml2xmlout-pv-spinlock-disabled.xml | 14 +-
.../qemuxml2xmlout-pv-spinlock-enabled.xml | 14 +-
.../qemuxml2xmlout-q35-default-devices-only.xml | 18 +-
.../qemuxml2xmlout-q35-multifunction.xml | 33 ++-
.../qemuxml2xmlout-q35-pci-force-address.xml | 26 ++-
.../qemuxml2xmlout-q35-pcie-autoadd.xml | 41 +++-
.../qemuxml2xmloutdata/qemuxml2xmlout-q35-pcie.xml | 42 +++-
.../qemuxml2xmlout-q35-usb2-multi.xml | 33 ++-
.../qemuxml2xmlout-q35-usb2-reorder.xml | 33 ++-
.../qemuxml2xmloutdata/qemuxml2xmlout-q35-usb2.xml | 25 ++-
.../qemuxml2xmlout-q35-virt-manager-basic.xml | 33 ++-
.../qemuxml2xmlout-q35-virtio-pci.xml | 42 +++-
tests/qemuxml2xmloutdata/qemuxml2xmlout-q35.xml | 23 ++-
.../qemuxml2xmlout-qemu-ns-no-env.xml | 19 +-
.../qemuxml2xmlout-reboot-timeout-disabled.xml | 17 +-
.../qemuxml2xmlout-reboot-timeout-enabled.xml | 17 +-
.../qemuxml2xmlout-restore-v2.xml | 19 +-
.../qemuxml2xmlout-s390-defaultconsole.xml | 9 +-
.../qemuxml2xmlout-s390-panic-missing.xml | 3 +
.../qemuxml2xmlout-s390-panic-no-address.xml | 3 +
.../qemuxml2xmlout-s390-panic.xml | 3 +
.../qemuxml2xmlout-seclabel-dac-none.xml | 16 +-
.../qemuxml2xmlout-seclabel-device-multiple.xml | 16 +-
.../qemuxml2xmlout-seclabel-dynamic-baselabel.xml | 16 +-
.../qemuxml2xmlout-seclabel-dynamic-labelskip.xml | 16 +-
...emuxml2xmlout-seclabel-dynamic-none-relabel.xml | 18 +-
.../qemuxml2xmlout-seclabel-dynamic-none.xml | 16 +-
.../qemuxml2xmlout-seclabel-dynamic-override.xml | 17 +-
.../qemuxml2xmlout-seclabel-dynamic-relabel.xml | 16 +-
.../qemuxml2xmlout-seclabel-none.xml | 16 +-
.../qemuxml2xmlout-seclabel-static-labelskip.xml | 16 +-
.../qemuxml2xmlout-seclabel-static.xml | 16 +-
.../qemuxml2xmlout-serial-spiceport-nospice.xml | 18 +-
.../qemuxml2xmlout-serial-spiceport.xml | 23 ++-
.../qemuxml2xmlout-serial-target-port-auto.xml | 20 +-
.../qemuxml2xmlout-serial-tcp-tlsx509-chardev.xml | 19 +-
.../qemuxml2xmlout-shmem-plain-doorbell.xml | 25 ++-
tests/qemuxml2xmloutdata/qemuxml2xmlout-shmem.xml | 25 ++-
.../qemuxml2xmlout-smartcard-controller.xml | 19 +-
.../qemuxml2xmlout-smartcard-host-certificates.xml | 19 +-
.../qemuxml2xmlout-smartcard-host.xml | 19 +-
...muxml2xmlout-smartcard-passthrough-spicevmc.xml | 19 +-
.../qemuxml2xmlout-smartcard-passthrough-tcp.xml | 19 +-
.../qemuxml2xmlout-smbios-multiple-type2.xml | 16 +-
tests/qemuxml2xmloutdata/qemuxml2xmlout-smbios.xml | 16 +-
tests/qemuxml2xmloutdata/qemuxml2xmlout-smp.xml | 19 +-
.../qemuxml2xmlout-sound-device.xml | 34 +++-
tests/qemuxml2xmloutdata/qemuxml2xmlout-sound.xml | 29 ++-
.../qemuxml2xmlout-tap-vhost-incorrect.xml | 20 +-
.../qemuxml2xmlout-tap-vhost.xml | 21 +-
.../qemuxml2xmlout-tpm-passthrough.xml | 15 +-
.../qemuxml2xmlout-usb-controller-default-q35.xml | 18 +-
.../qemuxml2xmlout-usb-controller-explicit-q35.xml | 18 +-
.../qemuxml2xmlout-usb-controller.xml | 14 +-
.../qemuxml2xmlout-usb-ich9-ehci-addr.xml | 25 ++-
.../qemuxml2xmloutdata/qemuxml2xmlout-usb-none.xml | 17 +-
.../qemuxml2xmlout-usb-piix3-controller.xml | 14 +-
.../qemuxml2xmlout-usb-port-missing.xml | 17 +-
.../qemuxml2xmlout-usb-redir-filter-version.xml | 16 +-
.../qemuxml2xmlout-usb-redir-filter.xml | 19 +-
.../qemuxml2xmlout-usb-redir.xml | 19 +-
.../qemuxml2xmlout-vcpu-placement-static.xml | 17 +-
.../qemuxml2xmlout-vhost_queues.xml | 21 +-
...qemuxml2xmlout-video-device-pciaddr-default.xml | 19 +-
.../qemuxml2xmlout-video-qxl-heads.xml | 19 +-
.../qemuxml2xmlout-video-qxl-noheads.xml | 17 +-
.../qemuxml2xmlout-video-virtio-gpu-device.xml | 17 +-
.../qemuxml2xmlout-video-virtio-gpu-secondary.xml | 16 +-
.../qemuxml2xmlout-video-virtio-gpu-spice-gl.xml | 17 +-
.../qemuxml2xmlout-video-virtio-gpu-virgl.xml | 17 +-
.../qemuxml2xmlout-virtio-input-passthrough.xml | 15 +-
.../qemuxml2xmlout-virtio-input.xml | 17 +-
.../qemuxml2xmlout-virtio-lun.xml | 19 +-
.../qemuxml2xmlout-virtio-rng-egd.xml | 15 +-
.../qemuxml2xmlout-virtio-rng-random.xml | 15 +-
.../qemuxml2xmloutdata/qemuxml2xmlout-watchdog.xml | 23 ++-
tests/qemuxml2xmltest.c | 63 +++++-
499 files changed, 7768 insertions(+), 1683 deletions(-)
--
2.13.5
7 years
[libvirt] [PATCH v6 0/2] Add support for qcow2 cache
by Liu Qing
Qcow2 small IO random write performance will drop dramatically if the l2
cache table could not cover the whole disk. This will be a lot of l2
cache table RW operations if cache miss happens frequently.
This patch exports the qcow2 driver parameter
l2-cache-size/refcount-cache-size, first added in Qemu 2.2, and
cache-clean-interval, first added in Qemu 2.5, in libvirt.
change since v4: removed unnecessary cache error check
Liu Qing (2):
conf, docs: Add qcow2 cache configuration support
qemu: add capability checking for qcow2 cache configuration
docs/formatdomain.html.in | 41 +++++++++
docs/schemas/domaincommon.rng | 35 ++++++++
src/conf/domain_conf.c | 97 ++++++++++++++++++++--
src/qemu/qemu_capabilities.c | 11 +++
src/qemu/qemu_capabilities.h | 5 ++
src/qemu/qemu_command.c | 33 ++++++++
src/qemu/qemu_driver.c | 5 ++
src/util/virstoragefile.c | 3 +
src/util/virstoragefile.h | 6 ++
tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml | 3 +
.../caps_2.6.0-gicv2.aarch64.xml | 3 +
.../caps_2.6.0-gicv3.aarch64.xml | 3 +
tests/qemucapabilitiesdata/caps_2.6.0.ppc64le.xml | 3 +
tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml | 3 +
tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml | 3 +
tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml | 3 +
tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml | 3 +
tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml | 3 +
tests/qemucapabilitiesdata/caps_2.9.0.ppc64le.xml | 3 +
tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml | 3 +
tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml | 3 +
.../qemuxml2argv-disk-drive-qcow2-cache.args | 28 +++++++
.../qemuxml2argv-disk-drive-qcow2-cache.xml | 43 ++++++++++
tests/qemuxml2argvtest.c | 4 +
.../qemuxml2xmlout-disk-drive-qcow2-cache.xml | 43 ++++++++++
tests/qemuxml2xmltest.c | 1 +
26 files changed, 384 insertions(+), 7 deletions(-)
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-drive-qcow2-cache.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-drive-qcow2-cache.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-qcow2-cache.xml
--
1.8.3.1
7 years
[libvirt] [PATCH v2 0/2] Add multiqueue support for virtio-blk
by Lin Ma
The multiqueue for virtio-blk was introduced since qemu 2.7.0.
These patches supported it and update test data for it.
v1 -> v2:
Follow Ján Tomko's suggestion:
* move qemu_capabilities.{ch} to patch 1/2.
* use virStrToLong_uip instead of virStrToLong_ui.
* move virtio disk check code from formatter to virDomainDiskDefValidate.
not sure if it's the right place because Ján suggests to qemuDomain*DefValidate.
* if qemu doesn't have num-queues support, report error instead of doing nothing.
Lin Ma (2):
qemucapstest: Update test data for 'num-queues' property of virtio-blk
qemu: Support multiqueue virtio-blk
docs/formatdomain.html.in | 6 +++-
docs/schemas/domaincommon.rng | 5 ++++
src/conf/domain_conf.c | 18 ++++++++++++
src/conf/domain_conf.h | 1 +
src/qemu/qemu_capabilities.c | 2 ++
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_command.c | 7 +++++
src/qemu/qemu_domain.c | 24 +++++++++++++++
src/qemu/qemu_domain.h | 3 ++
tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml | 1 +
tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml | 1 +
tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml | 1 +
tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.9.0.ppc64le.xml | 1 +
tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml | 1 +
tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml | 1 +
.../qemuxml2argv-disk-virtio-drive-queues.args | 24 +++++++++++++++
.../qemuxml2argv-disk-virtio-drive-queues.xml | 34 ++++++++++++++++++++++
tests/qemuxml2argvtest.c | 2 ++
.../qemuxml2xmlout-disk-virtio-drive-queues.xml | 34 ++++++++++++++++++++++
tests/qemuxml2xmltest.c | 1 +
23 files changed, 170 insertions(+), 1 deletion(-)
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-drive-queues.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-drive-queues.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-virtio-drive-queues.xml
--
2.9.2
7 years
[libvirt] [PATCH v4 00/15] Use secret objects to pass iSCSI passwords
by John Ferlan
v3: https://www.redhat.com/archives/libvir-list/2017-September/msg00881.html
Difference with v3:
Add patch 3 to perform virStorageSourceCopy for qemu and storage source
private data.
Adjust the move encinfo from private disk to private disk src to handle
the Copy for the @encinfo too
Repeated from cover of v3:
v2: https://www.redhat.com/archives/libvir-list/2017-September/msg00466.html
Changes since v2:
* Former Patch 1 & 2 were pushed
* New Patch 1 is former Patches 3 and parts of 4 combined appropriately
-> Allow <auth> under <disk> or <source> - keep track of where it was found
so that format prints in the right place
-> Cleaned up the tests and new xml/args files
* Patch 2 is part of the former patch 6 - just the new _virStorageSource
* Patch 3 is new - to introduced an allocator for domain_conf to create
a _virStorageSource
* Patch 4 is new - as stated found that the @diskPriv->encinfo wasn't
cleaned up properly
* Patch 5 is the rest of the former patch 6
* Patch 6 is the former patch 7 with some minor adjustments to allow
<encryption> to follow <auth> and be both child of <disk> and <source>
* Patch 7 is the former patch 10 with minor change to perform free of
encinfo properly (e.g. from patch 4)
* Patch 8 is former patch 5 and 9 combined
* Patch 9 is new - to use the virStorageSource for iscsisrc instead of
just three fields we wanted
* Patch 10 is new to alter the existing hostdevPriv to use diskSrcPriv
* Patch 11 is new to remove the hostdevPriv as it's no longer necesary
* Patch 12 is new to split up a change in qemuBuildSCSIiSCSIHostdevDrvStr
from the last patch
* Patch 13 is the former patch 13
* Patch 14 is altered to accomodate the hostdev usage if virStorageSource
for iscsisrc->src instead of that hack that was there before.
John Ferlan (15):
conf: Add/Allow parsing the auth in the disk source
qemu: Introduce privateData for _virStorageSource
qemu: Introduce qemuDomainStorageSourceCopy
conf: Introduce virDomainDiskStorageSourceNew
qemu: Add missing encinfo cleanup
qemu: Relocate qemuDomainSecretInfoPtr from disk private
conf: Add/Allow parsing the encryption in the disk source
qemu: Move encinfo from private disk to private disk src
docs: Add news article regarding auth/encryption placement
conf,qemu: Replace iscsisrc fields with virStorageSourcePtr
qemu: Use private disksrc for iscsi instead of private hostdev
qemu: Remove private hostdev
qemu: Refactor qemuBuildSCSIiSCSIHostdevDrvStr slightly
qemu: Get capabilities to use iscsi password-secret argument
qemu: Use secret objects to pass iSCSI passwords
docs/formatdomain.html.in | 82 ++++---
docs/news.xml | 13 ++
docs/schemas/domaincommon.rng | 48 +++-
src/conf/domain_conf.c | 255 ++++++++++++++++-----
src/conf/domain_conf.h | 10 +-
src/lxc/lxc_native.c | 2 +-
src/qemu/qemu_block.c | 64 +++++-
src/qemu/qemu_blockjob.c | 2 +-
src/qemu/qemu_capabilities.c | 2 +
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_command.c | 84 +++++--
src/qemu/qemu_command.h | 3 +-
src/qemu/qemu_domain.c | 163 +++++++++----
src/qemu/qemu_domain.h | 37 ++-
src/qemu/qemu_driver.c | 8 +-
src/qemu/qemu_hotplug.c | 71 +++++-
src/qemu/qemu_parse_command.c | 4 +-
src/util/virstoragefile.c | 2 +
src/util/virstoragefile.h | 5 +
src/vbox/vbox_common.c | 2 +-
src/xenconfig/xen_common.c | 2 +-
src/xenconfig/xen_sxpr.c | 2 +-
src/xenconfig/xen_xl.c | 2 +-
.../qemuargv2xml-disk-drive-network-rbd-auth.xml | 6 +-
tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml | 1 +
tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.9.0.ppc64le.xml | 1 +
tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml | 1 +
tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml | 1 +
...xml2argv-disk-drive-network-iscsi-auth-AES.args | 41 ++++
...uxml2argv-disk-drive-network-iscsi-auth-AES.xml | 43 ++++
...ml2argv-disk-drive-network-source-auth-both.xml | 51 +++++
...emuxml2argv-disk-drive-network-source-auth.args | 32 +++
...qemuxml2argv-disk-drive-network-source-auth.xml | 45 ++++
...ml2argv-hostdev-scsi-virtio-iscsi-auth-AES.args | 45 ++++
...xml2argv-hostdev-scsi-virtio-iscsi-auth-AES.xml | 48 ++++
.../qemuxml2argv-luks-disks-source-both.xml | 40 ++++
.../qemuxml2argv-luks-disks-source.args | 62 +++++
.../qemuxml2argv-luks-disks-source.xml | 81 +++++++
tests/qemuxml2argvtest.c | 14 ++
...muxml2xmlout-disk-drive-network-source-auth.xml | 49 ++++
.../qemuxml2xmlout-luks-disks-source.xml | 84 +++++++
.../qemuxml2xmlout-luks-disks.xml | 46 +++-
tests/qemuxml2xmltest.c | 2 +
tests/virhostdevtest.c | 2 +-
tests/virstoragetest.c | 6 +
46 files changed, 1346 insertions(+), 220 deletions(-)
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-iscsi-auth-AES.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-iscsi-auth-AES.xml
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-source-auth-both.xml
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-source-auth.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-source-auth.xml
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-hostdev-scsi-virtio-iscsi-auth-AES.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-hostdev-scsi-virtio-iscsi-auth-AES.xml
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-luks-disks-source-both.xml
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-luks-disks-source.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-luks-disks-source.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-network-source-auth.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-luks-disks-source.xml
mode change 120000 => 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-luks-disks.xml
--
2.13.5
7 years
[libvirt] [PATCH alt] conf: Allow user define their own alias
by Michal Privoznik
https://bugzilla.redhat.com/show_bug.cgi?id=1434451
It comes handy for management application to be able to have a
per-device label so that it can uniquely identify devices it
cares about. The advantage of this approach is that we don't have
to generate aliases at define time (non trivial amount of work
and problems). The only thing we do is parse the user supplied
tag and format it back. For instance:
<disk type='block' device='disk'>
<driver name='qemu' type='raw'/>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
<alias user='myDisk0'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
An alternative approach to:
https://www.redhat.com/archives/libvir-list/2017-September/msg00765.html
Honestly, I prefer this one as it's simpler and we don't have to care about
devices changing their aliases on cold plug. I mean, on cold (un-)plug we'd
have to regenerate the aliases so it might be hard to track certain device.
But with this approach, it's no problem.
Also, I'm not completely convinced about the name of @user attribute. So I'm
open for suggestions.
docs/schemas/domaincommon.rng | 13 +++++++---
src/conf/device_conf.c | 1 +
src/conf/device_conf.h | 1 +
src/conf/domain_conf.c | 20 ++++++++++-----
tests/genericxml2xmlindata/generic-user-alias.xml | 31 +++++++++++++++++++++++
tests/genericxml2xmltest.c | 2 ++
6 files changed, 59 insertions(+), 9 deletions(-)
create mode 100644 tests/genericxml2xmlindata/generic-user-alias.xml
diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng
index bac371ea3..69c121ce9 100644
--- a/docs/schemas/domaincommon.rng
+++ b/docs/schemas/domaincommon.rng
@@ -5864,9 +5864,16 @@
</define>
<define name='alias'>
<element name='alias'>
- <attribute name='name'>
- <ref name='aliasName'/>
- </attribute>
+ <optional>
+ <attribute name='name'>
+ <ref name='aliasName'/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name='user'>
+ <ref name='aliasName'/>
+ </attribute>
+ </optional>
</element>
<empty/>
</define>
diff --git a/src/conf/device_conf.c b/src/conf/device_conf.c
index d69f94fad..ced5db123 100644
--- a/src/conf/device_conf.c
+++ b/src/conf/device_conf.c
@@ -57,6 +57,7 @@ void
virDomainDeviceInfoClear(virDomainDeviceInfoPtr info)
{
VIR_FREE(info->alias);
+ VIR_FREE(info->user);
memset(&info->addr, 0, sizeof(info->addr));
info->type = VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE;
VIR_FREE(info->romfile);
diff --git a/src/conf/device_conf.h b/src/conf/device_conf.h
index f87d6f1fc..08a9e57e3 100644
--- a/src/conf/device_conf.h
+++ b/src/conf/device_conf.h
@@ -135,6 +135,7 @@ typedef struct _virDomainDeviceInfo virDomainDeviceInfo;
typedef virDomainDeviceInfo *virDomainDeviceInfoPtr;
struct _virDomainDeviceInfo {
char *alias;
+ char *user; /* user defined ID for the device */
int type; /* virDomainDeviceAddressType */
union {
virPCIDeviceAddress pci;
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 87192eb2d..885825226 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -5756,6 +5756,8 @@ virDomainDeviceInfoFormat(virBufferPtr buf,
virDomainDeviceInfoPtr info,
unsigned int flags)
{
+ bool formatAlias = info->alias && !(flags & VIR_DOMAIN_DEF_FORMAT_INACTIVE);
+
if ((flags & VIR_DOMAIN_DEF_FORMAT_ALLOW_BOOT) && info->bootIndex) {
virBufferAsprintf(buf, "<boot order='%u'", info->bootIndex);
@@ -5764,9 +5766,13 @@ virDomainDeviceInfoFormat(virBufferPtr buf,
virBufferAddLit(buf, "/>\n");
}
- if (info->alias &&
- !(flags & VIR_DOMAIN_DEF_FORMAT_INACTIVE)) {
- virBufferAsprintf(buf, "<alias name='%s'/>\n", info->alias);
+ if (formatAlias || info->user) {
+ virBufferAddLit(buf, "<alias");
+ if (formatAlias)
+ virBufferAsprintf(buf, " name='%s'", info->alias);
+ if (info->user)
+ virBufferAsprintf(buf, " user='%s'", info->user);
+ virBufferAddLit(buf, "/>\n");
}
if (info->mastertype == VIR_DOMAIN_CONTROLLER_MASTER_USB) {
@@ -6327,7 +6333,6 @@ virDomainDeviceInfoParseXML(xmlNodePtr node,
while (cur != NULL) {
if (cur->type == XML_ELEMENT_NODE) {
if (alias == NULL &&
- !(flags & VIR_DOMAIN_DEF_PARSE_INACTIVE) &&
virXMLNodeNameEqual(cur, "alias")) {
alias = cur;
} else if (address == NULL &&
@@ -6349,8 +6354,11 @@ virDomainDeviceInfoParseXML(xmlNodePtr node,
cur = cur->next;
}
- if (alias)
- info->alias = virXMLPropString(alias, "name");
+ if (alias) {
+ if (!(flags & VIR_DOMAIN_DEF_PARSE_INACTIVE))
+ info->alias = virXMLPropString(alias, "name");
+ info->user = virXMLPropString(alias, "user");
+ }
if (master) {
info->mastertype = VIR_DOMAIN_CONTROLLER_MASTER_USB;
diff --git a/tests/genericxml2xmlindata/generic-user-alias.xml b/tests/genericxml2xmlindata/generic-user-alias.xml
new file mode 100644
index 000000000..025924442
--- /dev/null
+++ b/tests/genericxml2xmlindata/generic-user-alias.xml
@@ -0,0 +1,31 @@
+<domain type='qemu'>
+ <name>QEMUGuest1</name>
+ <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+ <memory unit='KiB'>219136</memory>
+ <currentMemory unit='KiB'>219136</currentMemory>
+ <vcpu placement='static'>1</vcpu>
+ <os>
+ <type arch='i686' machine='pc'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/bin/qemu-system-i686</emulator>
+ <disk type='block' device='disk'>
+ <driver name='qemu' type='raw'/>
+ <source dev='/dev/HostVG/QEMUGuest1'/>
+ <target dev='hda' bus='ide'/>
+ <alias user='myDisk0'/>
+ <address type='drive' controller='0' bus='0' target='0' unit='0'/>
+ </disk>
+ <controller type='usb' index='0'>
+ <alias user='myController0'/>
+ </controller>
+ <controller type='ide' index='0'/>
+ <controller type='pci' index='0' model='pci-root'/>
+ <memballoon model='none'/>
+ </devices>
+</domain>
diff --git a/tests/genericxml2xmltest.c b/tests/genericxml2xmltest.c
index 0377a05e9..63a62f6a5 100644
--- a/tests/genericxml2xmltest.c
+++ b/tests/genericxml2xmltest.c
@@ -130,6 +130,8 @@ mymain(void)
DO_TEST_FULL("chardev-reconnect-invalid-mode", 0, false,
TEST_COMPARE_DOM_XML2XML_RESULT_FAIL_PARSE);
+ DO_TEST("user-alias");
+
virObjectUnref(caps);
virObjectUnref(xmlopt);
--
2.13.5
7 years