[PATCH] virDevMapperGetTargets: Fix non-linux implementation
by Peter Krempa
s/GSlist/GSList/
Fixes: 6c49c2ee9fcb88de02cdc333f666a8e95d60a3b0
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
src/util/virdevmapper.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/util/virdevmapper.c b/src/util/virdevmapper.c
index e42324fd19..7796e7719b 100644
--- a/src/util/virdevmapper.c
+++ b/src/util/virdevmapper.c
@@ -342,7 +342,7 @@ virIsDevMapperDevice(const char *dev_name)
int
virDevMapperGetTargets(const char *path G_GNUC_UNUSED,
- GSlist **devPaths G_GNUC_UNUSED)
+ GSList **devPaths G_GNUC_UNUSED)
{
errno = ENOSYS;
return -1;
--
2.31.1
3 years, 3 months
[PATCH 0/3] schemas: Couple of nodedev related fixes
by Michal Privoznik
These three patches address the first three problems raised in
https://bugzilla.redhat.com/show_bug.cgi?id=1999420
The fourth one is a bit different because I'm failing to find a path in
the code that would allow empty <capability/> for vdpa.
Michal Prívozník (3):
schemas: Make <type/> for capscsi type optional
schemas: Provide grammar for scsi_generic capabilities
schemas: Allow <unique_id/> to be zero
docs/schemas/nodedev.rng | 21 +++++++++++++++++----
1 file changed, 17 insertions(+), 4 deletions(-)
--
2.32.0
3 years, 3 months
[PATCH 0/3] meson: Misc tweaks
by Michal Privoznik
Pipeline: https://gitlab.com/MichalPrivoznik/libvirt/-/pipelines/370312403
Michal Prívozník (3):
lib: Use $PROG instead of $PROG_PATH
meson: Don't set $PROG_PATH macros
meson: Enable ZFS storage backend more often
meson.build | 24 +++++-----
src/util/virfirewall.c | 8 ++--
src/util/virnetdevip.c | 14 +++---
tests/virfirewalltest.c | 98 ++++++++++++++++++++---------------------
4 files changed, 71 insertions(+), 73 deletions(-)
--
2.32.0
3 years, 3 months
[PATCH 00/14] qemu: more 'query-command-line-options' cleanups
by Peter Krempa
In a private conversation Markus dug out the history of certain of the
flags we probe via 'query-command-line-options'. I already had some
patches for this but without the history or justification.
To prevent us going through this again I've decided to send some more
removal of capability bits based on stuff that all qemu's we support
have.
Peter Krempa (14):
qemu: command: Always assume 'QEMU_CAPS_BOOT_STRICT'
qemu: capabilities: Retire QEMU_CAPS_BOOT_STRICT
tests: qemuxml2argv: Remove negative case for 'reboot-timeout-enabled'
qemu: Always assume QEMU_CAPS_REBOOT_TIMEOUT
qemu: capabilities: Retire QEMU_CAPS_REBOOT_TIMEOUT
qemuxml2argvtest: Remove negative case for
'boot-menu-enable-with-timeout'
qemu: Always assume QEMU_CAPS_SPLASH_TIMEOUT
qemu: capabilities: Retire QEMU_CAPS_SPLASH_TIMEOUT
qemu: Always assume QEMU_CAPS_MEM_MERGE
qemu: capabilities: QEMU_CAPS_MEM_MERGE
qemu: capabilities: Assume QEMU_CAPS_AES_KEY_WRAP and
QEMU_CAPS_DEA_KEY_WRAP for s390 only
qemu: capabilities: Assume QEMU_CAPS_LOADPARM for s390 only
qemu: Assume QEMU_CAPS_FW_CFG
qemu: capabilities: Retire QEMU_CAPS_FW_CFG
src/qemu/qemu_capabilities.c | 27 ++++++------
src/qemu/qemu_capabilities.h | 10 ++---
src/qemu/qemu_command.c | 10 ++---
src/qemu/qemu_validate.c | 42 ++-----------------
.../caps_2.11.0.s390x.xml | 5 ---
.../caps_2.11.0.x86_64.xml | 8 ----
.../caps_2.12.0.aarch64.xml | 8 ----
.../caps_2.12.0.ppc64.xml | 8 ----
.../caps_2.12.0.s390x.xml | 5 ---
.../caps_2.12.0.x86_64.xml | 8 ----
.../qemucapabilitiesdata/caps_3.0.0.ppc64.xml | 8 ----
.../caps_3.0.0.riscv32.xml | 8 ----
.../caps_3.0.0.riscv64.xml | 8 ----
.../qemucapabilitiesdata/caps_3.0.0.s390x.xml | 5 ---
.../caps_3.0.0.x86_64.xml | 8 ----
.../qemucapabilitiesdata/caps_3.1.0.ppc64.xml | 8 ----
.../caps_3.1.0.x86_64.xml | 8 ----
.../caps_4.0.0.aarch64.xml | 8 ----
.../qemucapabilitiesdata/caps_4.0.0.ppc64.xml | 8 ----
.../caps_4.0.0.riscv32.xml | 8 ----
.../caps_4.0.0.riscv64.xml | 8 ----
.../qemucapabilitiesdata/caps_4.0.0.s390x.xml | 5 ---
.../caps_4.0.0.x86_64.xml | 8 ----
.../caps_4.1.0.x86_64.xml | 8 ----
.../caps_4.2.0.aarch64.xml | 8 ----
.../qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 8 ----
.../qemucapabilitiesdata/caps_4.2.0.s390x.xml | 5 ---
.../caps_4.2.0.x86_64.xml | 8 ----
.../caps_5.0.0.aarch64.xml | 8 ----
.../qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 8 ----
.../caps_5.0.0.riscv64.xml | 8 ----
.../caps_5.0.0.x86_64.xml | 8 ----
.../qemucapabilitiesdata/caps_5.1.0.sparc.xml | 8 ----
.../caps_5.1.0.x86_64.xml | 8 ----
.../caps_5.2.0.aarch64.xml | 8 ----
.../qemucapabilitiesdata/caps_5.2.0.ppc64.xml | 8 ----
.../caps_5.2.0.riscv64.xml | 8 ----
.../qemucapabilitiesdata/caps_5.2.0.s390x.xml | 5 ---
.../caps_5.2.0.x86_64.xml | 8 ----
.../caps_6.0.0.aarch64.xml | 8 ----
.../qemucapabilitiesdata/caps_6.0.0.s390x.xml | 5 ---
.../caps_6.0.0.x86_64.xml | 8 ----
.../caps_6.1.0.x86_64.xml | 8 ----
.../aarch64-aavmf-virtio-mmio.args | 1 +
tests/qemuxml2argvdata/aarch64-acpi-uefi.args | 1 +
.../aarch64-cpu-passthrough.args | 1 +
tests/qemuxml2argvdata/aarch64-gic-host.args | 1 +
.../aarch64-gic-none-tcg.args | 1 +
tests/qemuxml2argvdata/aarch64-gic-v2.args | 1 +
tests/qemuxml2argvdata/aarch64-gic-v3.args | 1 +
.../aarch64-kvm-32-on-64.args | 1 +
.../aarch64-noacpi-nouefi.args | 1 +
.../qemuxml2argvdata/aarch64-noacpi-uefi.args | 1 +
.../qemuxml2argvdata/aarch64-pci-serial.args | 1 +
.../aarch64-traditional-pci.args | 1 +
.../aarch64-usb-controller-nec-xhci.args | 1 +
.../aarch64-usb-controller-qemu-xhci.args | 1 +
.../aarch64-video-default.args | 1 +
.../aarch64-video-virtio-gpu-pci.args | 1 +
.../aarch64-virt-2.6-virtio-pci-default.args | 1 +
.../aarch64-virt-default-nic.args | 1 +
.../qemuxml2argvdata/aarch64-virt-virtio.args | 1 +
.../aarch64-virtio-pci-default.args | 1 +
.../aarch64-virtio-pci-manual-addresses.args | 1 +
tests/qemuxml2argvdata/acpi-table.args | 1 +
.../arm-vexpressa9-basic.args | 1 +
.../arm-vexpressa9-nodevs.args | 1 +
.../arm-vexpressa9-virtio.args | 1 +
tests/qemuxml2argvdata/arm-virt-virtio.args | 1 +
tests/qemuxml2argvdata/audio-alsa-best.args | 1 +
.../qemuxml2argvdata/audio-alsa-minimal.args | 1 +
.../audio-coreaudio-best.args | 1 +
.../audio-coreaudio-minimal.args | 1 +
.../audio-default-nographics.args | 1 +
tests/qemuxml2argvdata/audio-default-sdl.args | 1 +
.../qemuxml2argvdata/audio-default-spice.args | 1 +
tests/qemuxml2argvdata/audio-default-vnc.args | 1 +
tests/qemuxml2argvdata/audio-file-best.args | 1 +
.../qemuxml2argvdata/audio-file-minimal.args | 1 +
tests/qemuxml2argvdata/audio-none-best.args | 1 +
.../qemuxml2argvdata/audio-none-minimal.args | 1 +
tests/qemuxml2argvdata/audio-oss-best.args | 1 +
tests/qemuxml2argvdata/audio-oss-minimal.args | 1 +
.../audio-pulseaudio-best.args | 1 +
.../audio-pulseaudio-minimal.args | 1 +
tests/qemuxml2argvdata/audio-sdl-best.args | 1 +
tests/qemuxml2argvdata/audio-sdl-minimal.args | 1 +
tests/qemuxml2argvdata/audio-spice-best.args | 1 +
.../qemuxml2argvdata/audio-spice-minimal.args | 1 +
tests/qemuxml2argvdata/autoindex.args | 1 +
.../qemuxml2argvdata/balloon-ccw-deflate.args | 1 +
.../qemuxml2argvdata/balloon-device-auto.args | 1 +
.../balloon-device-deflate-off.args | 1 +
.../balloon-device-deflate.args | 1 +
.../balloon-device-period.args | 1 +
tests/qemuxml2argvdata/balloon-device.args | 1 +
.../balloon-mmio-deflate.args | 1 +
tests/qemuxml2argvdata/bios-nvram-secure.args | 2 +-
tests/qemuxml2argvdata/bios-nvram.args | 2 +-
tests/qemuxml2argvdata/bios.args | 2 +-
tests/qemuxml2argvdata/blkiotune-device.args | 1 +
tests/qemuxml2argvdata/blkiotune.args | 1 +
tests/qemuxml2argvdata/boot-cdrom.args | 1 +
tests/qemuxml2argvdata/boot-complex.args | 1 +
tests/qemuxml2argvdata/boot-floppy-q35.args | 1 +
tests/qemuxml2argvdata/boot-floppy.args | 1 +
.../boot-menu-disable-drive.args | 2 +-
tests/qemuxml2argvdata/boot-menu-disable.args | 2 +-
.../boot-menu-enable-with-timeout.args | 2 +-
.../boot-menu-enable-with-timeout.err | 1 -
tests/qemuxml2argvdata/boot-menu-enable.args | 2 +-
tests/qemuxml2argvdata/boot-multi.args | 2 +-
tests/qemuxml2argvdata/boot-network.args | 1 +
tests/qemuxml2argvdata/boot-order.args | 1 +
tests/qemuxml2argvdata/channel-guestfwd.args | 1 +
tests/qemuxml2argvdata/channel-spicevmc.args | 1 +
.../qemuxml2argvdata/channel-virtio-auto.args | 1 +
.../channel-virtio-autoadd.args | 1 +
.../channel-virtio-autoassign.args | 1 +
.../channel-virtio-default.args | 1 +
.../channel-virtio-state.args | 1 +
.../qemuxml2argvdata/channel-virtio-unix.args | 1 +
tests/qemuxml2argvdata/channel-virtio.args | 1 +
tests/qemuxml2argvdata/chardev-reconnect.args | 1 +
tests/qemuxml2argvdata/clock-catchup.args | 1 +
tests/qemuxml2argvdata/clock-france.args | 1 +
tests/qemuxml2argvdata/clock-hpet-off.args | 1 +
.../clock-localtime-basis-localtime.args | 1 +
tests/qemuxml2argvdata/clock-localtime.args | 1 +
tests/qemuxml2argvdata/clock-realtime.args | 1 +
.../clock-timer-hyperv-rtc.args | 1 +
tests/qemuxml2argvdata/clock-utc.args | 1 +
tests/qemuxml2argvdata/clock-variable.args | 1 +
.../qemuxml2argvdata/console-compat-auto.args | 1 +
.../console-compat-chardev.args | 1 +
tests/qemuxml2argvdata/console-compat.args | 1 +
.../qemuxml2argvdata/console-virtio-ccw.args | 1 +
.../qemuxml2argvdata/console-virtio-many.args | 1 +
tests/qemuxml2argvdata/console-virtio.args | 1 +
tests/qemuxml2argvdata/controller-order.args | 2 +-
tests/qemuxml2argvdata/cpu-Haswell-noTSX.args | 1 +
tests/qemuxml2argvdata/cpu-Haswell.args | 1 +
tests/qemuxml2argvdata/cpu-Haswell2.args | 1 +
tests/qemuxml2argvdata/cpu-Haswell3.args | 1 +
tests/qemuxml2argvdata/cpu-cache-disable.args | 1 +
.../qemuxml2argvdata/cpu-cache-disable2.args | 1 +
.../qemuxml2argvdata/cpu-cache-disable3.args | 1 +
.../cpu-cache-emulate-l3.args | 1 +
.../cpu-cache-passthrough.args | 1 +
.../cpu-cache-passthrough2.args | 1 +
.../cpu-check-default-none.args | 1 +
.../cpu-check-default-none2.args | 1 +
.../cpu-check-default-partial.args | 1 +
.../cpu-check-default-partial2.args | 1 +
tests/qemuxml2argvdata/cpu-check-none.args | 1 +
tests/qemuxml2argvdata/cpu-eoi-disabled.args | 1 +
tests/qemuxml2argvdata/cpu-eoi-enabled.args | 1 +
tests/qemuxml2argvdata/cpu-exact1.args | 1 +
.../cpu-exact2-nofallback.args | 1 +
tests/qemuxml2argvdata/cpu-exact2.args | 1 +
tests/qemuxml2argvdata/cpu-fallback.args | 1 +
tests/qemuxml2argvdata/cpu-host-kvmclock.args | 1 +
.../qemuxml2argvdata/cpu-host-model-cmt.args | 1 +
.../cpu-host-model-fallback.args | 1 +
.../cpu-host-model-vendor.args | 1 +
tests/qemuxml2argvdata/cpu-host-model.args | 1 +
.../cpu-host-passthrough-features.args | 1 +
.../cpu-host-passthrough.args | 1 +
.../qemuxml2argvdata/cpu-hotplug-startup.args | 1 +
tests/qemuxml2argvdata/cpu-kvmclock.args | 1 +
tests/qemuxml2argvdata/cpu-minimum1.args | 1 +
tests/qemuxml2argvdata/cpu-minimum2.args | 1 +
.../cpu-no-removed-features.args | 1 +
tests/qemuxml2argvdata/cpu-numa-disjoint.args | 1 +
.../qemuxml2argvdata/cpu-numa-memshared.args | 1 +
.../cpu-numa-no-memory-element.args | 1 +
tests/qemuxml2argvdata/cpu-numa1.args | 1 +
tests/qemuxml2argvdata/cpu-numa2.args | 1 +
tests/qemuxml2argvdata/cpu-s390-features.args | 1 +
tests/qemuxml2argvdata/cpu-s390-zEC12.args | 1 +
tests/qemuxml2argvdata/cpu-strict1.args | 1 +
tests/qemuxml2argvdata/cpu-topology1.args | 1 +
tests/qemuxml2argvdata/cpu-topology2.args | 1 +
tests/qemuxml2argvdata/cpu-topology3.args | 1 +
tests/qemuxml2argvdata/cpu-tsc-frequency.args | 1 +
tests/qemuxml2argvdata/cputune-numatune.args | 1 +
.../qemuxml2argvdata/cputune-zero-shares.args | 1 +
tests/qemuxml2argvdata/cputune.args | 1 +
.../default-kvm-host-arch.args | 1 +
.../default-qemu-host-arch.args | 1 +
tests/qemuxml2argvdata/disk-aio.args | 1 +
tests/qemuxml2argvdata/disk-blockio.args | 1 +
tests/qemuxml2argvdata/disk-boot-cdrom.args | 1 +
tests/qemuxml2argvdata/disk-boot-disk.args | 1 +
.../qemuxml2argvdata/disk-cdrom-network.args | 1 +
tests/qemuxml2argvdata/disk-cdrom-tray.args | 2 +-
tests/qemuxml2argvdata/disk-cdrom.args | 1 +
tests/qemuxml2argvdata/disk-copy_on_read.args | 2 +-
tests/qemuxml2argvdata/disk-error-policy.args | 1 +
tests/qemuxml2argvdata/disk-floppy-tray.args | 1 +
tests/qemuxml2argvdata/disk-floppy.args | 1 +
tests/qemuxml2argvdata/disk-fmt-qcow.args | 1 +
tests/qemuxml2argvdata/disk-geometry.args | 1 +
tests/qemuxml2argvdata/disk-ide-split.args | 1 +
tests/qemuxml2argvdata/disk-ide-wwn.args | 1 +
tests/qemuxml2argvdata/disk-ioeventfd.args | 2 +-
tests/qemuxml2argvdata/disk-iscsi.args | 1 +
.../disk-network-gluster.args | 1 +
.../disk-network-iscsi-modern.args | 1 +
.../qemuxml2argvdata/disk-network-iscsi.args | 1 +
tests/qemuxml2argvdata/disk-network-nbd.args | 1 +
.../disk-network-sheepdog.args | 1 +
.../disk-network-source-auth.args | 1 +
tests/qemuxml2argvdata/disk-network-vxhs.args | 1 +
tests/qemuxml2argvdata/disk-no-boot.args | 1 +
tests/qemuxml2argvdata/disk-order.args | 1 +
.../qemuxml2argvdata/disk-readonly-disk.args | 1 +
tests/qemuxml2argvdata/disk-sata-device.args | 1 +
.../disk-scsi-disk-split.args | 1 +
.../qemuxml2argvdata/disk-scsi-disk-vpd.args | 1 +
.../qemuxml2argvdata/disk-scsi-disk-wwn.args | 1 +
.../disk-scsi-lun-passthrough.args | 1 +
tests/qemuxml2argvdata/disk-serial.args | 1 +
tests/qemuxml2argvdata/disk-snapshot.args | 1 +
.../disk-source-pool-mode.args | 1 +
tests/qemuxml2argvdata/disk-source-pool.args | 1 +
.../disk-usb-device-removable.args | 1 +
tests/qemuxml2argvdata/disk-usb-device.args | 1 +
.../disk-virtio-ccw-many.args | 1 +
tests/qemuxml2argvdata/disk-virtio-ccw.args | 1 +
.../qemuxml2argvdata/disk-virtio-queues.args | 1 +
.../disk-virtio-s390-zpci.args | 1 +
tests/qemuxml2argvdata/disk-virtio.args | 1 +
.../encrypted-disk-usage.args | 1 +
tests/qemuxml2argvdata/encrypted-disk.args | 1 +
tests/qemuxml2argvdata/event_idx.args | 2 +-
.../fd-memory-no-numa-topology.args | 1 +
.../fd-memory-numa-topology.args | 1 +
.../fd-memory-numa-topology2.args | 1 +
.../fd-memory-numa-topology3.args | 1 +
tests/qemuxml2argvdata/floppy-drive-fat.args | 1 +
tests/qemuxml2argvdata/fs9p-ccw.args | 1 +
tests/qemuxml2argvdata/fs9p.args | 1 +
.../graphics-egl-headless.args | 1 +
.../graphics-sdl-fullscreen.args | 1 +
tests/qemuxml2argvdata/graphics-sdl.args | 1 +
.../graphics-spice-agent-file-xfer.args | 1 +
.../graphics-spice-agentmouse.args | 1 +
.../graphics-spice-auto-socket-cfg.args | 1 +
.../graphics-spice-auto-socket.args | 1 +
.../graphics-spice-compression.args | 1 +
.../graphics-spice-egl-headless.args | 1 +
.../graphics-spice-no-args.args | 1 +
.../graphics-spice-qxl-vga.args | 1 +
.../qemuxml2argvdata/graphics-spice-sasl.args | 1 +
.../graphics-spice-socket.args | 1 +
.../graphics-spice-timeout.args | 2 +-
.../graphics-spice-usb-redir.args | 1 +
tests/qemuxml2argvdata/graphics-spice.args | 1 +
.../graphics-vnc-auto-socket-cfg.args | 1 +
.../graphics-vnc-auto-socket.args | 1 +
.../graphics-vnc-egl-headless.args | 1 +
.../graphics-vnc-no-listen-attr.args | 1 +
tests/qemuxml2argvdata/graphics-vnc-none.args | 1 +
.../qemuxml2argvdata/graphics-vnc-policy.args | 1 +
.../graphics-vnc-remove-generated-socket.args | 1 +
tests/qemuxml2argvdata/graphics-vnc-sasl.args | 1 +
.../graphics-vnc-socket-new-cmdline.args | 1 +
.../qemuxml2argvdata/graphics-vnc-socket.args | 1 +
tests/qemuxml2argvdata/graphics-vnc-tls.args | 1 +
.../graphics-vnc-websocket.args | 1 +
tests/qemuxml2argvdata/graphics-vnc.args | 1 +
.../hostdev-mdev-precreated.args | 1 +
.../hostdev-pci-address-device.args | 1 +
.../hostdev-pci-address-unassigned.args | 1 +
.../qemuxml2argvdata/hostdev-pci-address.args | 1 +
.../hostdev-pci-multifunction.args | 1 +
.../hostdev-scsi-vhost-scsi-ccw.args | 1 +
.../hostdev-scsi-vhost-scsi-pci.args | 1 +
.../hostdev-scsi-vhost-scsi-pcie.args | 1 +
.../hostdev-subsys-mdev-vfio-ccw.args | 1 +
.../hostdev-usb-address-device-boot.args | 1 +
.../hostdev-usb-address-device.args | 1 +
.../qemuxml2argvdata/hostdev-usb-address.args | 1 +
.../hostdev-vfio-multidomain.args | 1 +
.../hostdev-vfio-zpci-autogenerate-fids.args | 1 +
.../hostdev-vfio-zpci-autogenerate-uids.args | 1 +
.../hostdev-vfio-zpci-autogenerate.args | 1 +
.../hostdev-vfio-zpci-boundaries.args | 1 +
.../hostdev-vfio-zpci-ccw-memballoon.args | 1 +
.../hostdev-vfio-zpci-multidomain-many.args | 1 +
tests/qemuxml2argvdata/hostdev-vfio-zpci.args | 1 +
tests/qemuxml2argvdata/hostdev-vfio.args | 1 +
tests/qemuxml2argvdata/hotplug-base.args | 1 +
.../hugepages-default-2M.args | 1 +
.../hugepages-default-system-size.args | 1 +
tests/qemuxml2argvdata/hugepages-default.args | 1 +
.../qemuxml2argvdata/hugepages-memaccess.args | 1 +
.../hugepages-memaccess2.args | 1 +
tests/qemuxml2argvdata/hugepages-nodeset.args | 1 +
.../hugepages-numa-default-2M.args | 1 +
.../hugepages-numa-default-dimm.args | 1 +
.../hugepages-numa-default.args | 1 +
.../hugepages-numa-nodeset-part.args | 1 +
.../hugepages-numa-nodeset.args | 1 +
tests/qemuxml2argvdata/hugepages-shared.args | 1 +
.../qemuxml2argvdata/input-usbmouse-addr.args | 1 +
tests/qemuxml2argvdata/input-usbmouse.args | 1 +
tests/qemuxml2argvdata/input-usbtablet.args | 1 +
tests/qemuxml2argvdata/input-virtio-ccw.args | 1 +
.../iothreads-disk-virtio-ccw.args | 1 +
tests/qemuxml2argvdata/iothreads-disk.args | 1 +
.../iothreads-ids-partial.args | 1 +
tests/qemuxml2argvdata/iothreads-ids.args | 1 +
tests/qemuxml2argvdata/iothreads.args | 1 +
tests/qemuxml2argvdata/kvm-features-off.args | 1 +
tests/qemuxml2argvdata/kvm-features.args | 1 +
tests/qemuxml2argvdata/kvm-pit-delay.args | 1 +
tests/qemuxml2argvdata/kvm-pit-discard.args | 1 +
tests/qemuxml2argvdata/kvmclock.args | 1 +
.../luks-disks-source-qcow2.args | 1 +
tests/qemuxml2argvdata/luks-disks-source.args | 1 +
tests/qemuxml2argvdata/luks-disks.args | 1 +
.../mach-virt-console-virtio.args | 1 +
.../mach-virt-serial-native.args | 1 +
.../mach-virt-serial-pci.args | 1 +
.../mach-virt-serial-usb.args | 1 +
.../machine-aeskeywrap-off-cap.args | 1 +
.../machine-aeskeywrap-off-caps.args | 1 +
.../machine-aeskeywrap-on-cap.args | 1 +
.../machine-aeskeywrap-on-caps.args | 1 +
tests/qemuxml2argvdata/machine-aliases1.args | 1 +
tests/qemuxml2argvdata/machine-aliases2.args | 1 +
tests/qemuxml2argvdata/machine-core-off.args | 1 +
tests/qemuxml2argvdata/machine-core-on.args | 1 +
.../machine-deakeywrap-off-cap.args | 1 +
.../machine-deakeywrap-off-caps.args | 1 +
.../machine-deakeywrap-on-cap.args | 1 +
.../machine-deakeywrap-on-caps.args | 1 +
.../machine-keywrap-none-caps.args | 1 +
.../machine-keywrap-none.args | 1 +
...ine-loadparm-multiple-disks-nets-s390.args | 1 +
.../machine-loadparm-net-s390.args | 1 +
.../machine-loadparm-s390.args | 1 +
tests/qemuxml2argvdata/machine-smm-opt.args | 1 +
.../qemuxml2argvdata/machine-vmport-opt.args | 1 +
tests/qemuxml2argvdata/master-key.args | 1 +
.../memory-hotplug-dimm-addr.args | 1 +
.../qemuxml2argvdata/memory-hotplug-dimm.args | 1 +
...emory-hotplug-nvdimm-ppc64-abi-update.args | 1 +
.../memory-hotplug-nvdimm-ppc64.args | 1 +
...emory-hotplug-ppc64-nonuma-abi-update.args | 1 +
.../memory-hotplug-ppc64-nonuma.args | 1 +
tests/qemuxml2argvdata/memory-hotplug.args | 1 +
tests/qemuxml2argvdata/memtune-unlimited.args | 1 +
tests/qemuxml2argvdata/memtune.args | 1 +
.../migrate-numa-unaligned.args | 1 +
tests/qemuxml2argvdata/migrate.args | 1 +
tests/qemuxml2argvdata/minimal.args | 1 +
tests/qemuxml2argvdata/misc-acpi.args | 1 +
tests/qemuxml2argvdata/misc-disable-s3.args | 1 +
.../misc-disable-suspends.args | 1 +
tests/qemuxml2argvdata/misc-enable-s4.args | 1 +
tests/qemuxml2argvdata/misc-no-reboot.args | 1 +
tests/qemuxml2argvdata/misc-uuid.args | 1 +
tests/qemuxml2argvdata/monitor-json.args | 1 +
.../multifunction-pci-device.args | 1 +
tests/qemuxml2argvdata/name-escape.args | 1 +
tests/qemuxml2argvdata/net-client.args | 1 +
tests/qemuxml2argvdata/net-eth-hostip.args | 1 +
tests/qemuxml2argvdata/net-eth-ifname.args | 1 +
tests/qemuxml2argvdata/net-eth-names.args | 1 +
.../net-eth-unmanaged-tap.args | 1 +
tests/qemuxml2argvdata/net-eth.args | 1 +
.../net-hostdev-bootorder.args | 1 +
.../net-hostdev-multidomain.args | 1 +
.../net-hostdev-vfio-multidomain.args | 1 +
tests/qemuxml2argvdata/net-hostdev-vfio.args | 1 +
tests/qemuxml2argvdata/net-hostdev.args | 1 +
tests/qemuxml2argvdata/net-many-models.args | 1 +
tests/qemuxml2argvdata/net-mcast.args | 1 +
tests/qemuxml2argvdata/net-server.args | 1 +
tests/qemuxml2argvdata/net-udp.args | 1 +
tests/qemuxml2argvdata/net-user-addr.args | 1 +
tests/qemuxml2argvdata/net-user.args | 1 +
.../net-vhostuser-multiq.args | 1 +
tests/qemuxml2argvdata/net-vhostuser.args | 1 +
tests/qemuxml2argvdata/net-virtio-ccw.args | 1 +
tests/qemuxml2argvdata/net-virtio-device.args | 1 +
.../net-virtio-disable-offloads.args | 1 +
tests/qemuxml2argvdata/net-virtio-netdev.args | 1 +
.../net-virtio-rxtxqueuesize.args | 1 +
.../net-virtio-teaming-hostdev.args | 1 +
.../qemuxml2argvdata/net-virtio-teaming.args | 1 +
tests/qemuxml2argvdata/net-virtio.args | 1 +
tests/qemuxml2argvdata/nosharepages.args | 1 +
.../numad-auto-memory-vcpu-cpuset.args | 1 +
...o-memory-vcpu-no-cpuset-and-placement.args | 1 +
.../numad-auto-vcpu-static-numatune.args | 1 +
.../numad-static-memory-auto-vcpu.args | 1 +
tests/qemuxml2argvdata/numad.args | 1 +
.../numatune-auto-nodeset-invalid.args | 1 +
.../numatune-auto-prefer.args | 1 +
.../qemuxml2argvdata/numatune-distances.args | 1 +
.../numatune-memnode-no-memory.args | 1 +
tests/qemuxml2argvdata/numatune-memnode.args | 1 +
tests/qemuxml2argvdata/numatune-memory.args | 1 +
tests/qemuxml2argvdata/numatune-no-vcpu.args | 1 +
.../qemuxml2argvdata/pages-dimm-discard.args | 1 +
.../pages-discard-hugepages.args | 1 +
tests/qemuxml2argvdata/pages-discard.args | 1 +
tests/qemuxml2argvdata/panic-double.args | 1 +
tests/qemuxml2argvdata/panic-no-address.args | 1 +
tests/qemuxml2argvdata/panic.args | 1 +
.../parallel-parport-chardev.args | 1 +
.../parallel-tcp-chardev.args | 1 +
tests/qemuxml2argvdata/pci-autoadd-addr.args | 1 +
tests/qemuxml2argvdata/pci-autoadd-idx.args | 1 +
tests/qemuxml2argvdata/pci-autofill-addr.args | 1 +
.../pci-bridge-many-disks.args | 1 +
tests/qemuxml2argvdata/pci-bridge.args | 1 +
tests/qemuxml2argvdata/pci-expander-bus.args | 1 +
tests/qemuxml2argvdata/pci-many.args | 1 +
tests/qemuxml2argvdata/pci-rom-disabled.args | 1 +
tests/qemuxml2argvdata/pci-rom.args | 1 +
.../pci-serial-dev-chardev.args | 1 +
tests/qemuxml2argvdata/pcie-expander-bus.args | 1 +
.../pcie-root-port-model-generic.args | 1 +
.../pcie-root-port-model-ioh3420.args | 1 +
tests/qemuxml2argvdata/pcie-root-port.args | 1 +
tests/qemuxml2argvdata/pcie-root.args | 1 +
.../pcie-switch-downstream-port.args | 1 +
.../pcie-switch-upstream-port.args | 1 +
tests/qemuxml2argvdata/pcihole64-q35.args | 1 +
tests/qemuxml2argvdata/pcihole64.args | 1 +
tests/qemuxml2argvdata/pmu-feature-off.args | 1 +
tests/qemuxml2argvdata/pmu-feature.args | 1 +
tests/qemuxml2argvdata/ppc-dtb.args | 1 +
.../ppc64-usb-controller-legacy.args | 1 +
.../ppc64-usb-controller-qemu-xhci.args | 1 +
.../ppc64-usb-controller.args | 1 +
tests/qemuxml2argvdata/ppce500-serial.args | 1 +
tests/qemuxml2argvdata/pseries-basic.args | 1 +
.../pseries-console-virtio.args | 1 +
.../pseries-cpu-compat-power9.args | 1 +
.../qemuxml2argvdata/pseries-cpu-compat.args | 1 +
tests/qemuxml2argvdata/pseries-cpu-exact.args | 1 +
tests/qemuxml2argvdata/pseries-cpu-le.args | 1 +
tests/qemuxml2argvdata/pseries-features.args | 1 +
.../qemuxml2argvdata/pseries-hostdevs-1.args | 1 +
.../qemuxml2argvdata/pseries-hostdevs-2.args | 1 +
.../qemuxml2argvdata/pseries-hostdevs-3.args | 1 +
.../pseries-machine-max-cpu-compat.args | 1 +
.../pseries-many-buses-1.args | 1 +
.../pseries-many-buses-2.args | 1 +
.../pseries-many-devices.args | 1 +
tests/qemuxml2argvdata/pseries-nvram.args | 1 +
.../pseries-panic-missing.args | 1 +
.../pseries-panic-no-address.args | 1 +
.../pseries-phb-default-missing.args | 1 +
.../pseries-phb-numa-node.args | 1 +
.../qemuxml2argvdata/pseries-phb-simple.args | 1 +
.../pseries-serial-native.args | 1 +
.../qemuxml2argvdata/pseries-serial-pci.args | 1 +
.../qemuxml2argvdata/pseries-serial-usb.args | 1 +
.../qemuxml2argvdata/pseries-usb-default.args | 1 +
tests/qemuxml2argvdata/pseries-usb-kbd.args | 1 +
tests/qemuxml2argvdata/pseries-usb-multi.args | 1 +
.../pseries-vio-user-assigned.args | 1 +
tests/qemuxml2argvdata/pseries-vio.args | 1 +
tests/qemuxml2argvdata/q35-acpi-nouefi.args | 1 +
tests/qemuxml2argvdata/q35-acpi-uefi.args | 1 +
.../q35-default-devices-only.args | 1 +
tests/qemuxml2argvdata/q35-multifunction.args | 1 +
tests/qemuxml2argvdata/q35-noacpi-nouefi.args | 1 +
.../q35-pci-force-address.args | 1 +
tests/qemuxml2argvdata/q35-pcie-autoadd.args | 1 +
tests/qemuxml2argvdata/q35-pcie.args | 1 +
.../q35-pm-disable-fallback.args | 1 +
tests/qemuxml2argvdata/q35-pm-disable.args | 1 +
tests/qemuxml2argvdata/q35-usb2-multi.args | 1 +
tests/qemuxml2argvdata/q35-usb2-reorder.args | 1 +
tests/qemuxml2argvdata/q35-usb2.args | 1 +
.../q35-virt-manager-basic.args | 1 +
tests/qemuxml2argvdata/q35-virtio-pci.args | 1 +
tests/qemuxml2argvdata/q35.args | 1 +
tests/qemuxml2argvdata/qemu-ns-alt.args | 1 +
.../qemu-ns-commandline-ns0.args | 1 +
.../qemu-ns-commandline-ns1.args | 1 +
.../qemuxml2argvdata/qemu-ns-commandline.args | 1 +
.../qemu-ns-domain-commandline-ns0.args | 1 +
.../qemu-ns-domain-commandline.args | 1 +
.../qemuxml2argvdata/qemu-ns-domain-ns0.args | 1 +
tests/qemuxml2argvdata/qemu-ns-no-env.args | 1 +
.../reboot-timeout-disabled.args | 2 +-
.../reboot-timeout-enabled.args | 2 +-
.../reboot-timeout-enabled.err | 1 -
tests/qemuxml2argvdata/restore-v2-fd.args | 1 +
tests/qemuxml2argvdata/restore-v2.args | 1 +
tests/qemuxml2argvdata/riscv64-virt-pci.args | 1 +
tests/qemuxml2argvdata/riscv64-virt.args | 1 +
.../qemuxml2argvdata/s390-panic-missing.args | 1 +
.../s390-panic-no-address.args | 1 +
tests/qemuxml2argvdata/s390-serial-2.args | 1 +
.../qemuxml2argvdata/s390-serial-console.args | 1 +
tests/qemuxml2argvdata/s390-serial.args | 1 +
tests/qemuxml2argvdata/seclabel-dac-none.args | 1 +
.../seclabel-dynamic-baselabel.args | 1 +
.../seclabel-dynamic-labelskip.args | 1 +
.../seclabel-dynamic-override.args | 1 +
.../seclabel-dynamic-relabel.args | 1 +
tests/qemuxml2argvdata/seclabel-dynamic.args | 1 +
tests/qemuxml2argvdata/seclabel-none.args | 1 +
.../seclabel-static-labelskip.args | 1 +
.../seclabel-static-relabel.args | 1 +
tests/qemuxml2argvdata/seclabel-static.args | 1 +
.../serial-dev-chardev-iobase.args | 1 +
.../qemuxml2argvdata/serial-dev-chardev.args | 1 +
.../qemuxml2argvdata/serial-file-chardev.args | 1 +
tests/qemuxml2argvdata/serial-file-log.args | 1 +
.../qemuxml2argvdata/serial-many-chardev.args | 1 +
.../qemuxml2argvdata/serial-pty-chardev.args | 1 +
.../serial-spiceport-nospice.args | 1 +
tests/qemuxml2argvdata/serial-spiceport.args | 1 +
.../qemuxml2argvdata/serial-tcp-chardev.args | 1 +
.../serial-tcp-telnet-chardev.args | 1 +
.../serial-tcp-tlsx509-chardev-notls.args | 1 +
.../serial-tcp-tlsx509-chardev-verify.args | 1 +
.../serial-tcp-tlsx509-chardev.args | 1 +
.../serial-tcp-tlsx509-secret-chardev.args | 1 +
.../qemuxml2argvdata/serial-udp-chardev.args | 1 +
.../qemuxml2argvdata/serial-unix-chardev.args | 1 +
tests/qemuxml2argvdata/serial-vc-chardev.args | 1 +
.../shmem-plain-doorbell.args | 1 +
tests/qemuxml2argvdata/shmem.args | 1 +
.../smartcard-controller.args | 1 +
.../smartcard-host-certificates-database.args | 1 +
.../smartcard-host-certificates.args | 1 +
tests/qemuxml2argvdata/smartcard-host.args | 1 +
.../smartcard-passthrough-spicevmc.args | 1 +
.../smartcard-passthrough-tcp.args | 1 +
tests/qemuxml2argvdata/smbios-type-fwcfg.args | 1 +
tests/qemuxml2argvdata/smbios.args | 1 +
tests/qemuxml2argvdata/smp-dies.args | 1 +
tests/qemuxml2argvdata/smp.args | 1 +
tests/qemuxml2argvdata/sound-device.args | 1 +
tests/qemuxml2argvdata/sound.args | 1 +
tests/qemuxml2argvdata/sparc-minimal.args | 1 +
.../usb-controller-default-q35.args | 1 +
.../usb-controller-explicit-q35.args | 1 +
.../usb-controller-qemu-xhci.args | 1 +
.../qemuxml2argvdata/usb-controller-xhci.args | 1 +
tests/qemuxml2argvdata/usb-controller.args | 1 +
.../usb-hub-autoadd-deluxe.args | 1 +
tests/qemuxml2argvdata/usb-hub-autoadd.args | 1 +
tests/qemuxml2argvdata/usb-hub.args | 1 +
.../qemuxml2argvdata/usb-ich9-autoassign.args | 1 +
.../qemuxml2argvdata/usb-ich9-companion.args | 1 +
.../qemuxml2argvdata/usb-ich9-ehci-addr.args | 1 +
.../qemuxml2argvdata/usb-long-port-path.args | 1 +
tests/qemuxml2argvdata/usb-none.args | 1 +
.../usb-piix3-controller.args | 1 +
.../qemuxml2argvdata/usb-port-autoassign.args | 1 +
tests/qemuxml2argvdata/usb-port-missing.args | 1 +
tests/qemuxml2argvdata/usb-ports.args | 1 +
tests/qemuxml2argvdata/usb-redir-boot.args | 1 +
.../usb-redir-filter-version.args | 1 +
tests/qemuxml2argvdata/usb-redir-filter.args | 1 +
tests/qemuxml2argvdata/usb-redir.args | 1 +
.../qemuxml2argvdata/usb-xhci-autoassign.args | 1 +
tests/qemuxml2argvdata/usb1-usb2.args | 1 +
tests/qemuxml2argvdata/user-aliases-usb.args | 1 +
tests/qemuxml2argvdata/user-aliases.args | 1 +
.../vcpu-placement-static.args | 1 +
.../video-device-pciaddr-default.args | 1 +
tests/qemuxml2argvdata/video-none-device.args | 1 +
.../video-qxl-device-vgamem.args | 1 +
tests/qemuxml2argvdata/video-qxl-device.args | 1 +
tests/qemuxml2argvdata/video-qxl-heads.args | 1 +
tests/qemuxml2argvdata/video-qxl-noheads.args | 1 +
.../video-qxl-resolution.args | 1 +
.../video-qxl-sec-device-vgamem.args | 1 +
.../video-qxl-sec-device.args | 1 +
.../video-vga-device-vgamem.args | 1 +
tests/qemuxml2argvdata/video-vga-device.args | 1 +
.../qemuxml2argvdata/video-vga-qxl-heads.args | 1 +
.../video-virtio-gpu-ccw.args | 1 +
.../video-virtio-gpu-device.args | 1 +
.../video-virtio-gpu-sdl-gl.args | 1 +
.../video-virtio-gpu-secondary.args | 1 +
.../video-virtio-gpu-spice-gl.args | 1 +
.../video-virtio-gpu-virgl.args | 1 +
tests/qemuxml2argvdata/video-virtio-vga.args | 1 +
.../virtio-input-passthrough.args | 1 +
tests/qemuxml2argvdata/virtio-input.args | 1 +
tests/qemuxml2argvdata/virtio-lun.args | 2 +-
tests/qemuxml2argvdata/virtio-rng-ccw.args | 1 +
.../qemuxml2argvdata/virtio-rng-default.args | 1 +
tests/qemuxml2argvdata/virtio-rng-egd.args | 1 +
.../qemuxml2argvdata/virtio-rng-multiple.args | 1 +
tests/qemuxml2argvdata/virtio-rng-random.args | 1 +
tests/qemuxml2argvdata/vmcoreinfo.args | 1 +
tests/qemuxml2argvdata/watchdog-device.args | 1 +
tests/qemuxml2argvdata/watchdog-dump.args | 1 +
.../qemuxml2argvdata/watchdog-injectnmi.args | 1 +
tests/qemuxml2argvdata/watchdog.args | 1 +
tests/qemuxml2argvdata/x86-kvm-32-on-64.args | 1 +
tests/qemuxml2argvtest.c | 17 +++-----
tests/qemuxml2xmltest.c | 8 ++--
609 files changed, 596 insertions(+), 390 deletions(-)
delete mode 100644 tests/qemuxml2argvdata/boot-menu-enable-with-timeout.err
delete mode 100644 tests/qemuxml2argvdata/reboot-timeout-enabled.err
--
2.31.1
3 years, 3 months
[PATCH v5 00/16] Introduce virtio-mem <memory/> model
by Michal Privoznik
v4 of:
https://listman.redhat.com/archives/libvir-list/2021-June/msg00679.html
diff to v4:
- Rebased onto current master
- Worked in David's suggestions, e.g. rename from <actual/> to
<current/>, implemented offline memory update, implemented --node
argument to virsh update-memory-device, prealloc is OFF and reserve is
ON for virtio-mem
Some suggestions are left as future work. For instance:
- Don't require memory slots because virtio-mem lives on PCI bus anyway
- Allow path backed backend for virtio-mem
- support .prealloc for virtio-mem object (not memory-backend-* !)
I keep occasionally rebased version on my gitlab:
https://gitlab.com/MichalPrivoznik/libvirt/-/commits/virtio_mem_v5/
Michal Prívozník (16):
virhostmem: Introduce virHostMemGetTHPSize()
qemu_capabilities: Introduce QEMU_CAPS_DEVICE_VIRTIO_MEM_PCI
qemu_capabilities: Introduce QEMU_CAPS_MEMORY_BACKEND_RESERVE
conf: Introduce virtio-mem <memory/> model
qemu: Build command line for virtio-mem
qemu: Wire up <memory/> live update
qemu: Wire up <memory/> offline update
Introduce <current/> property to virtio-mem
conf: Introduce virDomainMemoryFindByDeviceAlias()
qemu: Wire up MEMORY_DEVICE_SIZE_CHANGE event
qemu: Refresh the current size of virtio-mem on monitor reconnect
qemu: Account for both memballoon and virtio-mem
qemuDomainSetMemoryFlags: Take virtio-mem into consideration
virsh: Introduce update-memory-device command
news: document recent virtio memory addition
kbase: Document virtio-mem
NEWS.rst | 7 +
docs/formatdomain.rst | 45 ++-
docs/kbase/index.rst | 4 +
docs/kbase/memorydevices.rst | 150 ++++++++++
docs/kbase/meson.build | 1 +
docs/manpages/virsh.rst | 30 ++
docs/schemas/domaincommon.rng | 16 ++
examples/c/misc/event-test.c | 17 ++
include/libvirt/libvirt-domain.h | 24 ++
src/conf/domain_conf.c | 126 ++++++++-
src/conf/domain_conf.h | 16 ++
src/conf/domain_event.c | 84 ++++++
src/conf/domain_event.h | 10 +
src/conf/domain_validate.c | 39 +++
src/libvirt_private.syms | 5 +
src/qemu/qemu_alias.c | 10 +-
src/qemu/qemu_capabilities.c | 6 +
src/qemu/qemu_capabilities.h | 4 +
src/qemu/qemu_command.c | 25 +-
src/qemu/qemu_domain.c | 33 ++-
src/qemu/qemu_domain.h | 1 +
src/qemu/qemu_domain_address.c | 38 ++-
src/qemu/qemu_driver.c | 259 +++++++++++++++++-
src/qemu/qemu_hotplug.c | 18 ++
src/qemu/qemu_hotplug.h | 5 +
src/qemu/qemu_monitor.c | 34 +++
src/qemu/qemu_monitor.h | 28 ++
src/qemu/qemu_monitor_json.c | 97 +++++--
src/qemu/qemu_monitor_json.h | 5 +
src/qemu/qemu_process.c | 72 +++++
src/qemu/qemu_validate.c | 8 +
src/remote/remote_daemon_dispatch.c | 30 ++
src/remote/remote_driver.c | 32 +++
src/remote/remote_protocol.x | 15 +-
src/remote_protocol-structs | 7 +
src/security/security_apparmor.c | 1 +
src/security/security_dac.c | 2 +
src/security/security_selinux.c | 2 +
src/util/virhostmem.c | 54 ++++
src/util/virhostmem.h | 3 +
tests/domaincapsmock.c | 9 +
.../caps_5.1.0.x86_64.xml | 1 +
.../caps_5.2.0.x86_64.xml | 1 +
.../caps_6.0.0.x86_64.xml | 1 +
.../caps_6.1.0.x86_64.xml | 2 +
...mory-hotplug-virtio-mem.x86_64-latest.args | 41 +++
.../memory-hotplug-virtio-mem.xml | 67 +++++
tests/qemuxml2argvtest.c | 1 +
...emory-hotplug-virtio-mem.x86_64-latest.xml | 1 +
tests/qemuxml2xmltest.c | 1 +
tools/virsh-domain.c | 181 ++++++++++++
51 files changed, 1613 insertions(+), 56 deletions(-)
create mode 100644 docs/kbase/memorydevices.rst
create mode 100644 tests/qemuxml2argvdata/memory-hotplug-virtio-mem.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/memory-hotplug-virtio-mem.xml
create mode 120000 tests/qemuxml2xmloutdata/memory-hotplug-virtio-mem.x86_64-latest.xml
--
2.32.0
3 years, 3 months
question: about the bug: current master had lost the ability "Cancel disk mirrors after libvirtd restart"
by wangjie (P)
bug reproduce process:
1、perform migrateToURI3.
2、kill libvirtd when enter memory migration phase,and restart libvirtd.
3、perform migrateToURI3 again and again,migrateToURI3 will fail forever with err-msg "Requested operation is not valid: domain has active block job"
I found the reasion which trigger the bug as follow:
1、the qemuBlockJobData is not persistent when libvirtd restart,so the job which return from qemuBlockJobDiskGetJob while always NULL, so qemuMigrationSrcNBDCopyCancel will not be taken.
2、calltrace:
qemuProcessReconnect
->qemuProcessRecoverJob
->qemuProcessRecoverMigrationOut
->qemuMigrationSrcCancel
3、code as follow:
qemuMigrationSrcCancel(virQEMUDriver *driver,
virDomainObj *vm)
{
... ...
for (i = 0; i < vm->def->ndisks; i++) {
virDomainDiskDef *disk = vm->def->disks[i];
qemuDomainDiskPrivate *diskPriv = QEMU_DOMAIN_DISK_PRIVATE(disk);
qemuBlockJobData *job;
if (!(job = qemuBlockJobDiskGetJob(disk)) || //the job is always NULL !!!
!qemuBlockJobIsRunning(job))
diskPriv->migrating = false;
if (diskPriv->migrating) {
qemuBlockJobSyncBegin(job);
storage = true;
}
virObjectUnref(job);
}
... ...
if (storage &&
qemuMigrationSrcNBDCopyCancel(driver, vm, true,
QEMU_ASYNC_JOB_NONE, NULL) < 0)
return -1;
... ...
}
4、I think current master had lost the ability of the followed patch:
http://10.175.124.40/cgit/cgit.cgi/code.huawei.com/libvirt.git/commit/?id...
can you give some suggestions to fix it?
3 years, 3 months
RFC: revert to external snapshot API
by Nikolay Shirokovskiy
Hi, all.
I want to implement reverting to external snapshot functionality.
I've checked the mailing list history and found some previous attempts
(not sure if this is a complete list of them).
[1] was done in 2012 by the Redhat team itself. [2] and [3] was done in
2018.
Looks like it was not clear how the API should look like.
For example we have disk.qcow2 <- disk.snap1 chain <- disk.snap2 chain
(after
having snap1 and snap2 snapshots). Now we want to revert to snap1 snapshot.
The
snapshot state is held by disk.qcow2 image. We can run reverted domain on
disk.qcow2 itself but then we lose snap1 (held by disk.qcow2) and snap2
(held by disk.snap1). So we definitely should run on some overlay over
disk.qcow2. But then what name should be given to overlay? We should have
an option for mgmt to specify this name like in case of snapshots itself.
The [1] has some discussion on adding extra options to reverting
functionality.
Like for example if we revert back to snap2 then having the ability to run
from
state in disk.snap2 rather than disk.snap1. My opinion is there is no need
to
as if one wants to revert to the state of disk2.snap2 it can take a
snapshot (some
snap3). At the same time one needs to be aware that revert operation loses
current state and later one can revert only to the states of snapshots.
This is the way internal snapshots work and the way one expects external
snapshots to work too.
The [2] takes an approach of reusing current top image as overlay on revert
so
that in the above example disk.snap2 will be overlay over disk.qcow2 on
reverting to snap1 snapshot. IMHO this is a confusing naming scheme.
The [3] suggests a different scheme for naming images. For example after
taking
snapshot snap1 the chain should be disk.snap1 <- disk.qcow2 which looks very
appealing to me. With this naming using the [2] approach is quite natural.
Implementing this does not look hard even for a running domain but this is
a big change to API and all mgmt need to be aware of (well it could be done
safely using a new flag).
Anyway we can go on with current image names. In order to specify overlay
image name let's introduce new API:
int virDomainRevertToSnapshotXML(virDomainSnapshotPtr snapshot,
char *xmlDesc,
unsigned int flags)
with XML like:
<domainsnapshotrevert>
<disks>
<disk name='vda'>
<source file='/path/to/revert/overlay'/>
</disk>
</disks>
</domainsnapshotrevert>
Having an XML looks like a bit overkill right now but I could not
find a better solution.
If overlay name is omitted the generated name will be like disk.snap1-1 in
the
above example to be in alignment with creating a snapshot case. So that
disk.snap1*
images hold states derived from snap1 state. We can also support reverting
to
external snapshot thru existing virDomainRevertToSnapshot for those who
rely on
generated names using this naming scheme.
[1] Re: [PATCHv4 4/4] snapshot: qemu: Implement reverting of external
snapshots
https://listman.redhat.com/archives/libvir-list/2012-November/msg00932.html
[2] Re: [PATCH 1/5] snapshot: Implement reverting for external disk
snapshots
https://listman.redhat.com/archives/libvir-list/2018-November/msg00338.html
[3] External disk snapshot paths and the revert operation
https://listman.redhat.com/archives/libvir-list/2018-October/msg01110.html
3 years, 3 months
[PATCH 0/2] selinux: Don't ignore ENOENT in Permissive mode
by Michal Privoznik
See 2/2 for explanation.
Michal Prívozník (2):
selinux: Swap two blocks handling setfilecon_raw() failure
selinux: Don't ignore ENOENT in Permissive mode
src/security/security_selinux.c | 32 +++++++++++++++++---------------
1 file changed, 17 insertions(+), 15 deletions(-)
--
2.32.0
3 years, 3 months
[PATCH 0/4] virsh: Follow up improvements
by Michal Privoznik
These are the fixes I spotted when reviewing Peter's patchset earlier.
Michal Prívozník (4):
virsh: Provide local path completer for screenshot --file
virsh: Provide local path completer for vol-download --file
vsh: Extend checks for aliased commands
vsh: Ensure that bool --options don't have completer
tools/virsh-domain.c | 1 +
tools/virsh-volume.c | 6 +-----
tools/vsh.c | 30 +++++++++++++++++++++++++++++-
3 files changed, 31 insertions(+), 6 deletions(-)
--
2.32.0
3 years, 3 months
[PATCH 0/4] Various cleanups
by Peter Krempa
Few patches from old branches.
Peter Krempa (4):
util: virdevmapper: Sanitize use of macros for buffer size
virDevMapperGetTargets: Use a linked list as return type
util: virstring: Remove unused 'virStringListMerge'
qemuMonitorJSONGetStatus: Refactor cleanup
src/libvirt_private.syms | 1 -
src/qemu/qemu_cgroup.c | 11 ++++----
src/qemu/qemu_monitor_json.c | 18 +++++--------
src/qemu/qemu_namespace.c | 9 +++----
src/util/virdevmapper.c | 49 +++++++++++++++++-------------------
src/util/virdevmapper.h | 2 +-
src/util/virstring.c | 35 --------------------------
src/util/virstring.h | 3 ---
tests/qemuhotplugmock.c | 10 +++-----
9 files changed, 43 insertions(+), 95 deletions(-)
--
2.31.1
3 years, 3 months