[libvirt] [PATCH v2 00/32] qemu: add support for 'device_id' of SCSI disks (blockdev-add saga)
by Peter Krempa
Now that qemu has commited the patches this contains real caps data and
also fixes few merge conflicts with patches pushed upstream.
Peter Krempa (32):
tests: qemucaps: Make fake 'microcodeVersion' depend on filename
instead of length
qemu: capabilities: Probe caps for 'scsi-hd' instead of 'scsi-disk'
qemu: capabilities: Probe caps for 'ide-hd' instead of 'ide-drive'
tests: qemuxml: Add a common test file for the 'virtio-scsi'
controller
tests: qemu: Remove 'disk-scsi-virtio-scsi' test
tests: qemuxml: Merge 'num-queues' variant of 'virtio-scsi' test into
the common file
tests: qemuxml: Merge 'cmd_per_lun' variant of 'virtio-scsi' test into
the common file
tests: qemuxml: Merge 'max_sectors' variant of 'virtio-scsi' test into
the common file
tests: qemuxml: Merge 'ioeventfd' variant of 'virtio-scsi' test into
the common file
tests: qemuxml2argv: Use real caps when auto-generating SCSI
controller type
tests: qemuxml2argv: Remove testing of post startup change to
'cachemode' for shared disks
tests: qemuxml2argv: Remove the 'after startup XML' testing machinery
tests: qemuxml2argv: Move cases from 'disk-shared-locking' into
'disk-shared'
tests: qemu: Rename 'disk-scsi-device' to 'disk-scsi'
tests: qemuxml2argv: Modernize 'disk-scsi' test
tests: qemu: Merge 'disk-scsi-megasas' test into 'disk-scsi'
tests: qemu: Merge 'disk-scsi-mptsas1068' test into 'disk-scsi'
tests: qemu: Merge 'disk-scsi-mptsas1068' test into 'disk-scsi'
tests: qemuxml2argv: Use 1.5.3 version for very old state in
'disk-cache'
tests: qemuxml2argv: Modernize virtio-scsi iothread tests
tests: qemuxml2argv: Remove 'disk-virtio-scsi-ccw' test
qemu: caps: Always assume presence of 'scsi-hd' and 'scsi-cd' device
qemu: caps: Always assume presence of 'ide-hd' and 'ide-cd' devices
qemu: command: Use correct type for switch in qemuBuildDiskDeviceStr
tests: qemuxml2argv: Add CDROM disks for all untested buses
qemu: Forbid cdroms on virtio bus
qemu: command: Drop formatting of 'media=cdrom' from -drive
tests: qemuxml2argv: Add a 'serial' value for a SCSI disk
test: qemucaps: Update caps with scsi 'device_id' property
qemu: caps: Introduce capability for 'device_id' property of
'scsi-disk'
qemu: Use the 'device_id' property of SCSI disks to avoid regressing
qemu: caps: Add lockout for -blockdev if QEMU_CAPS_SCSI_DISK_DEVICE_ID
is not present
src/qemu/qemu_capabilities.c | 13 +-
src/qemu/qemu_capabilities.h | 5 +-
src/qemu/qemu_command.c | 78 +-
src/qemu/qemu_domain.c | 8 +
tests/Makefile.am | 1 -
.../caps_1.5.3.x86_64.replies | 4 +-
.../caps_1.5.3.x86_64.xml | 4 +-
.../caps_1.6.0.x86_64.replies | 4 +-
.../caps_1.6.0.x86_64.xml | 4 +-
.../caps_1.7.0.x86_64.replies | 4 +-
.../caps_1.7.0.x86_64.xml | 4 +-
.../caps_2.1.1.x86_64.replies | 4 +-
.../caps_2.1.1.x86_64.xml | 4 +-
.../caps_2.10.0.aarch64.replies | 4 +-
.../caps_2.10.0.aarch64.xml | 4 +-
.../caps_2.10.0.ppc64.replies | 4 +-
.../caps_2.10.0.ppc64.xml | 4 +-
.../caps_2.10.0.s390x.replies | 4 +-
.../caps_2.10.0.s390x.xml | 3 +-
.../caps_2.10.0.x86_64.replies | 4 +-
.../caps_2.10.0.x86_64.xml | 4 +-
.../caps_2.11.0.s390x.replies | 4 +-
.../caps_2.11.0.s390x.xml | 3 +-
.../caps_2.11.0.x86_64.replies | 4 +-
.../caps_2.11.0.x86_64.xml | 4 +-
.../caps_2.12.0.aarch64.replies | 4 +-
.../caps_2.12.0.aarch64.xml | 4 +-
.../caps_2.12.0.ppc64.replies | 4 +-
.../caps_2.12.0.ppc64.xml | 4 +-
.../caps_2.12.0.s390x.replies | 4 +-
.../caps_2.12.0.s390x.xml | 3 +-
.../caps_2.12.0.x86_64.replies | 4 +-
.../caps_2.12.0.x86_64.xml | 4 +-
.../caps_2.4.0.x86_64.replies | 4 +-
.../caps_2.4.0.x86_64.xml | 4 +-
.../caps_2.5.0.x86_64.replies | 4 +-
.../caps_2.5.0.x86_64.xml | 4 +-
.../caps_2.6.0.aarch64.replies | 4 +-
.../caps_2.6.0.aarch64.xml | 4 +-
.../caps_2.6.0.ppc64.replies | 4 +-
.../qemucapabilitiesdata/caps_2.6.0.ppc64.xml | 4 +-
.../caps_2.6.0.x86_64.replies | 4 +-
.../caps_2.6.0.x86_64.xml | 4 +-
.../caps_2.7.0.s390x.replies | 4 +-
.../qemucapabilitiesdata/caps_2.7.0.s390x.xml | 3 +-
.../caps_2.7.0.x86_64.replies | 4 +-
.../caps_2.7.0.x86_64.xml | 4 +-
.../caps_2.8.0.s390x.replies | 4 +-
.../qemucapabilitiesdata/caps_2.8.0.s390x.xml | 3 +-
.../caps_2.8.0.x86_64.replies | 4 +-
.../caps_2.8.0.x86_64.xml | 4 +-
.../caps_2.9.0.ppc64.replies | 4 +-
.../qemucapabilitiesdata/caps_2.9.0.ppc64.xml | 4 +-
.../caps_2.9.0.s390x.replies | 4 +-
.../qemucapabilitiesdata/caps_2.9.0.s390x.xml | 3 +-
.../caps_2.9.0.x86_64.replies | 4 +-
.../caps_2.9.0.x86_64.xml | 4 +-
.../caps_3.0.0.ppc64.replies | 4 +-
.../qemucapabilitiesdata/caps_3.0.0.ppc64.xml | 4 +-
.../caps_3.0.0.riscv32.replies | 4 +-
.../caps_3.0.0.riscv32.xml | 1 -
.../caps_3.0.0.riscv64.replies | 4 +-
.../caps_3.0.0.riscv64.xml | 1 -
.../caps_3.0.0.s390x.replies | 4 +-
.../qemucapabilitiesdata/caps_3.0.0.s390x.xml | 3 +-
.../caps_3.0.0.x86_64.replies | 4 +-
.../caps_3.0.0.x86_64.xml | 4 +-
.../caps_3.1.0.ppc64.replies | 4 +-
.../qemucapabilitiesdata/caps_3.1.0.ppc64.xml | 4 +-
.../caps_3.1.0.x86_64.replies | 4 +-
.../caps_3.1.0.x86_64.xml | 4 +-
.../caps_4.0.0.riscv32.replies | 4 +-
.../caps_4.0.0.riscv32.xml | 2 -
.../caps_4.0.0.riscv64.replies | 4 +-
.../caps_4.0.0.riscv64.xml | 2 -
.../caps_4.0.0.x86_64.replies | 2300 +++++++++--------
.../caps_4.0.0.x86_64.xml | 34 +-
tests/qemucapabilitiestest.c | 17 +-
.../aarch64-virtio-pci-manual-addresses.args | 4 +-
tests/qemuxml2argvdata/autoindex.args | 2 +-
.../qemuxml2argvdata/balloon-device-auto.args | 3 +-
.../balloon-device-deflate-off.args | 3 +-
.../balloon-device-deflate.args | 3 +-
.../balloon-device-period.args | 3 +-
tests/qemuxml2argvdata/balloon-device.args | 3 +-
tests/qemuxml2argvdata/bios-nvram-secure.args | 4 +-
tests/qemuxml2argvdata/bios-nvram.args | 3 +-
tests/qemuxml2argvdata/bios.args | 3 +-
.../blkdeviotune-group-num.args | 5 +-
.../blkdeviotune-max-length.args | 5 +-
tests/qemuxml2argvdata/blkdeviotune-max.args | 5 +-
tests/qemuxml2argvdata/blkiotune-device.args | 3 +-
tests/qemuxml2argvdata/blkiotune.args | 3 +-
tests/qemuxml2argvdata/boot-cdrom.args | 6 +-
tests/qemuxml2argvdata/boot-complex.args | 10 +-
tests/qemuxml2argvdata/boot-floppy.args | 2 +-
.../boot-menu-disable-drive.args | 6 +-
tests/qemuxml2argvdata/boot-menu-disable.args | 6 +-
.../boot-menu-enable-with-timeout.args | 6 +-
tests/qemuxml2argvdata/boot-menu-enable.args | 6 +-
tests/qemuxml2argvdata/boot-multi.args | 6 +-
tests/qemuxml2argvdata/boot-network.args | 2 +-
tests/qemuxml2argvdata/boot-order.args | 8 +-
tests/qemuxml2argvdata/boot-strict.args | 10 +-
tests/qemuxml2argvdata/channel-guestfwd.args | 3 +-
tests/qemuxml2argvdata/channel-spicevmc.args | 3 +-
.../qemuxml2argvdata/channel-virtio-auto.args | 3 +-
.../channel-virtio-autoadd.args | 3 +-
.../channel-virtio-autoassign.args | 3 +-
.../channel-virtio-default.args | 3 +-
.../channel-virtio-state.args | 3 +-
.../qemuxml2argvdata/channel-virtio-unix.args | 3 +-
tests/qemuxml2argvdata/channel-virtio.args | 3 +-
tests/qemuxml2argvdata/clock-catchup.args | 3 +-
tests/qemuxml2argvdata/clock-france.args | 3 +-
tests/qemuxml2argvdata/clock-hpet-off.args | 3 +-
.../clock-localtime-basis-localtime.args | 3 +-
tests/qemuxml2argvdata/clock-localtime.args | 3 +-
tests/qemuxml2argvdata/clock-utc.args | 3 +-
tests/qemuxml2argvdata/clock-variable.args | 3 +-
.../qemuxml2argvdata/console-compat-auto.args | 3 +-
.../console-compat-chardev.args | 3 +-
tests/qemuxml2argvdata/console-compat.args | 3 +-
.../qemuxml2argvdata/console-virtio-many.args | 3 +-
tests/qemuxml2argvdata/console-virtio.args | 3 +-
tests/qemuxml2argvdata/controller-order.args | 4 +-
.../controller-virtio-scsi.x86_64-latest.args | 50 +
.../controller-virtio-scsi.xml | 61 +
.../cpu-host-passthrough-features.args | 3 +-
.../qemuxml2argvdata/cputune-zero-shares.args | 3 +-
tests/qemuxml2argvdata/cputune.args | 3 +-
tests/qemuxml2argvdata/debug-threads.args | 3 +-
tests/qemuxml2argvdata/disk-aio.args | 7 +-
tests/qemuxml2argvdata/disk-boot-cdrom.args | 7 +-
tests/qemuxml2argvdata/disk-boot-disk.args | 7 +-
...ache.args => disk-cache.x86_64-1.5.3.args} | 16 +-
.../disk-cache.x86_64-latest.args | 4 +-
.../disk-cdrom-bus-other.x86_64-latest.args | 37 +
.../qemuxml2argvdata/disk-cdrom-bus-other.xml | 47 +
.../qemuxml2argvdata/disk-cdrom-network.args | 17 +-
tests/qemuxml2argvdata/disk-cdrom-tray.args | 9 +-
tests/qemuxml2argvdata/disk-cdrom.args | 16 +-
tests/qemuxml2argvdata/disk-copy_on_read.args | 5 +-
.../qemuxml2argvdata/disk-detect-zeroes.args | 5 +-
tests/qemuxml2argvdata/disk-discard.args | 5 +-
tests/qemuxml2argvdata/disk-error-policy.args | 7 +-
tests/qemuxml2argvdata/disk-floppy-tray.args | 3 +-
tests/qemuxml2argvdata/disk-floppy.args | 3 +-
tests/qemuxml2argvdata/disk-fmt-qcow.args | 7 +-
tests/qemuxml2argvdata/disk-geometry.args | 4 +-
tests/qemuxml2argvdata/disk-ioeventfd.args | 5 +-
tests/qemuxml2argvdata/disk-iscsi.args | 3 +-
.../disk-network-sheepdog.args | 3 +-
tests/qemuxml2argvdata/disk-no-boot.args | 8 +-
tests/qemuxml2argvdata/disk-order.args | 7 +-
.../qemuxml2argvdata/disk-readonly-disk.args | 8 +-
tests/qemuxml2argvdata/disk-sata-device.args | 2 +-
...> disk-scsi-device-auto.x86_64-1.5.3.args} | 11 +-
.../disk-scsi-device-auto.x86_64-latest.args | 36 +
tests/qemuxml2argvdata/disk-scsi-device.args | 30 -
.../disk-scsi-disk-vpd-build-error.xml | 2 +-
tests/qemuxml2argvdata/disk-scsi-megasas.args | 31 -
tests/qemuxml2argvdata/disk-scsi-megasas.xml | 35 -
.../disk-scsi-mptsas1068.args | 31 -
.../qemuxml2argvdata/disk-scsi-mptsas1068.xml | 36 -
.../disk-scsi-virtio-scsi.args | 31 -
.../disk-scsi-virtio-scsi.xml | 35 -
tests/qemuxml2argvdata/disk-scsi-vscsi.args | 31 -
tests/qemuxml2argvdata/disk-scsi-vscsi.xml | 35 -
.../disk-scsi.x86_64-latest.args | 49 +
.../{disk-scsi-device.xml => disk-scsi.xml} | 20 +
tests/qemuxml2argvdata/disk-serial.args | 6 +-
.../qemuxml2argvdata/disk-shared-locking.args | 34 -
.../qemuxml2argvdata/disk-shared-locking.xml | 42 -
tests/qemuxml2argvdata/disk-shared.args | 31 -
.../disk-shared.x86_64-2.12.0.args | 9 +-
.../disk-shared.x86_64-latest.args | 10 +-
tests/qemuxml2argvdata/disk-shared.xml | 14 +
tests/qemuxml2argvdata/disk-snapshot.args | 9 +-
.../disk-source-pool-mode.args | 15 +-
tests/qemuxml2argvdata/disk-source-pool.args | 11 +-
.../disk-usb-device-removable.args | 3 +-
tests/qemuxml2argvdata/disk-usb-device.args | 3 +-
.../disk-virtio-scsi-ccw.args | 29 -
.../qemuxml2argvdata/disk-virtio-scsi-ccw.xml | 31 -
.../disk-virtio-scsi-cmd_per_lun.args | 28 -
.../disk-virtio-scsi-cmd_per_lun.xml | 31 -
.../disk-virtio-scsi-ioeventfd.args | 28 -
.../disk-virtio-scsi-ioeventfd.xml | 31 -
.../disk-virtio-scsi-max_sectors.args | 28 -
.../disk-virtio-scsi-max_sectors.xml | 31 -
.../disk-virtio-scsi-num_queues.args | 28 -
.../disk-virtio-scsi-num_queues.xml | 31 -
tests/qemuxml2argvdata/disk-virtio.args | 7 +-
tests/qemuxml2argvdata/event_idx.args | 5 +-
tests/qemuxml2argvdata/fips-enabled.args | 3 +-
tests/qemuxml2argvdata/fs9p.args | 3 +-
.../graphics-egl-headless.args | 3 +-
.../graphics-sdl-fullscreen.args | 3 +-
tests/qemuxml2argvdata/graphics-sdl.args | 3 +-
.../graphics-spice-agent-file-xfer.args | 3 +-
.../graphics-spice-agentmouse.args | 3 +-
.../graphics-spice-compression.args | 3 +-
.../graphics-spice-egl-headless.args | 3 +-
.../graphics-spice-qxl-vga.args | 3 +-
.../qemuxml2argvdata/graphics-spice-sasl.args | 3 +-
.../graphics-spice-timeout.args | 5 +-
tests/qemuxml2argvdata/graphics-spice.args | 3 +-
.../graphics-vnc-auto-socket-cfg.args | 3 +-
.../graphics-vnc-egl-headless.args | 3 +-
.../graphics-vnc-no-listen-attr.args | 3 +-
.../qemuxml2argvdata/graphics-vnc-policy.args | 3 +-
.../graphics-vnc-remove-generated-socket.args | 3 +-
tests/qemuxml2argvdata/graphics-vnc-sasl.args | 3 +-
tests/qemuxml2argvdata/graphics-vnc.args | 3 +-
.../hostdev-pci-address-device.args | 3 +-
.../qemuxml2argvdata/hostdev-pci-address.args | 3 +-
.../hostdev-scsi-lsi-iscsi-auth.args | 3 +-
.../hostdev-scsi-lsi-iscsi.args | 3 +-
tests/qemuxml2argvdata/hostdev-scsi-lsi.args | 3 +-
.../hostdev-scsi-readonly.args | 3 +-
.../hostdev-scsi-vhost-scsi-pci.args | 3 +-
.../hostdev-scsi-virtio-iscsi-auth.args | 3 +-
.../hostdev-scsi-virtio-iscsi.args | 3 +-
.../hostdev-scsi-virtio-scsi.args | 3 +-
.../hostdev-usb-address-device-boot.args | 2 +-
.../hostdev-usb-address-device.args | 3 +-
.../qemuxml2argvdata/hostdev-usb-address.args | 3 +-
.../hostdev-vfio-multidomain.args | 3 +-
tests/qemuxml2argvdata/hostdev-vfio.args | 3 +-
.../qemuxml2argvdata/hugepages-memaccess.args | 3 +-
.../hugepages-memaccess2.args | 3 +-
tests/qemuxml2argvdata/hugepages-shared.args | 3 +-
.../qemuxml2argvdata/input-usbmouse-addr.args | 3 +-
tests/qemuxml2argvdata/input-usbmouse.args | 3 +-
tests/qemuxml2argvdata/input-usbtablet.args | 3 +-
tests/qemuxml2argvdata/iothreads-disk.args | 3 +-
.../iothreads-ids-partial.args | 3 +-
tests/qemuxml2argvdata/iothreads-ids.args | 3 +-
...threads-virtio-scsi-ccw.s390x-latest.args} | 20 +-
...hreads-virtio-scsi-pci.x86_64-latest.args} | 23 +-
tests/qemuxml2argvdata/iothreads.args | 3 +-
tests/qemuxml2argvdata/kvm-pit-delay.args | 3 +-
tests/qemuxml2argvdata/kvm-pit-discard.args | 3 +-
tests/qemuxml2argvdata/machine-aliases1.args | 3 +-
tests/qemuxml2argvdata/machine-aliases2.args | 3 +-
tests/qemuxml2argvdata/machine-core-off.args | 3 +-
tests/qemuxml2argvdata/machine-core-on.args | 3 +-
tests/qemuxml2argvdata/machine-smm-opt.args | 4 +-
.../qemuxml2argvdata/machine-vmport-opt.args | 3 +-
tests/qemuxml2argvdata/master-key.args | 3 +-
.../memory-hotplug-dimm-addr.args | 3 +-
.../qemuxml2argvdata/memory-hotplug-dimm.args | 3 +-
tests/qemuxml2argvdata/memory-hotplug.args | 3 +-
tests/qemuxml2argvdata/memtune-unlimited.args | 3 +-
tests/qemuxml2argvdata/memtune.args | 3 +-
tests/qemuxml2argvdata/migrate.args | 3 +-
.../minimal-msg-timestamp.args | 3 +-
tests/qemuxml2argvdata/minimal-sandbox.args | 3 +-
tests/qemuxml2argvdata/minimal.args | 3 +-
tests/qemuxml2argvdata/misc-acpi.args | 3 +-
tests/qemuxml2argvdata/misc-disable-s3.args | 3 +-
.../misc-disable-suspends.args | 3 +-
tests/qemuxml2argvdata/misc-enable-s4.args | 3 +-
tests/qemuxml2argvdata/misc-no-reboot.args | 3 +-
tests/qemuxml2argvdata/misc-uuid.args | 3 +-
tests/qemuxml2argvdata/monitor-json.args | 3 +-
.../multifunction-pci-device.args | 2 +-
tests/qemuxml2argvdata/name-escape.args | 3 +-
tests/qemuxml2argvdata/net-client.args | 3 +-
tests/qemuxml2argvdata/net-eth-hostip.args | 3 +-
tests/qemuxml2argvdata/net-eth-ifname.args | 3 +-
tests/qemuxml2argvdata/net-eth-names.args | 3 +-
tests/qemuxml2argvdata/net-eth.args | 3 +-
.../net-hostdev-bootorder.args | 3 +-
.../net-hostdev-multidomain.args | 3 +-
.../net-hostdev-vfio-multidomain.args | 3 +-
tests/qemuxml2argvdata/net-hostdev-vfio.args | 3 +-
tests/qemuxml2argvdata/net-hostdev.args | 3 +-
tests/qemuxml2argvdata/net-mcast.args | 3 +-
tests/qemuxml2argvdata/net-server.args | 3 +-
tests/qemuxml2argvdata/net-udp.args | 3 +-
tests/qemuxml2argvdata/net-user-addr.args | 3 +-
tests/qemuxml2argvdata/net-user.args | 3 +-
.../net-vhostuser-multiq.args | 3 +-
tests/qemuxml2argvdata/net-virtio-device.args | 3 +-
.../net-virtio-disable-offloads.args | 3 +-
tests/qemuxml2argvdata/net-virtio-netdev.args | 3 +-
.../net-virtio-rxtxqueuesize.args | 3 +-
tests/qemuxml2argvdata/net-virtio.args | 3 +-
tests/qemuxml2argvdata/nosharepages.args | 3 +-
.../numad-auto-memory-vcpu-cpuset.args | 3 +-
...o-memory-vcpu-no-cpuset-and-placement.args | 3 +-
.../numad-auto-vcpu-static-numatune.args | 3 +-
.../numad-static-memory-auto-vcpu.args | 3 +-
tests/qemuxml2argvdata/numad.args | 3 +-
.../numatune-auto-nodeset-invalid.args | 3 +-
tests/qemuxml2argvdata/numatune-memory.args | 3 +-
tests/qemuxml2argvdata/panic-no-address.args | 3 +-
tests/qemuxml2argvdata/panic.args | 3 +-
.../parallel-parport-chardev.args | 3 +-
.../parallel-tcp-chardev.args | 3 +-
tests/qemuxml2argvdata/pci-autoadd-addr.args | 4 +-
tests/qemuxml2argvdata/pci-autoadd-idx.args | 4 +-
tests/qemuxml2argvdata/pci-autofill-addr.args | 4 +-
tests/qemuxml2argvdata/pci-autofill-addr.xml | 2 +-
tests/qemuxml2argvdata/pci-bridge.args | 4 +-
tests/qemuxml2argvdata/pci-many.args | 4 +-
tests/qemuxml2argvdata/pci-rom.args | 3 +-
.../pci-serial-dev-chardev.args | 3 +-
tests/qemuxml2argvdata/pcie-expander-bus.args | 2 +-
tests/qemuxml2argvdata/pcie-root-port.args | 2 +-
.../pcie-switch-downstream-port.args | 2 +-
.../pcie-switch-upstream-port.args | 2 +-
tests/qemuxml2argvdata/pcihole64-q35.args | 2 +-
.../pseries-vio-user-assigned.args | 4 +-
tests/qemuxml2argvdata/pseries-vio.args | 4 +-
tests/qemuxml2argvdata/q35-usb2-multi.args | 2 +-
tests/qemuxml2argvdata/q35-usb2-reorder.args | 2 +-
tests/qemuxml2argvdata/q35-usb2.args | 2 +-
tests/qemuxml2argvdata/q35.args | 2 +-
tests/qemuxml2argvdata/qemu-ns-alt.args | 3 +-
.../qemu-ns-commandline-ns0.args | 3 +-
.../qemu-ns-commandline-ns1.args | 3 +-
.../qemuxml2argvdata/qemu-ns-commandline.args | 3 +-
.../qemu-ns-domain-commandline-ns0.args | 3 +-
.../qemu-ns-domain-commandline.args | 3 +-
.../qemuxml2argvdata/qemu-ns-domain-ns0.args | 3 +-
tests/qemuxml2argvdata/qemu-ns-no-env.args | 3 +-
tests/qemuxml2argvdata/qemu-ns.args | 3 +-
tests/qemuxml2argvdata/restore-v2-fd.args | 3 +-
tests/qemuxml2argvdata/restore-v2.args | 3 +-
tests/qemuxml2argvdata/seclabel-dac-none.args | 3 +-
.../seclabel-dynamic-baselabel.args | 3 +-
.../seclabel-dynamic-labelskip.args | 3 +-
.../seclabel-dynamic-override.args | 5 +-
.../seclabel-dynamic-relabel.args | 3 +-
tests/qemuxml2argvdata/seclabel-dynamic.args | 3 +-
tests/qemuxml2argvdata/seclabel-none.args | 3 +-
.../seclabel-static-labelskip.args | 3 +-
.../seclabel-static-relabel.args | 3 +-
tests/qemuxml2argvdata/seclabel-static.args | 3 +-
.../serial-dev-chardev-iobase.args | 3 +-
.../qemuxml2argvdata/serial-dev-chardev.args | 3 +-
.../qemuxml2argvdata/serial-file-chardev.args | 3 +-
tests/qemuxml2argvdata/serial-file-log.args | 3 +-
.../qemuxml2argvdata/serial-many-chardev.args | 3 +-
.../qemuxml2argvdata/serial-pty-chardev.args | 3 +-
.../serial-spiceport-nospice.args | 3 +-
tests/qemuxml2argvdata/serial-spiceport.args | 3 +-
.../qemuxml2argvdata/serial-tcp-chardev.args | 3 +-
.../serial-tcp-telnet-chardev.args | 3 +-
.../serial-tcp-tlsx509-chardev-notls.args | 3 +-
.../serial-tcp-tlsx509-chardev-verify.args | 3 +-
.../serial-tcp-tlsx509-chardev.args | 3 +-
.../serial-tcp-tlsx509-secret-chardev.args | 3 +-
.../qemuxml2argvdata/serial-udp-chardev.args | 3 +-
tests/qemuxml2argvdata/serial-vc-chardev.args | 3 +-
tests/qemuxml2argvdata/smbios.args | 3 +-
tests/qemuxml2argvdata/smp.args | 3 +-
tests/qemuxml2argvdata/sound-device.args | 3 +-
tests/qemuxml2argvdata/sound.args | 3 +-
tests/qemuxml2argvdata/user-aliases.args | 4 +-
.../video-device-pciaddr-default.args | 3 +-
tests/qemuxml2argvdata/video-none-device.args | 3 +-
.../video-qxl-device-vgamem.args | 3 +-
tests/qemuxml2argvdata/video-qxl-device.args | 3 +-
tests/qemuxml2argvdata/video-qxl-heads.args | 3 +-
.../qemuxml2argvdata/video-qxl-nodevice.args | 3 +-
tests/qemuxml2argvdata/video-qxl-noheads.args | 3 +-
.../video-qxl-sec-device-vgamem.args | 3 +-
.../video-qxl-sec-device.args | 3 +-
.../video-vga-device-vgamem.args | 3 +-
tests/qemuxml2argvdata/video-vga-device.args | 3 +-
.../qemuxml2argvdata/video-vga-nodevice.args | 3 +-
.../qemuxml2argvdata/video-vga-qxl-heads.args | 3 +-
.../video-virtio-gpu-device.args | 3 +-
.../video-virtio-gpu-sdl-gl.args | 3 +-
.../video-virtio-gpu-spice-gl.args | 3 +-
.../video-virtio-gpu-virgl.args | 3 +-
tests/qemuxml2argvdata/video-virtio-vga.args | 3 +-
tests/qemuxml2argvdata/vmcoreinfo.args | 3 +-
tests/qemuxml2argvdata/watchdog-device.args | 3 +-
tests/qemuxml2argvdata/watchdog-dump.args | 3 +-
.../qemuxml2argvdata/watchdog-injectnmi.args | 3 +-
tests/qemuxml2argvdata/watchdog.args | 3 +-
tests/qemuxml2argvtest.c | 115 +-
.../qemuxml2startupxmloutdata/disk-shared.xml | 56 -
.../controller-virtio-scsi.xml | 76 +
...rtio-scsi.xml => disk-cdrom-bus-other.xml} | 44 +-
.../qemuxml2xmloutdata/disk-scsi-megasas.xml | 45 -
.../disk-scsi-mptsas1068.xml | 46 -
tests/qemuxml2xmloutdata/disk-scsi-vscsi.xml | 45 -
.../{disk-scsi-device.xml => disk-scsi.xml} | 31 +-
.../disk-virtio-scsi-cmd_per_lun.xml | 37 -
.../disk-virtio-scsi-ioeventfd.xml | 37 -
.../disk-virtio-scsi-max_sectors.xml | 37 -
.../disk-virtio-scsi-num_queues.xml | 37 -
.../qemuxml2xmloutdata/pci-autofill-addr.xml | 2 +-
tests/qemuxml2xmltest.c | 28 +-
400 files changed, 2312 insertions(+), 3114 deletions(-)
create mode 100644 tests/qemuxml2argvdata/controller-virtio-scsi.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/controller-virtio-scsi.xml
rename tests/qemuxml2argvdata/{disk-cache.args => disk-cache.x86_64-1.5.3.args} (72%)
create mode 100644 tests/qemuxml2argvdata/disk-cdrom-bus-other.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/disk-cdrom-bus-other.xml
rename tests/qemuxml2argvdata/{disk-scsi-device-auto.args => disk-scsi-device-auto.x86_64-1.5.3.args} (69%)
create mode 100644 tests/qemuxml2argvdata/disk-scsi-device-auto.x86_64-latest.args
delete mode 100644 tests/qemuxml2argvdata/disk-scsi-device.args
delete mode 100644 tests/qemuxml2argvdata/disk-scsi-megasas.args
delete mode 100644 tests/qemuxml2argvdata/disk-scsi-megasas.xml
delete mode 100644 tests/qemuxml2argvdata/disk-scsi-mptsas1068.args
delete mode 100644 tests/qemuxml2argvdata/disk-scsi-mptsas1068.xml
delete mode 100644 tests/qemuxml2argvdata/disk-scsi-virtio-scsi.args
delete mode 100644 tests/qemuxml2argvdata/disk-scsi-virtio-scsi.xml
delete mode 100644 tests/qemuxml2argvdata/disk-scsi-vscsi.args
delete mode 100644 tests/qemuxml2argvdata/disk-scsi-vscsi.xml
create mode 100644 tests/qemuxml2argvdata/disk-scsi.x86_64-latest.args
rename tests/qemuxml2argvdata/{disk-scsi-device.xml => disk-scsi.xml} (58%)
delete mode 100644 tests/qemuxml2argvdata/disk-shared-locking.args
delete mode 100644 tests/qemuxml2argvdata/disk-shared-locking.xml
delete mode 100644 tests/qemuxml2argvdata/disk-shared.args
delete mode 100644 tests/qemuxml2argvdata/disk-virtio-scsi-ccw.args
delete mode 100644 tests/qemuxml2argvdata/disk-virtio-scsi-ccw.xml
delete mode 100644 tests/qemuxml2argvdata/disk-virtio-scsi-cmd_per_lun.args
delete mode 100644 tests/qemuxml2argvdata/disk-virtio-scsi-cmd_per_lun.xml
delete mode 100644 tests/qemuxml2argvdata/disk-virtio-scsi-ioeventfd.args
delete mode 100644 tests/qemuxml2argvdata/disk-virtio-scsi-ioeventfd.xml
delete mode 100644 tests/qemuxml2argvdata/disk-virtio-scsi-max_sectors.args
delete mode 100644 tests/qemuxml2argvdata/disk-virtio-scsi-max_sectors.xml
delete mode 100644 tests/qemuxml2argvdata/disk-virtio-scsi-num_queues.args
delete mode 100644 tests/qemuxml2argvdata/disk-virtio-scsi-num_queues.xml
rename tests/qemuxml2argvdata/{iothreads-virtio-scsi-ccw.args => iothreads-virtio-scsi-ccw.s390x-latest.args} (58%)
rename tests/qemuxml2argvdata/{iothreads-virtio-scsi-pci.args => iothreads-virtio-scsi-pci.x86_64-latest.args} (56%)
delete mode 100644 tests/qemuxml2startupxmloutdata/disk-shared.xml
create mode 100644 tests/qemuxml2xmloutdata/controller-virtio-scsi.xml
rename tests/qemuxml2xmloutdata/{disk-scsi-virtio-scsi.xml => disk-cdrom-bus-other.xml} (54%)
delete mode 100644 tests/qemuxml2xmloutdata/disk-scsi-megasas.xml
delete mode 100644 tests/qemuxml2xmloutdata/disk-scsi-mptsas1068.xml
delete mode 100644 tests/qemuxml2xmloutdata/disk-scsi-vscsi.xml
rename tests/qemuxml2xmloutdata/{disk-scsi-device.xml => disk-scsi.xml} (57%)
delete mode 100644 tests/qemuxml2xmloutdata/disk-virtio-scsi-cmd_per_lun.xml
delete mode 100644 tests/qemuxml2xmloutdata/disk-virtio-scsi-ioeventfd.xml
delete mode 100644 tests/qemuxml2xmloutdata/disk-virtio-scsi-max_sectors.xml
delete mode 100644 tests/qemuxml2xmloutdata/disk-virtio-scsi-num_queues.xml
--
2.20.1
5 years, 9 months
[libvirt] [PATCH 00/10] qemu: Probe events from 'query-qmp-schema'
by Peter Krempa
This applies on top of:
[libvirt] [PATCH v2 00/32] qemu: add support for 'device_id' of SCSI disks (blockdev-add saga)
https://www.redhat.com/archives/libvir-list/2019-February/msg00098.html
The last patch does _not_ fix the numbering, please see the commit
message of 10/10.
Peter Krempa (10):
qemu: caps: Always assume QEMU_CAPS_BALLOON_EVENT
qemu: Clean up usage of qemuDomainUpdateCurrentMemorySize
qemu: caps: Always assume QEMU_CAPS_SEAMLESS_MIGRATION
tests: qemuhotplug: Remove unused test macro DO_TEST_DETACH_EVENT
tests: qemuhotplug: Use DEVICE_DELETED event in all hotunplug tests
tests: qemuhotplug: Remove leftovers for non-event testing
qemu: caps: Always assume QEMU_CAPS_DEVICE_DEL_EVENT
qemu: caps: Always assume QEMU_CAPS_DEVICE_TRAY_MOVED
qemu: caps: Probe events from 'query-qmp-schema' rather than
'query-events'
qemu: caps: Don't call 'query-events' when we probe them from QMP
schema
src/qemu/qemu_capabilities.c | 16 +-
src/qemu/qemu_capabilities.h | 8 +-
src/qemu/qemu_command.c | 10 +-
src/qemu/qemu_domain.c | 57 +-------
src/qemu/qemu_domain.h | 3 +-
src/qemu/qemu_driver.c | 23 +--
src/qemu/qemu_hotplug.c | 15 +-
src/qemu/qemu_migration.c | 3 +-
src/qemu/qemu_process.c | 3 -
.../caps_1.5.3.x86_64.xml | 4 -
.../caps_1.6.0.x86_64.xml | 4 -
.../caps_1.7.0.x86_64.xml | 4 -
.../caps_2.1.1.x86_64.xml | 4 -
.../caps_2.10.0.aarch64.replies | 122 ----------------
.../caps_2.10.0.aarch64.xml | 4 -
.../caps_2.10.0.ppc64.replies | 122 ----------------
.../caps_2.10.0.ppc64.xml | 4 -
.../caps_2.10.0.s390x.replies | 122 ----------------
.../caps_2.10.0.s390x.xml | 4 -
.../caps_2.10.0.x86_64.replies | 122 ----------------
.../caps_2.10.0.x86_64.xml | 4 -
.../caps_2.11.0.s390x.replies | 122 ----------------
.../caps_2.11.0.s390x.xml | 4 -
.../caps_2.11.0.x86_64.replies | 122 ----------------
.../caps_2.11.0.x86_64.xml | 4 -
.../caps_2.12.0.aarch64.replies | 128 ----------------
.../caps_2.12.0.aarch64.xml | 4 -
.../caps_2.12.0.ppc64.replies | 128 ----------------
.../caps_2.12.0.ppc64.xml | 4 -
.../caps_2.12.0.s390x.replies | 128 ----------------
.../caps_2.12.0.s390x.xml | 4 -
.../caps_2.12.0.x86_64.replies | 128 ----------------
.../caps_2.12.0.x86_64.xml | 4 -
.../caps_2.4.0.x86_64.xml | 4 -
.../caps_2.5.0.x86_64.replies | 116 ---------------
.../caps_2.5.0.x86_64.xml | 4 -
.../caps_2.6.0.aarch64.replies | 122 ----------------
.../caps_2.6.0.aarch64.xml | 4 -
.../caps_2.6.0.ppc64.replies | 122 ----------------
.../qemucapabilitiesdata/caps_2.6.0.ppc64.xml | 4 -
.../caps_2.6.0.x86_64.replies | 122 ----------------
.../caps_2.6.0.x86_64.xml | 4 -
.../caps_2.7.0.s390x.replies | 122 ----------------
.../qemucapabilitiesdata/caps_2.7.0.s390x.xml | 4 -
.../caps_2.7.0.x86_64.replies | 122 ----------------
.../caps_2.7.0.x86_64.xml | 4 -
.../caps_2.8.0.s390x.replies | 122 ----------------
.../qemucapabilitiesdata/caps_2.8.0.s390x.xml | 4 -
.../caps_2.8.0.x86_64.replies | 122 ----------------
.../caps_2.8.0.x86_64.xml | 4 -
.../caps_2.9.0.ppc64.replies | 122 ----------------
.../qemucapabilitiesdata/caps_2.9.0.ppc64.xml | 4 -
.../caps_2.9.0.s390x.replies | 122 ----------------
.../qemucapabilitiesdata/caps_2.9.0.s390x.xml | 4 -
.../caps_2.9.0.x86_64.replies | 122 ----------------
.../caps_2.9.0.x86_64.xml | 4 -
.../caps_3.0.0.ppc64.replies | 131 -----------------
.../qemucapabilitiesdata/caps_3.0.0.ppc64.xml | 4 -
.../caps_3.0.0.riscv32.replies | 134 -----------------
.../caps_3.0.0.riscv32.xml | 4 -
.../caps_3.0.0.riscv64.replies | 134 -----------------
.../caps_3.0.0.riscv64.xml | 4 -
.../caps_3.0.0.s390x.replies | 134 -----------------
.../qemucapabilitiesdata/caps_3.0.0.s390x.xml | 4 -
.../caps_3.0.0.x86_64.replies | 134 -----------------
.../caps_3.0.0.x86_64.xml | 4 -
.../caps_3.1.0.ppc64.replies | 137 ------------------
.../qemucapabilitiesdata/caps_3.1.0.ppc64.xml | 4 -
.../caps_3.1.0.x86_64.replies | 137 ------------------
.../caps_3.1.0.x86_64.xml | 4 -
.../caps_4.0.0.riscv32.replies | 137 ------------------
.../caps_4.0.0.riscv32.xml | 4 -
.../caps_4.0.0.riscv64.replies | 137 ------------------
.../caps_4.0.0.riscv64.xml | 4 -
.../caps_4.0.0.x86_64.replies | 137 ------------------
.../caps_4.0.0.x86_64.xml | 4 -
tests/qemuhotplugtest.c | 79 +++-------
tests/qemuxml2argvdata/channel-spicevmc.args | 2 +-
tests/qemuxml2argvdata/controller-order.args | 3 +-
.../graphics-spice-agent-file-xfer.args | 3 +-
.../graphics-spice-agentmouse.args | 2 +-
.../graphics-spice-auto-socket-cfg.args | 3 +-
.../graphics-spice-auto-socket.args | 3 +-
.../graphics-spice-compression.args | 3 +-
.../graphics-spice-egl-headless.args | 2 +-
.../graphics-spice-no-args.args | 2 +-
.../graphics-spice-qxl-vga.args | 2 +-
.../qemuxml2argvdata/graphics-spice-sasl.args | 2 +-
.../graphics-spice-socket.args | 2 +-
.../graphics-spice-timeout.args | 2 +-
.../graphics-spice-usb-redir.args | 2 +-
tests/qemuxml2argvdata/graphics-spice.args | 2 +-
tests/qemuxml2argvdata/name-escape.args | 2 +-
.../q35-virt-manager-basic.args | 2 +-
tests/qemuxml2argvdata/serial-spiceport.args | 3 +-
.../video-virtio-gpu-spice-gl.args | 2 +-
96 files changed, 80 insertions(+), 4257 deletions(-)
--
2.20.1
5 years, 9 months
[libvirt] [PATCH v1 1/1] qemu_process.c: add CAP_IPC_LOCK when using libcap-ng
by Daniel Henrique Barboza
QEMU virtual machines with PCI passthrough of certain devices,
such as the NVIDIA Tesla V100 GPU, requires allocation of an
amount of memory pages that can break KVM limits. When that
happens, the KVM module checks if the process is IPC_LOCK capable
and, in case it doesn't, it refuses to allocate the mem pages,
causing the guest to misbehave.
When Libvirt is compiled to use libcap-ng support, the resulting
QEMU guest Libvirt creates does not have CAP_IPC_LOCK, hurting
guests that are doing PCI passthrough and that requires extra
memory to work.
This patch addresses this issue by checking whether we're
running with libcap-ng support (WITH_CAPNG) and if the
guest is using PCI passthrough with the VFIO driver. If those
conditions are met, allow CAP_IPC_LOCK capability to the
QEMU process.
Signed-off-by: Daniel Henrique Barboza <danielhb413(a)gmail.com>
---
src/libvirt_private.syms | 1 +
src/qemu/qemu_process.c | 34 ++++++++++++++++++++++++++++++++++
src/util/virhostdev.c | 2 +-
src/util/virhostdev.h | 4 ++++
4 files changed, 40 insertions(+), 1 deletion(-)
diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
index 6b401aa5e0..b7384a67a8 100644
--- a/src/libvirt_private.syms
+++ b/src/libvirt_private.syms
@@ -1992,6 +1992,7 @@ virHostCPUStatsAssign;
# util/virhostdev.h
virHostdevFindUSBDevice;
+virHostdevGetPCIHostDeviceList;
virHostdevIsMdevDevice;
virHostdevIsSCSIDevice;
virHostdevManagerGetDefault;
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index 0583eb03f2..24aef5904f 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -4997,6 +4997,38 @@ qemuProcessSetupRawIO(virQEMUDriverPtr driver,
}
+static void
+qemuProcessSetupVFIOCaps(virDomainObjPtr vm ATTRIBUTE_UNUSED,
+ virCommandPtr cmd ATTRIBUTE_UNUSED)
+{
+#if WITH_CAPNG
+ virPCIDeviceListPtr pcidevs = NULL;
+ bool has_vfio = false;
+ size_t i;
+
+ pcidevs = virHostdevGetPCIHostDeviceList(vm->def->hostdevs,
+ vm->def->nhostdevs);
+ if (!pcidevs)
+ return;
+
+ for (i = 0; i < virPCIDeviceListCount(pcidevs); i++) {
+ virPCIDevicePtr pci = virPCIDeviceListGet(pcidevs, i);
+ if (virPCIDeviceGetStubDriver(pci) == VIR_PCI_STUB_DRIVER_VFIO) {
+ has_vfio = true;
+ break;
+ }
+ }
+
+ if (has_vfio) {
+ VIR_DEBUG("Adding CAP_IPC_LOCK to QEMU process");
+ virCommandAllowCap(cmd, CAP_IPC_LOCK);
+ }
+
+ virObjectUnref(pcidevs);
+#endif
+}
+
+
static int
qemuProcessSetupBalloon(virQEMUDriverPtr driver,
virDomainObjPtr vm,
@@ -6569,6 +6601,8 @@ qemuProcessLaunch(virConnectPtr conn,
if (qemuProcessSetupRawIO(driver, vm, cmd) < 0)
goto cleanup;
+ qemuProcessSetupVFIOCaps(vm, cmd);
+
virCommandSetPreExecHook(cmd, qemuProcessHook, &hookData);
virCommandSetMaxProcesses(cmd, cfg->maxProcesses);
virCommandSetMaxFiles(cmd, cfg->maxFiles);
diff --git a/src/util/virhostdev.c b/src/util/virhostdev.c
index 6be395cdda..ee389a1729 100644
--- a/src/util/virhostdev.c
+++ b/src/util/virhostdev.c
@@ -218,7 +218,7 @@ virHostdevManagerGetDefault(void)
return virObjectRef(manager);
}
-static virPCIDeviceListPtr
+virPCIDeviceListPtr
virHostdevGetPCIHostDeviceList(virDomainHostdevDefPtr *hostdevs, int nhostdevs)
{
virPCIDeviceListPtr pcidevs;
diff --git a/src/util/virhostdev.h b/src/util/virhostdev.h
index 7263f320a2..9235581242 100644
--- a/src/util/virhostdev.h
+++ b/src/util/virhostdev.h
@@ -57,6 +57,10 @@ struct _virHostdevManager {
};
virHostdevManagerPtr virHostdevManagerGetDefault(void);
+virPCIDeviceListPtr
+virHostdevGetPCIHostDeviceList(virDomainHostdevDefPtr *hostdevs,
+ int nhostdevs)
+ ATTRIBUTE_NONNULL(1);
int
virHostdevPreparePCIDevices(virHostdevManagerPtr hostdev_mgr,
const char *drv_name,
--
2.20.1
5 years, 9 months
[libvirt] [PATCH 0/3] bhyve: implement MSRs ignore unknown writes feature
by Roman Bogorodskiy
Roman Bogorodskiy (3):
conf: introduce 'msrs' feature
bhyve: implement MSRs ignore unknown writes feature
news: document bhyve msrs feature
docs/drvbhyve.html.in | 16 +++++++++
docs/formatdomain.html.in | 1 +
docs/news.xml | 11 ++++++
docs/schemas/domaincommon.rng | 14 ++++++++
src/bhyve/bhyve_command.c | 4 +++
src/conf/domain_conf.c | 33 +++++++++++++++++
src/conf/domain_conf.h | 8 +++++
src/qemu/qemu_domain.c | 1 +
.../bhyvexml2argvdata/bhyvexml2argv-msrs.args | 10 ++++++
.../bhyvexml2argv-msrs.ldargs | 3 ++
.../bhyvexml2argvdata/bhyvexml2argv-msrs.xml | 26 ++++++++++++++
tests/bhyvexml2argvtest.c | 1 +
.../bhyvexml2xmlout-msrs.xml | 36 +++++++++++++++++++
tests/bhyvexml2xmltest.c | 1 +
14 files changed, 165 insertions(+)
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-msrs.args
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-msrs.ldargs
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-msrs.xml
create mode 100644 tests/bhyvexml2xmloutdata/bhyvexml2xmlout-msrs.xml
--
2.20.1
5 years, 9 months
[libvirt] [PATCH] virinitctl: Provide a stub list of init fifos for non-Linux
by Michal Privoznik
The virInitctlFifos list is exported, but lacks definition for
non-Linux and/or non-BSD case.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
Pushed under build breaker rule.
src/util/virinitctl.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/util/virinitctl.c b/src/util/virinitctl.c
index bbcbbb483d..6966e8a3e9 100644
--- a/src/util/virinitctl.c
+++ b/src/util/virinitctl.c
@@ -184,6 +184,11 @@ virInitctlSetRunLevel(const char *fifo,
return ret;
}
#else
+/* On non-Linux and non-BSD there are no known inits */
+const char *virInitctlFifos[] = {
+ NULL
+};
+
int virInitctlSetRunLevel(const char *fifo ATTRIBUTE_UNUSED,
virInitctlRunLevel level ATTRIBUTE_UNUSED)
{
--
2.19.2
5 years, 9 months
[libvirt] [PATCH 0/4] qemu: clean up qemuDomainBlockJobAbort/Pivot (blockdev-add saga)
by Peter Krempa
Peter Krempa (4):
qemu: Always save status XML in qemuDomainBlockJobAbort
qemu: Move shareable disk check for block copy
qemu: Remove unused 'cfg' qemuDomainBlockPivot
qemu: Use data in qemuBlockJobDataPtr instead of re-generating job
name
src/qemu/qemu_driver.c | 46 +++++++++++++++---------------------------
1 file changed, 16 insertions(+), 30 deletions(-)
--
2.20.1
5 years, 9 months
[libvirt] [PATCH 0/5] Couple of LXC fixes
by Michal Privoznik
*** BLURB HERE ***
Michal Prívozník (5):
lxc: Use correct job type for destroying a domain
vircgroup: Try harder to kill cgroup
lxc: Restore seclabels after the container is killed
virinitctl: Expose fifo paths and allow caller to chose one
lxc: Don't reboot host on virDomainReboot
src/libvirt_private.syms | 1 +
src/lxc/lxc_domain.c | 77 ++++++++++++++++++++++++++++++++++++++++
src/lxc/lxc_domain.h | 4 +++
src/lxc/lxc_driver.c | 19 ++--------
src/lxc/lxc_process.c | 22 ++++++------
src/util/vircgroup.c | 15 ++++----
src/util/virinitctl.c | 66 +++++++++++++++++++++-------------
src/util/virinitctl.h | 6 +++-
8 files changed, 152 insertions(+), 58 deletions(-)
--
2.19.2
5 years, 9 months
[libvirt] [PATCH] conf: Remove iothreads restriction in virDomainDefCheckABIStabilityFlags
by Jie Wang
The number of iothreads is not part of the vm state sent during
migration, nor exposed to the guest ABI, so this restriction is
a mistaken in libvirt. Let's remove that bit of code.
Signed-off-by: Jie Wang <wangjie88(a)huawei.com>
---
src/conf/domain_conf.c | 8 --------
1 file changed, 8 deletions(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index ae8fb5a501..ac4eeaec5e 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -22927,14 +22927,6 @@ virDomainDefCheckABIStabilityFlags(virDomainDefPtr src,
if (!virDomainDefVcpuCheckAbiStability(src, dst))
goto error;
- if (src->niothreadids != dst->niothreadids) {
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
- _("Target domain iothreads count %zu does not "
- "match source %zu"),
- dst->niothreadids, src->niothreadids);
- goto error;
- }
-
if (src->os.type != dst->os.type) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("Target domain OS type %s does not match source %s"),
--
2.16.2.windows.1
5 years, 9 months
[libvirt] [PATCH] storage: fix volume perms when it is not specified.
by Julio Faracco
This commit adds permissions inheritance to volume from main pool when
it is not explicitly added by command or XML definition. It permissions
are defined into XML, they should be respected.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=677242
Signed-off-by: Julio Faracco <jcfaracco(a)gmail.com>
---
src/storage/storage_driver.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c
index 4a13e90481..5961d35f26 100644
--- a/src/storage/storage_driver.c
+++ b/src/storage/storage_driver.c
@@ -1850,6 +1850,16 @@ storageVolCreateXML(virStoragePoolPtr pool,
goto cleanup;
}
+ /* Inherit perms and mode from pool when they are not defined. */
+ if (voldef->target.perms->uid == (uid_t)-1)
+ voldef->target.perms->uid = def->target.perms.uid;
+
+ if (voldef->target.perms->gid == (gid_t)-1)
+ voldef->target.perms->gid = def->target.perms.gid;
+
+ if (voldef->target.perms->mode == (mode_t)-1)
+ voldef->target.perms->mode = def->target.perms.mode;
+
if (virStorageVolCreateXMLEnsureACL(pool->conn, def, voldef) < 0)
goto cleanup;
--
2.19.1
5 years, 9 months
[libvirt] [libvirt-glib] gconfig: Add gvir_config_storage_vol_target_set_features
by Christophe Fergeau
Only one feature is supported at the moment, 'lazy refcount'
Signed-off-by: Christophe Fergeau <cfergeau(a)redhat.com>
---
.../libvirt-gconfig-storage-vol-target.c | 14 ++++++++++++++
.../libvirt-gconfig-storage-vol-target.h | 6 ++++++
libvirt-gconfig/libvirt-gconfig.sym | 6 ++++++
libvirt-gconfig/tests/test-domain-create.c | 1 +
4 files changed, 27 insertions(+)
diff --git a/libvirt-gconfig/libvirt-gconfig-storage-vol-target.c b/libvirt-gconfig/libvirt-gconfig-storage-vol-target.c
index 751c950c..300d3927 100644
--- a/libvirt-gconfig/libvirt-gconfig-storage-vol-target.c
+++ b/libvirt-gconfig/libvirt-gconfig-storage-vol-target.c
@@ -109,3 +109,17 @@ void gvir_config_storage_vol_target_set_compat(GVirConfigStorageVolTarget *targe
gvir_config_object_set_node_content(GVIR_CONFIG_OBJECT(target),
"compat", compat);
}
+
+void gvir_config_storage_vol_target_set_features(GVirConfigStorageVolTarget *target,
+ guint64 features)
+{
+ g_return_if_fail(GVIR_CONFIG_IS_STORAGE_VOL_TARGET(target));
+ g_return_if_fail((features & ~GVIR_CONFIG_STORAGE_VOL_TARGET_FEATURE_LAZY_REFCOUNT) == 0);
+
+ if ((features & GVIR_CONFIG_STORAGE_VOL_TARGET_FEATURE_LAZY_REFCOUNT) != 0) {
+ GVirConfigObject *features_node;
+ features_node = gvir_config_object_replace_child(GVIR_CONFIG_OBJECT(target), "features");
+ gvir_config_object_set_node_content(features_node, "lazy_refcount", "");
+ g_object_unref(features_node);
+ }
+}
diff --git a/libvirt-gconfig/libvirt-gconfig-storage-vol-target.h b/libvirt-gconfig/libvirt-gconfig-storage-vol-target.h
index 2030e734..f1b50035 100644
--- a/libvirt-gconfig/libvirt-gconfig-storage-vol-target.h
+++ b/libvirt-gconfig/libvirt-gconfig-storage-vol-target.h
@@ -69,6 +69,12 @@ void gvir_config_storage_vol_target_set_format(GVirConfigStorageVolTarget *targe
const char *format);
void gvir_config_storage_vol_target_set_permissions(GVirConfigStorageVolTarget *target,
GVirConfigStoragePermissions *perms);
+typedef enum {
+ GVIR_CONFIG_STORAGE_VOL_TARGET_FEATURE_LAZY_REFCOUNT = 1 << 0
+} GVirConfigStorageVolTargetFeatures;
+
+void gvir_config_storage_vol_target_set_features(GVirConfigStorageVolTarget *target,
+ guint64 features);
G_END_DECLS
diff --git a/libvirt-gconfig/libvirt-gconfig.sym b/libvirt-gconfig/libvirt-gconfig.sym
index ee5bf8ad..2d7486ea 100644
--- a/libvirt-gconfig/libvirt-gconfig.sym
+++ b/libvirt-gconfig/libvirt-gconfig.sym
@@ -779,4 +779,10 @@ global:
gvir_config_domain_set_custom_xml_ns_children;
} LIBVIRT_GCONFIG_0.2.4;
+LIBVIRT_GCONFIG_2.0.1 {
+global:
+ gvir_config_storage_vol_target_features_get_type;
+ gvir_config_storage_vol_target_set_features;
+} LIBVIRT_GCONFIG_2.0.0;
+
# .... define new API here using predicted next version number ....
diff --git a/libvirt-gconfig/tests/test-domain-create.c b/libvirt-gconfig/tests/test-domain-create.c
index 79c242f4..f8fd6d51 100644
--- a/libvirt-gconfig/tests/test-domain-create.c
+++ b/libvirt-gconfig/tests/test-domain-create.c
@@ -498,6 +498,7 @@ int main(int argc, char **argv)
gvir_config_storage_vol_target_set_format(vol_target, "qcow2");
gvir_config_storage_vol_target_set_permissions(vol_target, perms);
gvir_config_storage_vol_target_set_compat(vol_target, "1.1");
+ gvir_config_storage_vol_target_set_features(vol_target, GVIR_CONFIG_STORAGE_VOL_TARGET_FEATURE_LAZY_REFCOUNT);
g_object_unref(G_OBJECT(perms));
gvir_config_storage_vol_set_target(vol, vol_target);
g_object_unref(G_OBJECT(vol_target));
--
2.20.1
5 years, 9 months