[libvirt] [PATCH 0/9] tests: qemu: unconditionally enable QEMU_CAPS_DEVICE
by Cole Robinson
Okay, my recent patch series' are kinda all over the place. I'm tableing
the src/qemu/ QEMU_CAPS_DEVICE bits for now. This is just the test
suite changes, which I need as a basis for other patches anyways.
This series does two main things: it conditionally enables QEMU_CAPS_DEVICE
in the test suite (since that's all we support nowadays), and it
unconditionally calls qemuDomainAssignAddresses for qemuxml2xml testing,
since that's the only realistic XML parsing scenario in the qemu driver.
This causes a lot of test output churn, so there's some other relevant
bits mixed in:
* An improvement to VIR_TEST_REGENERATE_OUTPUT
* Separating qemuargv2xml test output from qemuxml2argv, since the
latter's output churn will massively break the former.
* More work to wire up qemuxml2xml test cases to allow passing in
QEMU_CAPS_* lists, similar to qemuargv2xml, since
qemuDomainAssignAddresses has many code paths dependent on QEMU_CAPS
* Have qemuxml2xml always use a separate output file. Martin commented
on this here:
https://www.redhat.com/archives/libvir-list/2016-January/msg01041.html
Right now most of those tests expect the output to match the input, and
have it baked into the test framework. In order to maintain that paradigm,
we would either have to update a large chunk of qemuxml2argv input data to
contain static PCI addressing, or do a fine grained auditing of all the
test cases to decide which ones we should be testing for different output
vs ensure the same output.
In my response to the above mail, I layed out my opinion that the
qemuxml2xml tests are overloaded and it needs a much larger scale cleanup
to be more practical. In the interim I think this change is in the right
direction, since at least it's giving us XML output testing of qemu's
specific address assignment functionality, which is always used in practice.
Long term we should separate the generic XML testing from the qemu XML
testing, and for the generic XML testing it likely makes sense to have
many tests with matching input and output, so maybe we reintroduce
that paradigm for genericxml2xml.
Note most of these patches have been on the list for over 2 weeks with
no review and rebasing them is conflict prone so I appreciate any timely
review. Thanks in advance
Cole Robinson (9):
tests: Run test-wrap-argv with REGENERATE_OUTPUT
tests: qemuxml2xml: Always use different output file
tests: qemuargv2xml: separate from qemuxml2argv data
tests: qemuxml2argv: remove some QEMU_CAPS_DEVICE problem cases
tests: Unconditionally enable QEMU_CAPS_DEVICE
tests: qemuxml2xml: Allow test cases to pass in qemuCaps
tests: utils: Add PreFormat callback for CompareXML2XML helper
tests: qemuxml2xml: assign device addresses
tests: qemu: More aarch64 virtio and pci tests
tests/Makefile.am | 1 +
tests/bhyvexml2xmltest.c | 3 +-
tests/domainschematest | 2 +-
tests/genericxml2xmltest.c | 3 +-
tests/lxcxml2xmltest.c | 3 +-
.../qemuargv2xmldata/qemuargv2xml-boot-cdrom.args | 22 +
tests/qemuargv2xmldata/qemuargv2xml-boot-cdrom.xml | 31 ++
.../qemuargv2xmldata/qemuargv2xml-boot-floppy.args | 23 +
.../qemuargv2xmldata/qemuargv2xml-boot-floppy.xml | 37 ++
.../qemuargv2xml-boot-network.args | 22 +
.../qemuargv2xmldata/qemuargv2xml-boot-network.xml | 30 ++
.../qemuargv2xml-clock-localtime.args | 23 +
.../qemuargv2xml-clock-localtime.xml | 30 ++
.../qemuargv2xml-clock-utc.args} | 5 +-
tests/qemuargv2xmldata/qemuargv2xml-clock-utc.xml | 30 ++
.../qemuargv2xml-console-compat.args | 22 +
.../qemuargv2xml-console-compat.xml | 36 ++
.../qemuargv2xml-disk-cdrom-empty.args | 23 +
.../qemuargv2xml-disk-cdrom-empty.xml | 36 ++
.../qemuargv2xmldata/qemuargv2xml-disk-cdrom.args | 23 +
tests/qemuargv2xmldata/qemuargv2xml-disk-cdrom.xml | 37 ++
.../qemuargv2xml-disk-drive-boot-cdrom.args | 23 +
.../qemuargv2xml-disk-drive-boot-cdrom.xml | 37 ++
.../qemuargv2xml-disk-drive-boot-disk.args | 23 +
.../qemuargv2xml-disk-drive-boot-disk.xml | 37 ++
.../qemuargv2xml-disk-drive-cache-directsync.args | 24 +
.../qemuargv2xml-disk-drive-cache-directsync.xml | 37 ++
.../qemuargv2xml-disk-drive-cache-unsafe.args | 23 +
.../qemuargv2xml-disk-drive-cache-unsafe.xml | 37 ++
.../qemuargv2xml-disk-drive-cache-v2-none.args | 23 +
.../qemuargv2xml-disk-drive-cache-v2-none.xml | 37 ++
.../qemuargv2xml-disk-drive-cache-v2-wb.args | 24 +
.../qemuargv2xml-disk-drive-cache-v2-wb.xml | 37 ++
.../qemuargv2xml-disk-drive-cache-v2-wt.args | 24 +
.../qemuargv2xml-disk-drive-cache-v2-wt.xml | 37 ++
...uargv2xml-disk-drive-error-policy-enospace.args | 24 +
...muargv2xml-disk-drive-error-policy-enospace.xml | 37 ++
.../qemuargv2xml-disk-drive-error-policy-stop.args | 24 +
.../qemuargv2xml-disk-drive-error-policy-stop.xml | 37 ++
...ml-disk-drive-error-policy-wreport-rignore.args | 24 +
...xml-disk-drive-error-policy-wreport-rignore.xml | 37 ++
.../qemuargv2xml-disk-drive-fmt-qcow.args | 23 +
.../qemuargv2xml-disk-drive-fmt-qcow.xml | 37 ++
.../qemuargv2xml-disk-drive-network-gluster.args | 24 +
.../qemuargv2xml-disk-drive-network-gluster.xml | 37 ++
...qemuargv2xml-disk-drive-network-iscsi-auth.args | 25 +
.../qemuargv2xml-disk-drive-network-iscsi-auth.xml | 40 ++
.../qemuargv2xml-disk-drive-network-iscsi.args | 25 +
.../qemuargv2xml-disk-drive-network-iscsi.xml | 37 ++
...qemuargv2xml-disk-drive-network-nbd-export.args | 23 +
.../qemuargv2xml-disk-drive-network-nbd-export.xml | 37 ++
...rgv2xml-disk-drive-network-nbd-ipv6-export.args | 23 +
...argv2xml-disk-drive-network-nbd-ipv6-export.xml | 37 ++
.../qemuargv2xml-disk-drive-network-nbd-ipv6.args | 23 +
.../qemuargv2xml-disk-drive-network-nbd-ipv6.xml | 37 ++
.../qemuargv2xml-disk-drive-network-nbd-unix.args | 23 +
.../qemuargv2xml-disk-drive-network-nbd-unix.xml | 37 ++
.../qemuargv2xml-disk-drive-network-nbd.args | 23 +
.../qemuargv2xml-disk-drive-network-nbd.xml | 37 ++
.../qemuargv2xml-disk-drive-network-rbd-auth.args | 26 +
.../qemuargv2xml-disk-drive-network-rbd-auth.xml | 42 ++
...muargv2xml-disk-drive-network-rbd-ceph-env.args | 25 +
...emuargv2xml-disk-drive-network-rbd-ceph-env.xml | 39 ++
.../qemuargv2xml-disk-drive-network-rbd-ipv6.args | 25 +
.../qemuargv2xml-disk-drive-network-rbd-ipv6.xml | 40 ++
.../qemuargv2xml-disk-drive-network-rbd.args | 29 +
.../qemuargv2xml-disk-drive-network-rbd.xml | 64 +++
.../qemuargv2xml-disk-drive-network-sheepdog.args | 23 +
.../qemuargv2xml-disk-drive-network-sheepdog.xml | 37 ++
.../qemuargv2xmldata/qemuargv2xml-disk-floppy.args | 24 +
.../qemuargv2xmldata/qemuargv2xml-disk-floppy.xml | 43 ++
tests/qemuargv2xmldata/qemuargv2xml-disk-many.args | 25 +
tests/qemuargv2xmldata/qemuargv2xml-disk-many.xml | 48 ++
.../qemuargv2xml-disk-usb.args} | 0
.../qemuargv2xml-disk-usb.xml} | 0
.../qemuargv2xmldata/qemuargv2xml-disk-virtio.args | 25 +
.../qemuargv2xml-disk-virtio.xml} | 6 +-
.../qemuargv2xmldata/qemuargv2xml-disk-xenvbd.args | 25 +
.../qemuargv2xmldata/qemuargv2xml-disk-xenvbd.xml | 47 ++
.../qemuargv2xml-graphics-sdl-fullscreen.args | 25 +
.../qemuargv2xml-graphics-sdl-fullscreen.xml | 34 ++
.../qemuargv2xml-graphics-sdl.args | 24 +
.../qemuargv2xmldata/qemuargv2xml-graphics-sdl.xml | 34 ++
.../qemuargv2xml-graphics-vnc-policy.args | 23 +
.../qemuargv2xml-graphics-vnc-policy.xml | 36 ++
.../qemuargv2xml-graphics-vnc-sasl.args | 24 +
.../qemuargv2xml-graphics-vnc-sasl.xml | 36 ++
.../qemuargv2xml-graphics-vnc-socket.args | 23 +
.../qemuargv2xml-graphics-vnc-socket.xml | 34 ++
.../qemuargv2xml-graphics-vnc-tls.args | 24 +
.../qemuargv2xml-graphics-vnc-tls.xml | 36 ++
.../qemuargv2xml-graphics-vnc-websocket.args | 22 +
.../qemuargv2xml-graphics-vnc-websocket.xml | 29 +
.../qemuargv2xml-graphics-vnc.args | 23 +
.../qemuargv2xmldata/qemuargv2xml-graphics-vnc.xml | 36 ++
.../qemuargv2xml-hostdev-pci-address.args | 23 +
.../qemuargv2xml-hostdev-pci-address.xml | 35 ++
.../qemuargv2xml-hostdev-usb-address.args | 23 +
.../qemuargv2xml-hostdev-usb-address.xml | 35 ++
.../qemuargv2xml-hyperv-panic.args | 21 +
.../qemuargv2xmldata/qemuargv2xml-hyperv-panic.xml | 27 +
tests/qemuargv2xmldata/qemuargv2xml-hyperv.args | 21 +
tests/qemuargv2xmldata/qemuargv2xml-hyperv.xml | 31 ++
.../qemuargv2xml-input-usbmouse.args | 23 +
.../qemuargv2xml-input-usbmouse.xml | 31 ++
.../qemuargv2xml-input-usbtablet.args | 23 +
.../qemuargv2xml-input-usbtablet.xml | 31 ++
.../qemuargv2xml-kvm-features.args | 21 +
.../qemuargv2xmldata/qemuargv2xml-kvm-features.xml | 29 +
tests/qemuargv2xmldata/qemuargv2xml-kvmclock.args | 22 +
tests/qemuargv2xmldata/qemuargv2xml-kvmclock.xml | 28 +
.../qemuargv2xml-machine-aeskeywrap-off-argv.args | 20 +
.../qemuargv2xml-machine-aeskeywrap-off-argv.xml | 27 +
.../qemuargv2xml-machine-aeskeywrap-on-argv.args | 20 +
.../qemuargv2xml-machine-aeskeywrap-on-argv.xml | 27 +
.../qemuargv2xml-machine-core-off.args | 22 +
.../qemuargv2xml-machine-core-off.xml | 30 ++
.../qemuargv2xml-machine-core-on.args | 22 +
.../qemuargv2xml-machine-core-on.xml | 30 ++
.../qemuargv2xml-machine-deakeywrap-off-argv.args | 20 +
.../qemuargv2xml-machine-deakeywrap-off-argv.xml | 27 +
.../qemuargv2xml-machine-deakeywrap-on-argv.args | 20 +
.../qemuargv2xml-machine-deakeywrap-on-argv.xml | 27 +
.../qemuargv2xml-machine-keywrap-none-argv.args | 20 +
.../qemuargv2xml-machine-keywrap-none-argv.xml} | 13 +-
tests/qemuargv2xmldata/qemuargv2xml-migrate.args | 23 +
tests/qemuargv2xmldata/qemuargv2xml-migrate.xml | 30 ++
tests/qemuargv2xmldata/qemuargv2xml-misc-acpi.args | 21 +
tests/qemuargv2xmldata/qemuargv2xml-misc-acpi.xml | 33 ++
.../qemuargv2xml-misc-disable-s3.args | 23 +
.../qemuargv2xml-misc-disable-s3.xml | 33 ++
.../qemuargv2xml-misc-disable-suspends.args | 24 +
.../qemuargv2xml-misc-disable-suspends.xml | 34 ++
.../qemuargv2xml-misc-enable-s4.args | 23 +
.../qemuargv2xml-misc-enable-s4.xml | 33 ++
.../qemuargv2xml-misc-no-reboot.args | 23 +
.../qemuargv2xml-misc-no-reboot.xml | 30 ++
tests/qemuargv2xmldata/qemuargv2xml-misc-uuid.args | 21 +
tests/qemuargv2xmldata/qemuargv2xml-misc-uuid.xml | 33 ++
.../qemuargv2xml-net-eth-ifname.args | 23 +
.../qemuargv2xml-net-eth-ifname.xml | 36 ++
tests/qemuargv2xmldata/qemuargv2xml-net-eth.args | 23 +
tests/qemuargv2xmldata/qemuargv2xml-net-eth.xml | 35 ++
tests/qemuargv2xmldata/qemuargv2xml-net-user.args | 23 +
tests/qemuargv2xmldata/qemuargv2xml-net-user.xml | 34 ++
.../qemuargv2xmldata/qemuargv2xml-net-virtio.args | 23 +
tests/qemuargv2xmldata/qemuargv2xml-net-virtio.xml | 34 ++
.../qemuargv2xml-nographics-vga.args | 23 +
.../qemuargv2xml-nographics-vga.xml | 30 ++
.../qemuargv2xml-nosharepages.args | 22 +
.../qemuargv2xmldata/qemuargv2xml-nosharepages.xml | 33 ++
.../qemuargv2xml-parallel-tcp.args | 22 +
.../qemuargv2xmldata/qemuargv2xml-parallel-tcp.xml | 35 ++
.../qemuargv2xml-pseries-disk.args | 18 +
.../qemuargv2xmldata/qemuargv2xml-pseries-disk.xml | 42 ++
.../qemuargv2xml-pseries-nvram.args | 22 +
.../qemuargv2xml-pseries-nvram.xml | 25 +
.../qemuargv2xml-qemu-ns-no-env.args | 23 +
.../qemuargv2xml-qemu-ns-no-env.xml | 34 ++
.../qemuargv2xml-reboot-timeout-disabled.args | 21 +
.../qemuargv2xml-reboot-timeout-disabled.xml | 24 +
.../qemuargv2xml-reboot-timeout-enabled.args | 21 +
.../qemuargv2xml-reboot-timeout-enabled.xml | 24 +
.../qemuargv2xmldata/qemuargv2xml-restore-v2.args | 23 +
tests/qemuargv2xmldata/qemuargv2xml-restore-v2.xml | 30 ++
.../qemuargv2xmldata/qemuargv2xml-serial-dev.args | 22 +
tests/qemuargv2xmldata/qemuargv2xml-serial-dev.xml | 38 ++
.../qemuargv2xmldata/qemuargv2xml-serial-file.args | 22 +
.../qemuargv2xmldata/qemuargv2xml-serial-file.xml | 38 ++
.../qemuargv2xmldata/qemuargv2xml-serial-many.args | 23 +
.../qemuargv2xmldata/qemuargv2xml-serial-many.xml | 40 ++
.../qemuargv2xmldata/qemuargv2xml-serial-pty.args | 22 +
tests/qemuargv2xmldata/qemuargv2xml-serial-pty.xml | 36 ++
.../qemuargv2xml-serial-tcp-telnet.args | 22 +
.../qemuargv2xml-serial-tcp-telnet.xml | 40 ++
.../qemuargv2xmldata/qemuargv2xml-serial-tcp.args | 22 +
tests/qemuargv2xmldata/qemuargv2xml-serial-tcp.xml | 40 ++
.../qemuargv2xmldata/qemuargv2xml-serial-udp.args | 23 +
tests/qemuargv2xmldata/qemuargv2xml-serial-udp.xml | 44 ++
.../qemuargv2xmldata/qemuargv2xml-serial-unix.args | 22 +
.../qemuargv2xmldata/qemuargv2xml-serial-unix.xml | 38 ++
tests/qemuargv2xmldata/qemuargv2xml-serial-vc.args | 22 +
tests/qemuargv2xmldata/qemuargv2xml-serial-vc.xml | 36 ++
tests/qemuargv2xmldata/qemuargv2xml-smp.args | 22 +
tests/qemuargv2xmldata/qemuargv2xml-smp.xml | 33 ++
tests/qemuargv2xmldata/qemuargv2xml-sound.args | 23 +
tests/qemuargv2xmldata/qemuargv2xml-sound.xml | 34 ++
tests/qemuargv2xmldata/qemuargv2xml-watchdog.args | 24 +
tests/qemuargv2xmldata/qemuargv2xml-watchdog.xml | 31 ++
tests/qemuargv2xmltest.c | 4 +-
...> qemuxml2argv-aarch64-virtio-pci-default.args} | 0
...=> qemuxml2argv-aarch64-virtio-pci-default.xml} | 0
...2argv-aarch64-virtio-pci-manual-addresses.args} | 0
...l2argv-aarch64-virtio-pci-manual-addresses.xml} | 0
.../qemuxml2argv-blkiotune-device.args | 8 +-
tests/qemuxml2argvdata/qemuxml2argv-blkiotune.args | 8 +-
.../qemuxml2argvdata/qemuxml2argv-boot-cdrom.args | 7 +-
.../qemuxml2argvdata/qemuxml2argv-boot-floppy.args | 10 +-
.../qemuxml2argv-boot-menu-disable.args | 8 +-
.../qemuxml2argvdata/qemuxml2argv-boot-multi.args | 8 +-
.../qemuxml2argv-boot-network.args | 7 +-
.../qemuxml2argv-clock-catchup.args | 8 +-
.../qemuxml2argv-clock-france.args | 8 +-
.../qemuxml2argv-clock-hpet-off.args | 8 +-
...muxml2argv-clock-localtime-basis-localtime.args | 8 +-
.../qemuxml2argv-clock-localtime.args | 7 +-
.../qemuxml2argv-clock-timer-hyperv-rtc.args | 5 +-
tests/qemuxml2argvdata/qemuxml2argv-clock-utc.args | 8 +-
.../qemuxml2argv-clock-variable.args | 8 +-
.../qemuxml2argv-console-compat-auto.args | 7 +-
.../qemuxml2argv-console-compat.args | 8 +-
.../qemuxml2argv-cpu-Haswell-noTSX.args | 5 +-
.../qemuxml2argvdata/qemuxml2argv-cpu-Haswell.args | 5 +-
.../qemuxml2argv-cpu-Haswell2.args | 5 +-
.../qemuxml2argv-cpu-Haswell3.args | 5 +-
.../qemuxml2argv-cpu-eoi-disabled.args | 5 +-
.../qemuxml2argv-cpu-eoi-enabled.args | 5 +-
.../qemuxml2argvdata/qemuxml2argv-cpu-exact1.args | 5 +-
.../qemuxml2argv-cpu-exact2-nofallback.args | 5 +-
.../qemuxml2argvdata/qemuxml2argv-cpu-exact2.args | 5 +-
.../qemuxml2argv-cpu-fallback.args | 5 +-
.../qemuxml2argv-cpu-host-kvmclock.args | 5 +-
.../qemuxml2argv-cpu-host-model-fallback.args | 5 +-
.../qemuxml2argv-cpu-host-model-vendor.args | 5 +-
.../qemuxml2argv-cpu-host-model.args | 5 +-
...qemuxml2argv-cpu-host-passthrough-features.args | 8 +-
.../qemuxml2argv-cpu-host-passthrough.args | 5 +-
.../qemuxml2argv-cpu-kvmclock.args | 5 +-
.../qemuxml2argv-cpu-minimum1.args | 5 +-
.../qemuxml2argv-cpu-minimum2.args | 5 +-
.../qemuxml2argv-cpu-numa-disjoint.args | 5 +-
.../qemuxml2argv-cpu-numa-no-memory-element.args | 5 +-
tests/qemuxml2argvdata/qemuxml2argv-cpu-numa1.args | 5 +-
tests/qemuxml2argvdata/qemuxml2argv-cpu-numa2.args | 5 +-
.../qemuxml2argvdata/qemuxml2argv-cpu-strict1.args | 5 +-
.../qemuxml2argv-cpu-topology1.args | 5 +-
.../qemuxml2argv-cpu-topology2.args | 5 +-
.../qemuxml2argv-cpu-topology3.args | 5 +-
.../qemuxml2argv-cputune-numatune.args | 7 +-
.../qemuxml2argv-cputune-numatune.xml | 12 +-
.../qemuxml2argv-cputune-zero-shares.args | 8 +-
tests/qemuxml2argvdata/qemuxml2argv-cputune.args | 8 +-
.../qemuxml2argv-default-kvm-host-arch.args | 5 +-
.../qemuxml2argv-default-qemu-host-arch.args | 5 +-
tests/qemuxml2argvdata/qemuxml2argv-disk-aio.args | 15 +-
.../qemuxml2argv-disk-cdrom-empty.args | 10 +-
...qemuxml2argv-disk-cdrom-tray-no-device-cap.args | 11 +-
.../qemuxml2argvdata/qemuxml2argv-disk-cdrom.args | 10 +-
.../qemuxml2argv-disk-drive-boot-cdrom.args | 11 +-
.../qemuxml2argv-disk-drive-boot-disk.args | 11 +-
.../qemuxml2argv-disk-drive-cache-directsync.args | 11 +-
.../qemuxml2argv-disk-drive-cache-unsafe.args | 12 +-
.../qemuxml2argv-disk-drive-cache-v2-none.args | 12 +-
.../qemuxml2argv-disk-drive-cache-v2-wb.args | 11 +-
.../qemuxml2argv-disk-drive-cache-v2-wt.args | 11 +-
.../qemuxml2argv-disk-drive-copy-on-read.args | 8 +-
...uxml2argv-disk-drive-error-policy-enospace.args | 13 +-
.../qemuxml2argv-disk-drive-error-policy-stop.args | 13 +-
...gv-disk-drive-error-policy-wreport-rignore.args | 13 +-
.../qemuxml2argv-disk-drive-fat.args | 8 +-
.../qemuxml2argv-disk-drive-fmt-qcow.args | 11 +-
.../qemuxml2argv-disk-drive-network-gluster.args | 13 +-
...qemuxml2argv-disk-drive-network-iscsi-auth.args | 12 +-
.../qemuxml2argv-disk-drive-network-iscsi.args | 14 +-
...qemuxml2argv-disk-drive-network-nbd-export.args | 12 +-
...ml2argv-disk-drive-network-nbd-ipv6-export.args | 11 +-
.../qemuxml2argv-disk-drive-network-nbd-ipv6.args | 11 +-
.../qemuxml2argv-disk-drive-network-nbd-unix.args | 12 +-
.../qemuxml2argv-disk-drive-network-nbd.args | 11 +-
.../qemuxml2argv-disk-drive-network-rbd-auth.args | 11 +-
.../qemuxml2argv-disk-drive-network-rbd-ipv6.args | 11 +-
.../qemuxml2argv-disk-drive-network-rbd.args | 26 +-
.../qemuxml2argv-disk-drive-network-sheepdog.args | 12 +-
...qemuxml2argv-disk-drive-readonly-no-device.args | 13 +-
.../qemuxml2argv-disk-drive-shared.args | 12 +-
...emuxml2argv-disk-floppy-tray-no-device-cap.args | 14 +-
.../qemuxml2argvdata/qemuxml2argv-disk-floppy.args | 13 +-
.../qemuxml2argv-disk-geometry.args | 10 +-
.../qemuxml2argvdata/qemuxml2argv-disk-iscsi.args | 7 +-
tests/qemuxml2argvdata/qemuxml2argv-disk-many.args | 16 +-
.../qemuxml2argv-disk-snapshot.args | 17 +-
.../qemuxml2argv-disk-usb-nosupport.xml | 35 ++
.../qemuxml2argvdata/qemuxml2argv-disk-virtio.args | 19 +-
.../qemuxml2argvdata/qemuxml2argv-disk-xenvbd.args | 13 +-
.../qemuxml2argv-eoi-disabled.args | 5 +-
.../qemuxml2argvdata/qemuxml2argv-eoi-enabled.args | 5 +-
.../qemuxml2argv-fips-enabled.args | 8 +-
.../qemuxml2argv-floppy-drive-fat.args | 8 +-
.../qemuxml2argv-graphics-sdl-fullscreen.args | 7 +-
.../qemuxml2argv-graphics-sdl.args | 7 +-
.../qemuxml2argv-graphics-vnc-policy.args | 7 +-
.../qemuxml2argv-graphics-vnc-sasl.args | 7 +-
.../qemuxml2argv-graphics-vnc-socket.args | 7 +-
.../qemuxml2argv-graphics-vnc-tls.args | 7 +-
.../qemuxml2argv-graphics-vnc-websocket.args | 4 +-
.../qemuxml2argv-graphics-vnc.args | 7 +-
.../qemuxml2argv-hostdev-pci-address.args | 9 +-
.../qemuxml2argv-hostdev-usb-address.args | 9 +-
.../qemuxml2argv-hugepages-pages.args | 8 +-
.../qemuxml2argv-hugepages-pages2.args | 8 +-
.../qemuxml2argv-hugepages-pages3.args | 8 +-
.../qemuxml2argv-hugepages-pages5.args | 8 +-
.../qemuxml2argv-hugepages-pages6.args | 8 +-
.../qemuxml2argv-hugepages-shared.args | 8 +-
tests/qemuxml2argvdata/qemuxml2argv-hugepages.args | 8 +-
.../qemuxml2argvdata/qemuxml2argv-hyperv-off.args | 5 +-
.../qemuxml2argv-hyperv-panic.args | 6 +-
tests/qemuxml2argvdata/qemuxml2argv-hyperv.args | 6 +-
.../qemuxml2argv-input-usbmouse.args | 9 +-
.../qemuxml2argv-input-usbtablet.args | 9 +-
.../qemuxml2argv-iothreads-ids-partial.args | 7 +-
.../qemuxml2argv-iothreads-ids.args | 7 +-
tests/qemuxml2argvdata/qemuxml2argv-iothreads.args | 7 +-
.../qemuxml2argv-kvm-features-off.args | 5 +-
.../qemuxml2argv-kvm-features.args | 6 +-
.../qemuxml2argv-kvm-pit-delay.args | 8 +-
.../qemuxml2argv-kvm-pit-device.args | 8 +-
tests/qemuxml2argvdata/qemuxml2argv-kvm.args | 6 +-
.../qemuxml2argv-kvmclock+eoi-disabled.args | 5 +-
tests/qemuxml2argvdata/qemuxml2argv-kvmclock.args | 6 +-
.../qemuxml2argv-machine-aliases1.args | 8 +-
.../qemuxml2argv-machine-aliases2.args | 8 +-
.../qemuxml2argv-machine-core-off.args | 7 +-
.../qemuxml2argv-machine-core-on.args | 7 +-
.../qemuxml2argv-machine-usb-opt.args | 8 +-
.../qemuxml2argv-machine-vmport-opt.args | 8 +-
.../qemuxml2argv-memory-hotplug.args | 8 +-
.../qemuxml2argv-memtune-unlimited.args | 8 +-
tests/qemuxml2argvdata/qemuxml2argv-memtune.args | 8 +-
.../qemuxml2argv-migrate-numa-unaligned.args | 7 +-
tests/qemuxml2argvdata/qemuxml2argv-migrate.args | 7 +-
.../qemuxml2argv-minimal-msg-timestamp.args | 8 +-
tests/qemuxml2argvdata/qemuxml2argv-minimal.args | 8 +-
tests/qemuxml2argvdata/qemuxml2argv-misc-acpi.args | 7 +-
.../qemuxml2argv-misc-disable-s3.args | 7 +-
.../qemuxml2argv-misc-disable-suspends.args | 7 +-
.../qemuxml2argv-misc-enable-s4.args | 7 +-
.../qemuxml2argv-misc-no-reboot.args | 7 +-
tests/qemuxml2argvdata/qemuxml2argv-misc-uuid.args | 7 +-
tests/qemuxml2argvdata/qemuxml2argv-mlock-off.args | 6 +-
tests/qemuxml2argvdata/qemuxml2argv-mlock-on.args | 6 +-
.../qemuxml2argv-mlock-unsupported.args | 6 +-
.../qemuxml2argvdata/qemuxml2argv-net-client.args | 9 +-
.../qemuxml2argv-net-eth-ifname.args | 10 +-
.../qemuxml2argv-net-eth-names.args | 11 +-
tests/qemuxml2argvdata/qemuxml2argv-net-eth.args | 10 +-
tests/qemuxml2argvdata/qemuxml2argv-net-mcast.args | 9 +-
.../qemuxml2argvdata/qemuxml2argv-net-server.args | 9 +-
tests/qemuxml2argvdata/qemuxml2argv-net-udp.args | 9 +-
tests/qemuxml2argvdata/qemuxml2argv-net-user.args | 10 +-
.../qemuxml2argvdata/qemuxml2argv-net-virtio.args | 10 +-
.../qemuxml2argv-nographics-vga.args | 8 +-
.../qemuxml2argvdata/qemuxml2argv-nographics.args | 8 +-
.../qemuxml2argv-nosharepages.args | 7 +-
...qemuxml2argv-numad-auto-memory-vcpu-cpuset.args | 8 +-
...d-auto-memory-vcpu-no-cpuset-and-placement.args | 8 +-
...muxml2argv-numad-auto-vcpu-static-numatune.args | 8 +-
...qemuxml2argv-numad-static-memory-auto-vcpu.args | 8 +-
tests/qemuxml2argvdata/qemuxml2argv-numad.args | 8 +-
...qemuxml2argv-numatune-auto-nodeset-invalid.args | 8 +-
.../qemuxml2argv-numatune-auto-prefer.args | 5 +-
.../qemuxml2argv-numatune-memnode-no-memory.args | 5 +-
.../qemuxml2argv-numatune-memnode.args | 5 +-
.../qemuxml2argv-numatune-memory.args | 8 +-
.../qemuxml2argv-parallel-tcp.args | 6 +-
.../qemuxml2argv-pmu-feature-off.args | 6 +-
.../qemuxml2argvdata/qemuxml2argv-pmu-feature.args | 6 +-
tests/qemuxml2argvdata/qemuxml2argv-ppc-dtb.args | 4 +-
.../qemuxml2argv-pseries-nvram.args | 4 +-
.../qemuxml2argv-pv-spinlock-disabled.args | 5 +-
.../qemuxml2argv-pv-spinlock-enabled.args | 5 +-
.../qemuxml2argv-qemu-ns-commandline-ns0.args | 8 +-
.../qemuxml2argv-qemu-ns-commandline-ns1.args | 8 +-
.../qemuxml2argv-qemu-ns-commandline.args | 8 +-
...emuxml2argv-qemu-ns-domain-commandline-ns0.args | 8 +-
.../qemuxml2argv-qemu-ns-domain-commandline.args | 8 +-
.../qemuxml2argv-qemu-ns-domain-ns0.args | 8 +-
.../qemuxml2argv-qemu-ns-no-env.args | 7 +-
tests/qemuxml2argvdata/qemuxml2argv-qemu-ns.args | 8 +-
.../qemuxml2argv-reboot-timeout-disabled.args | 6 +-
.../qemuxml2argv-reboot-timeout-enabled.args | 6 +-
.../qemuxml2argv-restore-v2-fd.args | 10 +-
.../qemuxml2argvdata/qemuxml2argv-restore-v2.args | 7 +-
.../qemuxml2argv-seclabel-dac-none.args | 8 +-
.../qemuxml2argv-seclabel-dynamic-baselabel.args | 8 +-
.../qemuxml2argv-seclabel-dynamic-labelskip.args | 8 +-
.../qemuxml2argv-seclabel-dynamic-override.args | 11 +-
.../qemuxml2argv-seclabel-dynamic-relabel.args | 8 +-
.../qemuxml2argv-seclabel-dynamic.args | 8 +-
.../qemuxml2argv-seclabel-none.args | 8 +-
.../qemuxml2argv-seclabel-static-labelskip.args | 8 +-
.../qemuxml2argv-seclabel-static-relabel.args | 8 +-
.../qemuxml2argv-seclabel-static.args | 8 +-
.../qemuxml2argvdata/qemuxml2argv-serial-dev.args | 8 +-
.../qemuxml2argvdata/qemuxml2argv-serial-file.args | 8 +-
.../qemuxml2argvdata/qemuxml2argv-serial-many.args | 8 +-
.../qemuxml2argvdata/qemuxml2argv-serial-pty.args | 8 +-
.../qemuxml2argv-serial-spiceport-nospice.args | 8 +-
.../qemuxml2argv-serial-tcp-telnet.args | 8 +-
.../qemuxml2argvdata/qemuxml2argv-serial-tcp.args | 8 +-
.../qemuxml2argvdata/qemuxml2argv-serial-udp.args | 8 +-
.../qemuxml2argvdata/qemuxml2argv-serial-unix.args | 8 +-
tests/qemuxml2argvdata/qemuxml2argv-serial-vc.args | 8 +-
tests/qemuxml2argvdata/qemuxml2argv-smbios.args | 8 +-
tests/qemuxml2argvdata/qemuxml2argv-smp.args | 7 +-
tests/qemuxml2argvdata/qemuxml2argv-sound.args | 12 +-
.../qemuxml2argv-video-qxl-nodevice.args | 14 +-
.../qemuxml2argv-video-vga-nodevice.args | 12 +-
.../qemuxml2argv-watchdog-dump.args | 12 +-
.../qemuxml2argv-watchdog-injectnmi.args | 12 +-
tests/qemuxml2argvdata/qemuxml2argv-watchdog.args | 9 +-
tests/qemuxml2argvtest.c | 582 ++++++++++-----------
.../qemuxml2xmlout-aarch64-aavmf-virtio-mmio.xml | 53 ++
.../qemuxml2xmlout-aarch64-gic.xml | 32 ++
.../qemuxml2xmlout-aarch64-gicv3.xml | 32 ++
.../qemuxml2xmlout-aarch64-virtio-pci-default.xml | 69 +++
...2xmlout-aarch64-virtio-pci-manual-addresses.xml | 53 ++
.../qemuxml2xmlout-balloon-device-auto.xml | 12 +-
.../qemuxml2xmlout-balloon-device-period.xml | 8 +-
.../qemuxml2xmlout-bios-nvram-os-interleave.xml | 12 +-
.../qemuxml2xmlout-bios-nvram.xml | 48 ++
.../qemuxml2xmlout-blkdeviotune.xml | 51 ++
.../qemuxml2xmlout-blkiotune-device.xml | 54 ++
.../qemuxml2xmlout-blkiotune.xml | 38 ++
.../qemuxml2xmlout-boot-cdrom.xml | 35 ++
.../qemuxml2xmlout-boot-floppy.xml | 41 ++
...muxml2xmlout-boot-menu-disable-with-timeout.xml | 12 +-
.../qemuxml2xmlout-boot-menu-disable.xml | 37 ++
...emuxml2xmlout-boot-menu-enable-with-timeout.xml | 37 ++
.../qemuxml2xmlout-boot-multi.xml | 40 ++
.../qemuxml2xmlout-boot-network.xml | 34 ++
.../qemuxml2xmlout-boot-order.xml | 64 +++
.../qemuxml2xmlout-channel-guestfwd.xml | 39 ++
.../qemuxml2xmlout-channel-virtio-auto.xml | 29 +-
.../qemuxml2xmlout-channel-virtio-state-active.xml | 12 +-
...emuxml2xmlout-channel-virtio-state-inactive.xml | 12 +-
.../qemuxml2xmlout-channel-virtio.xml | 42 ++
.../qemuxml2xmlout-chardev-label.xml | 54 ++
.../qemuxml2xmlout-clock-catchup.xml | 45 ++
.../qemuxml2xmlout-clock-localtime.xml | 34 ++
.../qemuxml2xmlout-clock-timer-hyperv-rtc.xml | 32 ++
.../qemuxml2xmlout-clock-utc.xml | 34 ++
.../qemuxml2xmlout-console-compat-auto.xml | 12 +-
.../qemuxml2xmlout-console-compat.xml | 40 ++
.../qemuxml2xmlout-console-compat2.xml | 12 +-
.../qemuxml2xmlout-console-virtio-many.xml | 53 ++
.../qemuxml2xmlout-console-virtio.xml | 16 +-
.../qemuxml2xmlout-controller-usb-order.xml | 4 +-
.../qemuxml2xmlout-cpu-empty.xml | 8 +-
.../qemuxml2xmlout-cpu-eoi-disabled.xml | 35 ++
.../qemuxml2xmlout-cpu-eoi-enabled.xml | 35 ++
.../qemuxml2xmlout-cpu-host-kvmclock.xml | 30 ++
.../qemuxml2xmlout-cpu-host-model-features.xml | 41 ++
...emuxml2xmlout-cpu-host-passthrough-features.xml | 45 ++
.../qemuxml2xmlout-cpu-kvmclock.xml | 32 ++
.../qemuxml2xmlout-cpu-numa-disjoint.xml | 34 ++
.../qemuxml2xmlout-cpu-numa-disordered.xml | 8 +-
.../qemuxml2xmlout-cpu-numa-memshared.xml | 34 ++
.../qemuxml2xmlout-cpu-numa-no-memory-element.xml | 8 +-
.../qemuxml2xmlout-cpu-numa1.xml | 8 +-
.../qemuxml2xmlout-cpu-numa2.xml | 8 +-
.../qemuxml2xmlout-cputune-iothreads.xml | 12 +-
...l2xmlout-cputune-iothreadsched-zeropriority.xml | 46 ++
.../qemuxml2xmlout-cputune-iothreadsched.xml | 12 +-
.../qemuxml2xmlout-cputune-numatune.xml | 33 ++
.../qemuxml2xmlout-cputune-zero-shares.xml | 43 ++
.../qemuxml2xmloutdata/qemuxml2xmlout-cputune.xml | 43 ++
.../qemuxml2xmlout-default-kvm-host-arch.xml | 8 +-
.../qemuxml2xmlout-default-qemu-host-arch.xml | 8 +-
.../qemuxml2xmlout-disk-active-commit.xml | 45 ++
.../qemuxml2xmloutdata/qemuxml2xmlout-disk-aio.xml | 43 ++
.../qemuxml2xmlout-disk-backing-chains-active.xml | 13 +-
...qemuxml2xmlout-disk-backing-chains-inactive.xml | 13 +-
.../qemuxml2xmlout-disk-cdrom-empty.xml | 40 ++
.../qemuxml2xmlout-disk-cdrom.xml | 41 ++
.../qemuxml2xmlout-disk-copy_on_read.xml | 60 +++
.../qemuxml2xmlout-disk-drive-boot-cdrom.xml | 41 ++
.../qemuxml2xmlout-disk-drive-boot-disk.xml | 41 ++
.../qemuxml2xmlout-disk-drive-cache-directsync.xml | 41 ++
.../qemuxml2xmlout-disk-drive-cache-unsafe.xml | 41 ++
.../qemuxml2xmlout-disk-drive-cache-v2-none.xml | 41 ++
.../qemuxml2xmlout-disk-drive-cache-v2-wb.xml | 41 ++
.../qemuxml2xmlout-disk-drive-cache-v2-wt.xml | 41 ++
.../qemuxml2xmlout-disk-drive-copy-on-read.xml | 36 ++
.../qemuxml2xmlout-disk-drive-discard.xml | 12 +-
...xml2xmlout-disk-drive-error-policy-enospace.xml | 41 ++
...qemuxml2xmlout-disk-drive-error-policy-stop.xml | 41 ++
...out-disk-drive-error-policy-wreport-rignore.xml | 41 ++
.../qemuxml2xmlout-disk-drive-fat.xml | 37 ++
.../qemuxml2xmlout-disk-drive-fmt-qcow.xml | 41 ++
.../qemuxml2xmlout-disk-drive-network-gluster.xml | 41 ++
...emuxml2xmlout-disk-drive-network-iscsi-auth.xml | 44 ++
.../qemuxml2xmlout-disk-drive-network-iscsi.xml | 41 ++
...emuxml2xmlout-disk-drive-network-nbd-export.xml | 42 ++
...l2xmlout-disk-drive-network-nbd-ipv6-export.xml | 42 ++
.../qemuxml2xmlout-disk-drive-network-nbd-ipv6.xml | 42 ++
.../qemuxml2xmlout-disk-drive-network-nbd-unix.xml | 42 ++
.../qemuxml2xmlout-disk-drive-network-nbd.xml | 42 ++
.../qemuxml2xmlout-disk-drive-network-rbd-auth.xml | 47 ++
...uxml2xmlout-disk-drive-network-rbd-ceph-env.xml | 44 ++
.../qemuxml2xmlout-disk-drive-network-rbd-ipv6.xml | 45 ++
.../qemuxml2xmlout-disk-drive-network-rbd.xml | 72 +++
.../qemuxml2xmlout-disk-drive-network-sheepdog.xml | 42 ++
.../qemuxml2xmlout-disk-floppy.xml | 47 ++
.../qemuxml2xmlout-disk-many.xml | 52 ++
.../qemuxml2xmlout-disk-mirror-active.xml | 66 +++
.../qemuxml2xmlout-disk-mirror-inactive.xml | 51 ++
.../qemuxml2xmlout-disk-mirror-old-inactive.xml | 14 +-
.../qemuxml2xmlout-disk-mirror-old.xml | 14 +-
.../qemuxml2xmlout-disk-scsi-device-auto.xml | 16 +-
.../qemuxml2xmlout-disk-scsi-device.xml | 43 ++
.../qemuxml2xmlout-disk-scsi-disk-vpd.xml | 49 ++
...muxml2xmlout-disk-scsi-lun-passthrough-sgio.xml | 43 ++
.../qemuxml2xmlout-disk-scsi-megasas.xml | 43 ++
.../qemuxml2xmlout-disk-scsi-virtio-scsi.xml | 43 ++
.../qemuxml2xmlout-disk-scsi-vscsi.xml | 43 ++
.../qemuxml2xmlout-disk-source-pool-mode.xml | 55 ++
.../qemuxml2xmlout-disk-source-pool.xml | 12 +-
.../qemuxml2xmlout-disk-usb-device.xml | 39 ++
...qemuxml2xmlout-disk-virtio-scsi-cmd_per_lun.xml | 36 ++
.../qemuxml2xmlout-disk-virtio-scsi-ioeventfd.xml | 36 ++
...qemuxml2xmlout-disk-virtio-scsi-max_sectors.xml | 36 ++
.../qemuxml2xmlout-disk-virtio-scsi-num_queues.xml | 36 ++
.../qemuxml2xmlout-disk-virtio.xml | 53 ++
.../qemuxml2xmlout-disk-xenvbd.xml | 51 ++
.../qemuxml2xmlout-encrypted-disk.xml | 36 ++
.../qemuxml2xmlout-eoi-disabled.xml | 32 ++
.../qemuxml2xmlout-eoi-enabled.xml | 32 ++
.../qemuxml2xmlout-event_idx.xml | 60 +++
.../qemuxml2xmlout-floppy-drive-fat.xml | 38 ++
.../qemuxml2xmlout-graphics-listen-network.xml | 42 ++
.../qemuxml2xmlout-graphics-listen-network2.xml | 13 +-
.../qemuxml2xmlout-graphics-sdl-fullscreen.xml | 39 ++
.../qemuxml2xmlout-graphics-sdl.xml | 39 ++
.../qemuxml2xmlout-graphics-spice-compression.xml | 51 ++
.../qemuxml2xmlout-graphics-spice-qxl-vga.xml | 48 ++
.../qemuxml2xmlout-graphics-spice-timeout.xml | 4 +-
.../qemuxml2xmlout-graphics-spice.xml | 55 ++
.../qemuxml2xmlout-graphics-vnc-sasl.xml | 41 ++
.../qemuxml2xmlout-graphics-vnc-tls.xml | 41 ++
.../qemuxml2xmlout-graphics-vnc-websocket.xml | 32 ++
.../qemuxml2xmlout-graphics-vnc.xml | 41 ++
.../qemuxml2xmlout-hostdev-pci-address.xml | 40 ++
...qemuxml2xmlout-hostdev-scsi-autogen-address.xml | 20 +-
.../qemuxml2xmlout-hostdev-scsi-large-unit.xml | 45 ++
.../qemuxml2xmlout-hostdev-scsi-lsi-iscsi-auth.xml | 56 ++
.../qemuxml2xmlout-hostdev-scsi-lsi-iscsi.xml | 50 ++
.../qemuxml2xmlout-hostdev-scsi-lsi.xml | 45 ++
.../qemuxml2xmlout-hostdev-scsi-rawio.xml | 45 ++
.../qemuxml2xmlout-hostdev-scsi-readonly.xml | 46 ++
.../qemuxml2xmlout-hostdev-scsi-sgio.xml | 45 ++
.../qemuxml2xmlout-hostdev-scsi-shareable.xml | 46 ++
...muxml2xmlout-hostdev-scsi-virtio-iscsi-auth.xml | 56 ++
.../qemuxml2xmlout-hostdev-scsi-virtio-iscsi.xml | 50 ++
.../qemuxml2xmlout-hostdev-scsi-virtio-scsi.xml | 45 ++
.../qemuxml2xmlout-hostdev-usb-address.xml | 39 ++
.../qemuxml2xmlout-hostdev-vfio.xml | 42 ++
.../qemuxml2xmlout-hugepages-pages.xml | 53 ++
.../qemuxml2xmlout-hugepages-pages2.xml | 46 ++
.../qemuxml2xmlout-hugepages-pages3.xml | 46 ++
.../qemuxml2xmlout-hugepages-shared.xml | 53 ++
.../qemuxml2xmlout-hugepages.xml | 38 ++
.../qemuxml2xmlout-hyperv-off.xml | 35 ++
.../qemuxml2xmlout-hyperv-panic.xml | 29 +
tests/qemuxml2xmloutdata/qemuxml2xmlout-hyperv.xml | 33 ++
.../qemuxml2xmlout-input-usbmouse.xml | 35 ++
.../qemuxml2xmlout-input-usbtablet.xml | 35 ++
.../qemuxml2xmlout-interface-driver.xml | 61 +++
.../qemuxml2xmlout-interface-server.xml | 134 +++++
.../qemuxml2xmlout-iothreads-disk-virtio-ccw.xml | 35 ++
.../qemuxml2xmlout-iothreads-disk.xml | 47 ++
.../qemuxml2xmlout-iothreads-ids-partial.xml | 39 ++
.../qemuxml2xmlout-iothreads-ids.xml | 39 ++
.../qemuxml2xmlout-iothreads.xml | 35 ++
.../qemuxml2xmlout-kvm-features-off.xml | 33 ++
.../qemuxml2xmlout-kvm-features.xml | 31 ++
.../qemuxml2xmloutdata/qemuxml2xmlout-kvmclock.xml | 30 ++
tests/qemuxml2xmloutdata/qemuxml2xmlout-lease.xml | 46 ++
.../qemuxml2xmlout-machine-core-off.xml | 34 ++
.../qemuxml2xmlout-machine-core-on.xml | 34 ++
.../qemuxml2xmlout-memory-hotplug-dimm.xml | 62 +++
.../qemuxml2xmlout-memory-hotplug-nonuma.xml | 28 +
.../qemuxml2xmlout-memory-hotplug.xml | 42 ++
.../qemuxml2xmlout-memtune-unlimited.xml | 12 +-
.../qemuxml2xmloutdata/qemuxml2xmlout-memtune.xml | 12 +-
.../qemuxml2xmlout-metadata-duplicate.xml | 12 +-
.../qemuxml2xmloutdata/qemuxml2xmlout-metadata.xml | 12 +-
.../qemuxml2xmloutdata/qemuxml2xmlout-migrate.xml | 34 ++
.../qemuxml2xmloutdata/qemuxml2xmlout-minimal.xml | 40 ++
.../qemuxml2xmlout-misc-acpi.xml | 37 ++
.../qemuxml2xmlout-misc-disable-s3.xml | 37 ++
.../qemuxml2xmlout-misc-disable-suspends.xml | 38 ++
.../qemuxml2xmlout-misc-enable-s4.xml | 37 ++
.../qemuxml2xmlout-misc-no-reboot.xml | 34 ++
.../qemuxml2xmlout-misc-uuid.xml | 37 ++
.../qemuxml2xmlout-net-bandwidth.xml | 78 +++
.../qemuxml2xmlout-net-bandwidth2.xml | 67 +++
.../qemuxml2xmlout-net-eth-ifname.xml | 41 ++
.../qemuxml2xmloutdata/qemuxml2xmlout-net-eth.xml | 40 ++
.../qemuxml2xmlout-net-hostdev-vfio.xml | 50 ++
.../qemuxml2xmlout-net-hostdev.xml | 49 ++
.../qemuxml2xmlout-net-midonet.xml | 44 ++
.../qemuxml2xmlout-net-openvswitch.xml | 49 ++
.../qemuxml2xmloutdata/qemuxml2xmlout-net-udp.xml | 43 ++
.../qemuxml2xmloutdata/qemuxml2xmlout-net-user.xml | 39 ++
.../qemuxml2xmlout-net-vhostuser.xml | 52 ++
.../qemuxml2xmlout-net-virtio-device.xml | 41 ++
.../qemuxml2xmlout-net-virtio-disable-offloads.xml | 44 ++
...qemuxml2xmlout-net-virtio-network-portgroup.xml | 65 +++
.../qemuxml2xmlout-net-virtio.xml | 39 ++
.../qemuxml2xmlout-nographics-vga.xml | 34 ++
.../qemuxml2xmlout-nosharepages.xml | 37 ++
...emuxml2xmlout-numad-auto-memory-vcpu-cpuset.xml | 12 +-
...ad-auto-memory-vcpu-no-cpuset-and-placement.xml | 12 +-
.../qemuxml2xmlout-numad-auto-vcpu-no-numatune.xml | 12 +-
...emuxml2xmlout-numad-static-vcpu-no-numatune.xml | 38 ++
.../qemuxml2xmlout-numatune-auto-prefer.xml | 8 +-
.../qemuxml2xmlout-numatune-memnode-no-memory.xml | 36 ++
.../qemuxml2xmlout-numatune-memnode.xml | 8 +-
.../qemuxml2xmlout-panic-double.xml | 32 ++
.../qemuxml2xmlout-panic-isa.xml | 39 ++
.../qemuxml2xmlout-panic-no-address.xml | 37 ++
.../qemuxml2xmlout-panic-pseries.xml | 32 ++
tests/qemuxml2xmloutdata/qemuxml2xmlout-panic.xml | 12 +-
.../qemuxml2xmlout-parallel-tcp.xml | 39 ++
.../qemuxml2xmlout-pci-autoadd-addr.xml | 35 ++
.../qemuxml2xmlout-pci-autoadd-idx.xml | 41 +-
.../qemuxml2xmlout-pci-bridge-many-disks.xml | 124 ++++-
.../qemuxml2xmlout-pci-bridge.xml | 251 +++++++++
.../qemuxml2xmloutdata/qemuxml2xmlout-pci-rom.xml | 61 +++
.../qemuxml2xmlout-pci-serial-dev-chardev.xml | 45 ++
.../qemuxml2xmlout-pcie-root-port.xml | 53 ++
.../qemuxml2xmlout-pcie-root.xml | 15 +-
.../qemuxml2xmlout-pcie-switch-downstream-port.xml | 91 ++++
.../qemuxml2xmlout-pcie-switch-upstream-port.xml | 61 +++
.../qemuxml2xmlout-pcihole64-gib.xml | 8 +-
.../qemuxml2xmlout-pcihole64-none.xml | 29 +
.../qemuxml2xmlout-pcihole64-q35.xml | 45 ++
.../qemuxml2xmlout-pcihole64.xml | 29 +
.../qemuxml2xmlout-pmu-feature-off.xml | 29 +
.../qemuxml2xmlout-pmu-feature.xml | 4 +-
.../qemuxml2xmlout-pseries-nvram.xml | 27 +
.../qemuxml2xmlout-pseries-panic-missing.xml | 8 +-
.../qemuxml2xmlout-pseries-panic-no-address.xml | 8 +-
.../qemuxml2xmlout-pv-spinlock-disabled.xml | 32 ++
.../qemuxml2xmlout-pv-spinlock-enabled.xml | 32 ++
.../qemuxml2xmlout-q35-usb2-multi.xml | 28 +-
.../qemuxml2xmlout-q35-usb2-reorder.xml | 28 +-
.../qemuxml2xmloutdata/qemuxml2xmlout-q35-usb2.xml | 14 +-
tests/qemuxml2xmloutdata/qemuxml2xmlout-q35.xml | 22 +-
.../qemuxml2xmlout-qemu-ns-no-env.xml | 38 ++
.../qemuxml2xmlout-reboot-timeout-disabled.xml | 26 +
.../qemuxml2xmlout-reboot-timeout-enabled.xml | 26 +
.../qemuxml2xmlout-restore-v2.xml | 34 ++
.../qemuxml2xmlout-s390-defaultconsole.xml | 3 +-
.../qemuxml2xmlout-seclabel-dac-none.xml | 36 ++
.../qemuxml2xmlout-seclabel-device-multiple.xml | 40 ++
.../qemuxml2xmlout-seclabel-dynamic-baselabel.xml | 38 ++
.../qemuxml2xmlout-seclabel-dynamic-labelskip.xml | 12 +-
.../qemuxml2xmlout-seclabel-dynamic-none.xml | 36 ++
.../qemuxml2xmlout-seclabel-dynamic-override.xml | 50 ++
.../qemuxml2xmlout-seclabel-dynamic-relabel.xml | 12 +-
.../qemuxml2xmlout-seclabel-none.xml | 12 +-
.../qemuxml2xmlout-seclabel-static-labelskip.xml | 42 ++
.../qemuxml2xmlout-seclabel-static.xml | 38 ++
.../qemuxml2xmlout-serial-dev.xml | 42 ++
.../qemuxml2xmlout-serial-file.xml | 42 ++
.../qemuxml2xmlout-serial-many.xml | 44 ++
.../qemuxml2xmlout-serial-pty.xml | 40 ++
.../qemuxml2xmlout-serial-spiceport-nospice.xml | 43 ++
.../qemuxml2xmlout-serial-spiceport.xml | 51 ++
.../qemuxml2xmlout-serial-target-port-auto.xml | 12 +-
.../qemuxml2xmlout-serial-tcp-telnet.xml | 44 ++
.../qemuxml2xmlout-serial-tcp.xml | 44 ++
.../qemuxml2xmlout-serial-udp.xml | 48 ++
.../qemuxml2xmlout-serial-unix.xml | 42 ++
.../qemuxml2xmlout-serial-vc.xml | 40 ++
tests/qemuxml2xmloutdata/qemuxml2xmlout-shmem.xml | 64 +++
.../qemuxml2xmlout-smbios-multiple-type2.xml | 66 +++
tests/qemuxml2xmloutdata/qemuxml2xmlout-smbios.xml | 59 +++
tests/qemuxml2xmloutdata/qemuxml2xmlout-smp.xml | 37 ++
.../qemuxml2xmlout-sound-device.xml | 60 +++
tests/qemuxml2xmloutdata/qemuxml2xmlout-sound.xml | 42 ++
.../qemuxml2xmlout-tap-vhost-incorrect.xml | 14 +-
.../qemuxml2xmlout-tap-vhost.xml | 61 +++
.../qemuxml2xmlout-tpm-passthrough.xml | 36 ++
.../qemuxml2xmlout-usb-ich9-ehci-addr.xml | 25 +-
.../qemuxml2xmlout-usb-redir-filter-version.xml | 8 +-
.../qemuxml2xmlout-usb-redir-filter.xml | 4 +-
.../qemuxml2xmlout-usb-redir.xml | 46 ++
.../qemuxml2xmlout-vcpu-placement-static.xml | 42 ++
.../qemuxml2xmlout-vhost_queues.xml | 60 +++
.../qemuxml2xmlout-video-virtio-gpu-device.xml | 40 ++
.../qemuxml2xmlout-video-virtio-gpu-virgl.xml | 42 ++
.../qemuxml2xmlout-virtio-input-passthrough.xml | 31 ++
.../qemuxml2xmlout-virtio-input.xml | 36 ++
.../qemuxml2xmlout-virtio-lun.xml | 59 +++
.../qemuxml2xmlout-virtio-rng-egd.xml | 34 ++
.../qemuxml2xmlout-virtio-rng-random.xml | 32 ++
.../qemuxml2xmloutdata/qemuxml2xmlout-watchdog.xml | 35 ++
tests/qemuxml2xmltest.c | 417 ++++++++++-----
tests/testutils.c | 45 +-
tests/testutils.h | 6 +-
703 files changed, 17462 insertions(+), 1522 deletions(-)
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-boot-cdrom.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-boot-cdrom.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-boot-floppy.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-boot-floppy.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-boot-network.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-boot-network.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-clock-localtime.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-clock-localtime.xml
rename tests/{qemuxml2argvdata/qemuxml2argv-minimal-s390.args => qemuargv2xmldata/qemuargv2xml-clock-utc.args} (79%)
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-clock-utc.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-console-compat.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-console-compat.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-cdrom-empty.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-cdrom-empty.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-cdrom.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-cdrom.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-boot-cdrom.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-boot-cdrom.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-boot-disk.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-boot-disk.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-cache-directsync.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-cache-directsync.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-cache-unsafe.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-cache-unsafe.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-cache-v2-none.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-cache-v2-none.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-cache-v2-wb.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-cache-v2-wb.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-cache-v2-wt.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-cache-v2-wt.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-error-policy-enospace.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-error-policy-enospace.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-error-policy-stop.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-error-policy-stop.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-error-policy-wreport-rignore.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-error-policy-wreport-rignore.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-fmt-qcow.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-fmt-qcow.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-gluster.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-gluster.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-iscsi-auth.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-iscsi-auth.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-iscsi.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-iscsi.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-nbd-export.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-nbd-export.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-nbd-ipv6-export.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-nbd-ipv6-export.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-nbd-ipv6.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-nbd-ipv6.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-nbd-unix.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-nbd-unix.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-nbd.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-nbd.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-rbd-auth.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-rbd-auth.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-rbd-ceph-env.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-rbd-ceph-env.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-rbd-ipv6.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-rbd-ipv6.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-rbd.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-rbd.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-sheepdog.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-drive-network-sheepdog.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-floppy.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-floppy.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-many.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-many.xml
rename tests/{qemuxml2argvdata/qemuxml2argv-disk-usb.args => qemuargv2xmldata/qemuargv2xml-disk-usb.args} (100%)
rename tests/{qemuxml2argvdata/qemuxml2argv-disk-usb.xml => qemuargv2xmldata/qemuargv2xml-disk-usb.xml} (100%)
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-virtio.args
rename tests/{qemuxml2xmloutdata/qemuxml2xmlout-disk-mirror.xml => qemuargv2xmldata/qemuargv2xml-disk-virtio.xml} (88%)
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-xenvbd.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-disk-xenvbd.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-graphics-sdl-fullscreen.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-graphics-sdl-fullscreen.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-graphics-sdl.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-graphics-sdl.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-graphics-vnc-policy.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-graphics-vnc-policy.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-graphics-vnc-sasl.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-graphics-vnc-sasl.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-graphics-vnc-socket.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-graphics-vnc-socket.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-graphics-vnc-tls.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-graphics-vnc-tls.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-graphics-vnc-websocket.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-graphics-vnc-websocket.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-graphics-vnc.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-graphics-vnc.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-hostdev-pci-address.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-hostdev-pci-address.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-hostdev-usb-address.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-hostdev-usb-address.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-hyperv-panic.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-hyperv-panic.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-hyperv.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-hyperv.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-input-usbmouse.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-input-usbmouse.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-input-usbtablet.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-input-usbtablet.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-kvm-features.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-kvm-features.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-kvmclock.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-kvmclock.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-machine-aeskeywrap-off-argv.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-machine-aeskeywrap-off-argv.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-machine-aeskeywrap-on-argv.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-machine-aeskeywrap-on-argv.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-machine-core-off.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-machine-core-off.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-machine-core-on.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-machine-core-on.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-machine-deakeywrap-off-argv.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-machine-deakeywrap-off-argv.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-machine-deakeywrap-on-argv.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-machine-deakeywrap-on-argv.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-machine-keywrap-none-argv.args
rename tests/{qemuxml2argvdata/qemuxml2argv-minimal-s390.xml => qemuargv2xmldata/qemuargv2xml-machine-keywrap-none-argv.xml} (53%)
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-migrate.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-migrate.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-misc-acpi.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-misc-acpi.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-misc-disable-s3.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-misc-disable-s3.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-misc-disable-suspends.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-misc-disable-suspends.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-misc-enable-s4.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-misc-enable-s4.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-misc-no-reboot.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-misc-no-reboot.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-misc-uuid.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-misc-uuid.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-net-eth-ifname.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-net-eth-ifname.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-net-eth.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-net-eth.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-net-user.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-net-user.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-net-virtio.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-net-virtio.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-nographics-vga.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-nographics-vga.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-nosharepages.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-nosharepages.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-parallel-tcp.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-parallel-tcp.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-pseries-disk.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-pseries-disk.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-pseries-nvram.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-pseries-nvram.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-qemu-ns-no-env.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-qemu-ns-no-env.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-reboot-timeout-disabled.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-reboot-timeout-disabled.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-reboot-timeout-enabled.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-reboot-timeout-enabled.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-restore-v2.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-restore-v2.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-serial-dev.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-serial-dev.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-serial-file.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-serial-file.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-serial-many.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-serial-many.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-serial-pty.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-serial-pty.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-serial-tcp-telnet.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-serial-tcp-telnet.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-serial-tcp.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-serial-tcp.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-serial-udp.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-serial-udp.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-serial-unix.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-serial-unix.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-serial-vc.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-serial-vc.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-smp.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-smp.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-sound.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-sound.xml
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-watchdog.args
create mode 100644 tests/qemuargv2xmldata/qemuargv2xml-watchdog.xml
rename tests/qemuxml2argvdata/{qemuxml2argv-aarch64-mmio-default-pci.args => qemuxml2argv-aarch64-virtio-pci-default.args} (100%)
rename tests/qemuxml2argvdata/{qemuxml2argv-aarch64-mmio-default-pci.xml => qemuxml2argv-aarch64-virtio-pci-default.xml} (100%)
rename tests/qemuxml2argvdata/{qemuxml2argv-aarch64-virtio-pci.args => qemuxml2argv-aarch64-virtio-pci-manual-addresses.args} (100%)
rename tests/qemuxml2argvdata/{qemuxml2argv-aarch64-virtio-pci.xml => qemuxml2argv-aarch64-virtio-pci-manual-addresses.xml} (100%)
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-usb-nosupport.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-aarch64-aavmf-virtio-mmio.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-aarch64-gic.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-aarch64-gicv3.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-aarch64-virtio-pci-default.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-aarch64-virtio-pci-manual-addresses.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-bios-nvram.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-blkdeviotune.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-blkiotune-device.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-blkiotune.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-boot-cdrom.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-boot-floppy.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-boot-menu-disable.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-boot-menu-enable-with-timeout.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-boot-multi.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-boot-network.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-boot-order.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-channel-guestfwd.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-channel-virtio.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-chardev-label.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-clock-catchup.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-clock-localtime.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-clock-timer-hyperv-rtc.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-clock-utc.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-console-compat.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-console-virtio-many.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-cpu-eoi-disabled.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-cpu-eoi-enabled.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-cpu-host-kvmclock.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-cpu-host-model-features.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-cpu-host-passthrough-features.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-cpu-kvmclock.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-cpu-numa-disjoint.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-cpu-numa-memshared.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-cputune-iothreadsched-zeropriority.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-cputune-numatune.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-cputune-zero-shares.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-cputune.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-active-commit.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-aio.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-cdrom-empty.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-cdrom.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-copy_on_read.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-boot-cdrom.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-boot-disk.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-cache-directsync.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-cache-unsafe.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-cache-v2-none.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-cache-v2-wb.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-cache-v2-wt.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-copy-on-read.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-error-policy-enospace.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-error-policy-stop.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-error-policy-wreport-rignore.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-fat.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-fmt-qcow.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-network-gluster.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-network-iscsi-auth.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-network-iscsi.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-network-nbd-export.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-network-nbd-ipv6-export.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-network-nbd-ipv6.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-network-nbd-unix.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-network-nbd.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-network-rbd-auth.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-network-rbd-ceph-env.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-network-rbd-ipv6.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-network-rbd.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-network-sheepdog.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-floppy.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-many.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-mirror-active.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-mirror-inactive.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-scsi-device.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-scsi-disk-vpd.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-scsi-lun-passthrough-sgio.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-scsi-megasas.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-scsi-virtio-scsi.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-scsi-vscsi.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-source-pool-mode.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-usb-device.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-virtio-scsi-cmd_per_lun.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-virtio-scsi-ioeventfd.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-virtio-scsi-max_sectors.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-virtio-scsi-num_queues.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-virtio.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-xenvbd.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-encrypted-disk.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-eoi-disabled.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-eoi-enabled.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-event_idx.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-floppy-drive-fat.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-graphics-listen-network.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-graphics-sdl-fullscreen.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-graphics-sdl.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-graphics-spice-compression.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-graphics-spice-qxl-vga.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-graphics-spice.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-graphics-vnc-sasl.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-graphics-vnc-tls.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-graphics-vnc-websocket.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-graphics-vnc.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-hostdev-pci-address.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-hostdev-scsi-large-unit.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-hostdev-scsi-lsi-iscsi-auth.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-hostdev-scsi-lsi-iscsi.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-hostdev-scsi-lsi.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-hostdev-scsi-rawio.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-hostdev-scsi-readonly.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-hostdev-scsi-sgio.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-hostdev-scsi-shareable.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-hostdev-scsi-virtio-iscsi-auth.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-hostdev-scsi-virtio-iscsi.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-hostdev-scsi-virtio-scsi.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-hostdev-usb-address.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-hostdev-vfio.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-hugepages-pages.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-hugepages-pages2.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-hugepages-pages3.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-hugepages-shared.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-hugepages.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-hyperv-off.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-hyperv-panic.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-hyperv.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-input-usbmouse.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-input-usbtablet.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-interface-driver.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-interface-server.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-iothreads-disk-virtio-ccw.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-iothreads-disk.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-iothreads-ids-partial.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-iothreads-ids.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-iothreads.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-kvm-features-off.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-kvm-features.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-kvmclock.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-lease.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-machine-core-off.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-machine-core-on.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-memory-hotplug-dimm.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-memory-hotplug-nonuma.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-memory-hotplug.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-migrate.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-minimal.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-misc-acpi.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-misc-disable-s3.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-misc-disable-suspends.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-misc-enable-s4.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-misc-no-reboot.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-misc-uuid.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-net-bandwidth.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-net-bandwidth2.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-net-eth-ifname.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-net-eth.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-net-hostdev-vfio.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-net-hostdev.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-net-midonet.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-net-openvswitch.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-net-udp.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-net-user.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-net-vhostuser.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-net-virtio-device.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-net-virtio-disable-offloads.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-net-virtio-network-portgroup.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-net-virtio.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-nographics-vga.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-nosharepages.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-numad-static-vcpu-no-numatune.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-numatune-memnode-no-memory.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-panic-double.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-panic-isa.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-panic-no-address.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-panic-pseries.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-parallel-tcp.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-pci-bridge.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-pci-rom.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-pci-serial-dev-chardev.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-pcie-root-port.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-pcie-switch-downstream-port.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-pcie-switch-upstream-port.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-pcihole64-none.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-pcihole64-q35.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-pcihole64.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-pmu-feature-off.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-pseries-nvram.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-pv-spinlock-disabled.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-pv-spinlock-enabled.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-qemu-ns-no-env.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-reboot-timeout-disabled.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-reboot-timeout-enabled.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-restore-v2.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-seclabel-dac-none.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-seclabel-device-multiple.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-seclabel-dynamic-baselabel.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-seclabel-dynamic-none.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-seclabel-dynamic-override.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-seclabel-static-labelskip.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-seclabel-static.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-serial-dev.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-serial-file.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-serial-many.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-serial-pty.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-serial-spiceport-nospice.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-serial-spiceport.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-serial-tcp-telnet.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-serial-tcp.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-serial-udp.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-serial-unix.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-serial-vc.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-shmem.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-smbios-multiple-type2.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-smbios.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-smp.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-sound-device.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-sound.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-tap-vhost.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-tpm-passthrough.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-usb-redir.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-vcpu-placement-static.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-vhost_queues.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-video-virtio-gpu-device.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-video-virtio-gpu-virgl.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-virtio-input-passthrough.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-virtio-input.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-virtio-lun.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-virtio-rng-egd.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-virtio-rng-random.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-watchdog.xml
--
2.5.0
8 years, 8 months
[libvirt] [libvirt-glib 1/3] Add GVirConfigDomainHostdev
by Zeeshan Ali (Khattak)
Add API to read and write domain/devices/hostdev nodes. This patch only
adds the baseclass and hence is not useful on it's own. A more specific
subclass to represent PCI devices will be added in a following patch.
---
libvirt-gconfig/Makefile.am | 2 +
.../libvirt-gconfig-domain-device-private.h | 3 +
libvirt-gconfig/libvirt-gconfig-domain-device.c | 2 +-
libvirt-gconfig/libvirt-gconfig-domain-hostdev.c | 180 +++++++++++++++++++++
libvirt-gconfig/libvirt-gconfig-domain-hostdev.h | 76 +++++++++
libvirt-gconfig/libvirt-gconfig.h | 1 +
libvirt-gconfig/libvirt-gconfig.sym | 11 ++
7 files changed, 274 insertions(+), 1 deletion(-)
create mode 100644 libvirt-gconfig/libvirt-gconfig-domain-hostdev.c
create mode 100644 libvirt-gconfig/libvirt-gconfig-domain-hostdev.h
diff --git a/libvirt-gconfig/Makefile.am b/libvirt-gconfig/Makefile.am
index 77b2032..4294bab 100644
--- a/libvirt-gconfig/Makefile.am
+++ b/libvirt-gconfig/Makefile.am
@@ -50,6 +50,7 @@ GCONFIG_HEADER_FILES = \
libvirt-gconfig-domain-graphics-sdl.h \
libvirt-gconfig-domain-graphics-spice.h \
libvirt-gconfig-domain-graphics-vnc.h \
+ libvirt-gconfig-domain-hostdev.h \
libvirt-gconfig-domain-input.h \
libvirt-gconfig-domain-interface.h \
libvirt-gconfig-domain-interface-bridge.h \
@@ -141,6 +142,7 @@ GCONFIG_SOURCE_FILES = \
libvirt-gconfig-domain-graphics-sdl.c \
libvirt-gconfig-domain-graphics-spice.c \
libvirt-gconfig-domain-graphics-vnc.c \
+ libvirt-gconfig-domain-hostdev.c \
libvirt-gconfig-domain-input.c \
libvirt-gconfig-domain-interface.c \
libvirt-gconfig-domain-interface-bridge.c \
diff --git a/libvirt-gconfig/libvirt-gconfig-domain-device-private.h b/libvirt-gconfig/libvirt-gconfig-domain-device-private.h
index 062c0e2..c45e1df 100644
--- a/libvirt-gconfig/libvirt-gconfig-domain-device-private.h
+++ b/libvirt-gconfig/libvirt-gconfig-domain-device-private.h
@@ -43,6 +43,9 @@ GVirConfigDomainDevice *
gvir_config_domain_graphics_new_from_tree(GVirConfigXmlDoc *doc,
xmlNodePtr tree);
GVirConfigDomainDevice *
+gvir_config_domain_hostdev_new_from_tree(GVirConfigXmlDoc *doc,
+ xmlNodePtr tree);
+GVirConfigDomainDevice *
gvir_config_domain_interface_new_from_tree(GVirConfigXmlDoc *doc,
xmlNodePtr tree);
GVirConfigDomainDevice *
diff --git a/libvirt-gconfig/libvirt-gconfig-domain-device.c b/libvirt-gconfig/libvirt-gconfig-domain-device.c
index 3d2b9b3..8a75cea 100644
--- a/libvirt-gconfig/libvirt-gconfig-domain-device.c
+++ b/libvirt-gconfig/libvirt-gconfig-domain-device.c
@@ -66,7 +66,7 @@ gvir_config_domain_device_new_from_tree(GVirConfigXmlDoc *doc,
} else if (xmlStrEqual(tree->name, (xmlChar*)"lease")) {
goto unimplemented;
} else if (xmlStrEqual(tree->name, (xmlChar*)"hostdev")) {
- goto unimplemented;
+ return gvir_config_domain_hostdev_new_from_tree(doc, tree);
} else if (xmlStrEqual(tree->name, (xmlChar*)"redirdev")) {
type = GVIR_CONFIG_TYPE_DOMAIN_REDIRDEV;
} else if (xmlStrEqual(tree->name, (xmlChar*)"smartcard")) {
diff --git a/libvirt-gconfig/libvirt-gconfig-domain-hostdev.c b/libvirt-gconfig/libvirt-gconfig-domain-hostdev.c
new file mode 100644
index 0000000..42eb184
--- /dev/null
+++ b/libvirt-gconfig/libvirt-gconfig-domain-hostdev.c
@@ -0,0 +1,180 @@
+/*
+ * libvirt-gconfig-domain-hostdev.c: libvirt domain hostdev configuration
+ *
+ * Copyright (C) 2012 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see
+ * <http://www.gnu.org/licenses/>.
+ *
+ * Authors: Zeeshan Ali (Khattak) <zeeshanak(a)gnome.org>
+ * Christophe Fergeau <cfergeau(a)redhat.com>
+ */
+
+#include <config.h>
+
+#include "libvirt-gconfig/libvirt-gconfig.h"
+#include "libvirt-gconfig/libvirt-gconfig-private.h"
+
+#define GVIR_CONFIG_DOMAIN_HOSTDEV_GET_PRIVATE(obj) \
+ (G_TYPE_INSTANCE_GET_PRIVATE((obj), GVIR_CONFIG_TYPE_DOMAIN_HOSTDEV, GVirConfigDomainHostdevPrivate))
+
+struct _GVirConfigDomainHostdevPrivate
+{
+ gboolean unused;
+};
+
+G_DEFINE_ABSTRACT_TYPE(GVirConfigDomainHostdev, gvir_config_domain_hostdev, GVIR_CONFIG_TYPE_DOMAIN_DEVICE);
+
+
+static void gvir_config_domain_hostdev_class_init(GVirConfigDomainHostdevClass *klass)
+{
+ g_type_class_add_private(klass, sizeof(GVirConfigDomainHostdevPrivate));
+}
+
+
+static void gvir_config_domain_hostdev_init(GVirConfigDomainHostdev *hostdev)
+{
+ hostdev->priv = GVIR_CONFIG_DOMAIN_HOSTDEV_GET_PRIVATE(hostdev);
+}
+
+G_GNUC_INTERNAL GVirConfigDomainDevice *
+gvir_config_domain_hostdev_new_from_tree(GVirConfigXmlDoc *doc,
+ xmlNodePtr tree)
+{
+ const char *type;
+ GType gtype;
+
+ type = gvir_config_xml_get_attribute_content(tree, "type");
+ if (type == NULL)
+ return NULL;
+
+ if (g_str_equal(type, "usb")) {
+ goto unimplemented;
+ } else if (g_str_equal(type, "pci")) {
+ goto unimplemented;
+ } else if (g_str_equal(type, "scsi")) {
+ goto unimplemented;
+ } else {
+ g_debug("Unknown domain hostdev node: %s", type);
+ return NULL;
+ }
+
+ return GVIR_CONFIG_DOMAIN_DEVICE(gvir_config_object_new_from_tree(gtype, doc, NULL, tree));
+
+unimplemented:
+ g_debug("Parsing of '%s' domain hostdev nodes is unimplemented", type);
+ return NULL;
+}
+
+void gvir_config_domain_hostdev_set_boot_order(GVirConfigDomainHostdev *hostdev,
+ gint order)
+{
+ g_return_if_fail(GVIR_CONFIG_IS_DOMAIN_HOSTDEV(hostdev));
+
+ if (order >= 0) {
+ char *order_str = g_strdup_printf("%u", order);
+
+ gvir_config_object_replace_child_with_attribute(GVIR_CONFIG_OBJECT(hostdev),
+ "boot",
+ "order",
+ order_str);
+ g_free(order_str);
+ } else {
+ gvir_config_object_delete_child(GVIR_CONFIG_OBJECT(hostdev),
+ "boot",
+ NULL);
+ }
+}
+
+gint gvir_config_domain_hostdev_get_boot_order(GVirConfigDomainHostdev *hostdev)
+{
+ xmlNodePtr hostdev_node;
+ xmlNodePtr boot_node;
+ const char *order_str;
+ char *end;
+ guint order;
+
+ g_return_val_if_fail(GVIR_CONFIG_IS_DOMAIN_HOSTDEV(hostdev), -1);
+
+ hostdev_node = gvir_config_object_get_xml_node(GVIR_CONFIG_OBJECT(hostdev));
+ g_return_val_if_fail(hostdev_node != NULL, -1);
+
+ boot_node = gvir_config_xml_get_element(hostdev_node, "boot", NULL);
+ if (boot_node == NULL)
+ return -1;
+
+ order_str = gvir_config_xml_get_attribute_content(boot_node, "order");
+ g_return_val_if_fail(order_str != NULL, -1);
+
+ order = strtoul(order_str, &end, 0);
+ g_return_val_if_fail(*end == '\0', -1);
+
+ return order;
+}
+
+void gvir_config_domain_hostdev_set_readonly(GVirConfigDomainHostdev *hostdev,
+ gboolean readonly)
+{
+ g_return_if_fail(GVIR_CONFIG_IS_DOMAIN_HOSTDEV(hostdev));
+
+ if (readonly) {
+ GVirConfigObject *node = gvir_config_object_replace_child(GVIR_CONFIG_OBJECT(hostdev), "readonly");
+ g_object_unref(node);
+ } else {
+ gvir_config_object_delete_child(GVIR_CONFIG_OBJECT(hostdev), "readonly", NULL);
+ }
+}
+
+gboolean gvir_config_domain_hostdev_get_readonly(GVirConfigDomainHostdev *hostdev)
+{
+ xmlNodePtr hostdev_node;
+ xmlNodePtr ro_node;
+
+ g_return_val_if_fail(GVIR_CONFIG_IS_DOMAIN_HOSTDEV(hostdev), FALSE);
+
+ hostdev_node = gvir_config_object_get_xml_node(GVIR_CONFIG_OBJECT(hostdev));
+ g_return_val_if_fail(hostdev_node != NULL, FALSE);
+
+ ro_node = gvir_config_xml_get_element(hostdev_node, "readonly", NULL);
+
+ return (ro_node != NULL);
+}
+
+void gvir_config_domain_hostdev_set_shareable(GVirConfigDomainHostdev *hostdev,
+ gboolean shareable)
+{
+ g_return_if_fail(GVIR_CONFIG_IS_DOMAIN_HOSTDEV(hostdev));
+
+ if (shareable) {
+ GVirConfigObject *node = gvir_config_object_replace_child(GVIR_CONFIG_OBJECT(hostdev), "shareable");
+ g_object_unref(node);
+ } else {
+ gvir_config_object_delete_child(GVIR_CONFIG_OBJECT(hostdev), "shareable", NULL);
+ }
+}
+
+gboolean gvir_config_domain_hostdev_get_shareable(GVirConfigDomainHostdev *hostdev)
+{
+ xmlNodePtr hostdev_node;
+ xmlNodePtr shareable_node;
+
+ g_return_val_if_fail(GVIR_CONFIG_IS_DOMAIN_HOSTDEV(hostdev), FALSE);
+
+ hostdev_node = gvir_config_object_get_xml_node(GVIR_CONFIG_OBJECT(hostdev));
+ g_return_val_if_fail(hostdev_node != NULL, FALSE);
+
+ shareable_node = gvir_config_xml_get_element(hostdev_node, "shareable", NULL);
+
+ return (shareable_node != NULL);
+}
diff --git a/libvirt-gconfig/libvirt-gconfig-domain-hostdev.h b/libvirt-gconfig/libvirt-gconfig-domain-hostdev.h
new file mode 100644
index 0000000..b26100f
--- /dev/null
+++ b/libvirt-gconfig/libvirt-gconfig-domain-hostdev.h
@@ -0,0 +1,76 @@
+/*
+ * libvirt-gconfig-domain-hostdev.h: libvirt domain hostdev configuration
+ *
+ * Copyright (C) 2012 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see
+ * <http://www.gnu.org/licenses/>.
+ *
+ * Authors: Zeeshan Ali (Khattak) <zeeshanak(a)gnome.org>
+ * Christophe Fergeau <cfergeau(a)redhat.com>
+ */
+
+#if !defined(__LIBVIRT_GCONFIG_H__) && !defined(LIBVIRT_GCONFIG_BUILD)
+#error "Only <libvirt-gconfig/libvirt-gconfig.h> can be included directly."
+#endif
+
+#ifndef __LIBVIRT_GCONFIG_DOMAIN_HOSTDEV_H__
+#define __LIBVIRT_GCONFIG_DOMAIN_HOSTDEV_H__
+
+G_BEGIN_DECLS
+
+#define GVIR_CONFIG_TYPE_DOMAIN_HOSTDEV (gvir_config_domain_hostdev_get_type ())
+#define GVIR_CONFIG_DOMAIN_HOSTDEV(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GVIR_CONFIG_TYPE_DOMAIN_HOSTDEV, GVirConfigDomainHostdev))
+#define GVIR_CONFIG_DOMAIN_HOSTDEV_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GVIR_CONFIG_TYPE_DOMAIN_HOSTDEV, GVirConfigDomainHostdevClass))
+#define GVIR_CONFIG_IS_DOMAIN_HOSTDEV(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GVIR_CONFIG_TYPE_DOMAIN_HOSTDEV))
+#define GVIR_CONFIG_IS_DOMAIN_HOSTDEV_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GVIR_CONFIG_TYPE_DOMAIN_HOSTDEV))
+#define GVIR_CONFIG_DOMAIN_HOSTDEV_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GVIR_CONFIG_TYPE_DOMAIN_HOSTDEV, GVirConfigDomainHostdevClass))
+
+typedef struct _GVirConfigDomainHostdev GVirConfigDomainHostdev;
+typedef struct _GVirConfigDomainHostdevPrivate GVirConfigDomainHostdevPrivate;
+typedef struct _GVirConfigDomainHostdevClass GVirConfigDomainHostdevClass;
+
+struct _GVirConfigDomainHostdev
+{
+ GVirConfigDomainDevice parent;
+
+ GVirConfigDomainHostdevPrivate *priv;
+
+ /* Do not add fields to this struct */
+};
+
+struct _GVirConfigDomainHostdevClass
+{
+ GVirConfigDomainDeviceClass parent_class;
+
+ gpointer padding[20];
+};
+
+GType gvir_config_domain_hostdev_get_type(void);
+
+void gvir_config_domain_hostdev_set_boot_order(GVirConfigDomainHostdev *hostdev,
+ gint order);
+gint gvir_config_domain_hostdev_get_boot_order(GVirConfigDomainHostdev *hostdev);
+
+void gvir_config_domain_hostdev_set_readonly(GVirConfigDomainHostdev *hostdev,
+ gboolean readonly);
+gboolean gvir_config_domain_hostdev_get_readonly(GVirConfigDomainHostdev *hostdev);
+
+void gvir_config_domain_hostdev_set_shareable(GVirConfigDomainHostdev *hostdev,
+ gboolean shareable);
+gboolean gvir_config_domain_hostdev_get_shareable(GVirConfigDomainHostdev *hostdev);
+
+G_END_DECLS
+
+#endif /* __LIBVIRT_GCONFIG_DOMAIN_HOSTDEV_H__ */
diff --git a/libvirt-gconfig/libvirt-gconfig.h b/libvirt-gconfig/libvirt-gconfig.h
index 4624003..cfa9dd3 100644
--- a/libvirt-gconfig/libvirt-gconfig.h
+++ b/libvirt-gconfig/libvirt-gconfig.h
@@ -67,6 +67,7 @@
#include <libvirt-gconfig/libvirt-gconfig-domain-graphics-sdl.h>
#include <libvirt-gconfig/libvirt-gconfig-domain-graphics-spice.h>
#include <libvirt-gconfig/libvirt-gconfig-domain-graphics-vnc.h>
+#include <libvirt-gconfig/libvirt-gconfig-domain-hostdev.h>
#include <libvirt-gconfig/libvirt-gconfig-domain-input.h>
#include <libvirt-gconfig/libvirt-gconfig-domain-interface.h>
#include <libvirt-gconfig/libvirt-gconfig-domain-interface-bridge.h>
diff --git a/libvirt-gconfig/libvirt-gconfig.sym b/libvirt-gconfig/libvirt-gconfig.sym
index 89dd589..0a12ce4 100644
--- a/libvirt-gconfig/libvirt-gconfig.sym
+++ b/libvirt-gconfig/libvirt-gconfig.sym
@@ -733,4 +733,15 @@ global:
gvir_config_domain_video_set_vgamem;
} LIBVIRT_GCONFIG_0.2.1;
+LIBVIRT_GCONFIG_0.2.3 {
+global:
+ gvir_config_domain_hostdev_get_boot_order;
+ gvir_config_domain_hostdev_get_readonly;
+ gvir_config_domain_hostdev_get_shareable;
+ gvir_config_domain_hostdev_get_type;
+ gvir_config_domain_hostdev_set_boot_order;
+ gvir_config_domain_hostdev_set_readonly;
+ gvir_config_domain_hostdev_set_shareable;
+} LIBVIRT_GCONFIG_0.2.2;
+
# .... define new API here using predicted next version number ....
--
2.5.0
8 years, 8 months
[libvirt] [PATCH RFC 0/8] Sparse streams
by Michal Privoznik
** NOT TO BE MERGED UPSTREAM **
This is merely an RFC.
What's the problem?
We have APIs for transferring disk images from/to host. Problem is, disk images
can be sparse files. Our code is, however, unaware of that fact so if for
instance the disk is one big hole of 8GB all those bytes have to: a) be read b)
come through our event loop. This is obviously very inefficient way.
How to deal with it?
The way I propose (and this is actually what I like you to comment on) is to
invent set of new API. We need to make read from and write to a stream
sparseness aware. The new APIs are as follows:
int virStreamSendOffset(virStreamPtr stream,
unsigned long long offset,
const char *data,
size_t nbytes);
int virStreamRecvOffset(virStreamPtr stream,
unsigned long long *offset,
char *data,
size_t nbytes);
The SendOffset() is fairly simple. It is given an offset to write @data from so
it basically lseek() to @offset and write() data.
The RecvOffset() has slightly complicated design - it has to be aware of the
fact that @offset it is required to read from fall into a hole. If that's the
case it sets @offset to new location where data starts.
Are there other ways possible?
Sure! If you have any specific in mind I am happy to discuss it. For instance
one idea I've heard (from Martin) was instead of SendOffset() and RecvOffset()
we may just invent our variant of lseek().
What's left to be done?
Basically, I still don't have RPC implementation. But before I dive into that I
thought of sharing my approach with you - because it may turn out that a
different approach is going to be needed and thus my work would render useless.
Is there any bug attached?
You can bet! https://bugzilla.redhat.com/show_bug.cgi?id=1282859
Michal Privoznik (8):
fdstream: Realign
Introduce virStream{Recv,Send}Offset
Introduce VIR_STREAM_SPARSE flag
fdstream: Implement virStreamSendOffset
fdstream: Implement virStreamRecvOffset
fdstreamtest: switch from boolean array to @flags
fdstreamtest: Test virStreamRecvOffset
fdstreamtest: test virStreamSendOffset
include/libvirt/libvirt-stream.h | 9 +++
src/driver-stream.h | 13 ++++
src/fdstream.c | 150 +++++++++++++++++++++++++++++++++++----
src/internal.h | 20 ++++++
src/libvirt-stream.c | 119 +++++++++++++++++++++++++++++++
src/libvirt_public.syms | 6 ++
tests/fdstreamtest.c | 116 ++++++++++++++++++++++++------
7 files changed, 397 insertions(+), 36 deletions(-)
--
2.4.10
8 years, 8 months
[libvirt] [PATCH] rbd: Allow shrinking and deltas when resizing RBD volumes
by Wido den Hollander
Modify virCheckFlags that it accepts both VIR_STORAGE_VOL_RESIZE_DELTA
and VIR_STORAGE_VOL_RESIZE_SHRINK as valid flags for resizing RBD
volumes.
This still does not solve the problem where RBD volumes can't be
shrinked using libvirt. The allocation and capacity of RBD volumes
are equal for a RBD volume and this makes libvirt think the volume
is fully allocated and therefor can't be shrinked.
Signed-off-by: Wido den Hollander <wido(a)widodh.nl>
---
src/storage/storage_backend_rbd.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/storage/storage_backend_rbd.c b/src/storage/storage_backend_rbd.c
index 80a1d33..88b613a 100644
--- a/src/storage/storage_backend_rbd.c
+++ b/src/storage/storage_backend_rbd.c
@@ -1041,7 +1041,8 @@ static int virStorageBackendRBDResizeVol(virConnectPtr conn ATTRIBUTE_UNUSED,
int ret = -1;
int r = 0;
- virCheckFlags(0, -1);
+ virCheckFlags(VIR_STORAGE_VOL_RESIZE_DELTA |
+ VIR_STORAGE_VOL_RESIZE_SHRINK, -1);
if (virStorageBackendRBDOpenRADOSConn(&ptr, conn, &pool->def->source) < 0)
goto cleanup;
--
1.9.1
8 years, 8 months
[libvirt] [PATCH v3 0/3] libxl: p2p migration support
by Joao Martins
Hey,
This series adds support for p2p migration: Patch 2 and 3
are new in this series and it's purpose is to take the
LIBXL_JOB_MODIFY as mentioned in the last review.
Changelog in individual patches.
Thanks,
Joao
Joao Martins (3):
libxl: add p2p migration
libxl: move begin phase job handling
libxl: begin job on perform phase
src/libxl/libxl_driver.c | 36 +++++++-
src/libxl/libxl_migration.c | 219 +++++++++++++++++++++++++++++++++++++++++---
src/libxl/libxl_migration.h | 11 +++
3 files changed, 250 insertions(+), 16 deletions(-)
--
2.1.4
8 years, 9 months
[libvirt] [PATCH 1/2] storage: zfs: enable on Linux
by Roman Bogorodskiy
ZFS-on-Linux implementation of ZFS starting with version 0.6.4
contains all the features we use, so there's no reason to limit
libvirt ZFS storage backend to FreeBSD only.
There's still one difference between these implementations: ZFS on
FreeBSD requires to set 'volmode' option to 'dev' when creating
volumes, while ZFS-on-Linux does not need that.
Handle it by checking if 'volmode' option is needed by parsing usage
information of the 'zfs get' command.
---
configure.ac | 8 ------
src/storage/storage_backend_zfs.c | 51 +++++++++++++++++++++++++++++++++++++--
2 files changed, 49 insertions(+), 10 deletions(-)
diff --git a/configure.ac b/configure.ac
index a566f5b..d768341 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2005,14 +2005,6 @@ if test "$with_storage_gluster" = "yes"; then
fi
AM_CONDITIONAL([WITH_STORAGE_GLUSTER], [test "$with_storage_gluster" = "yes"])
-if test "$with_storage_zfs" = "check"; then
- with_storage_zfs=$with_freebsd
-fi
-
-if test "$with_storage_zfs" = "yes" && test "$with_freebsd" = "no"; then
- AC_MSG_ERROR([The ZFS storage driver can be enabled on FreeBSD only.])
-fi
-
if test "$with_storage_zfs" = "yes" ||
test "$with_storage_zfs" = "check"; then
AC_PATH_PROG([ZFS], [zfs], [], [$PATH:/sbin:/usr/sbin])
diff --git a/src/storage/storage_backend_zfs.c b/src/storage/storage_backend_zfs.c
index cb2662a..6bf7963 100644
--- a/src/storage/storage_backend_zfs.c
+++ b/src/storage/storage_backend_zfs.c
@@ -39,6 +39,47 @@ VIR_LOG_INIT("storage.storage_backend_zfs");
* for size, show just a number instead of 2G etc
*/
+/**
+ * virStorageBackendZFSVolModeNeeded:
+ *
+ * Checks if it's necessary to specify 'volmode' (i.e. that
+ * we're working with BSD ZFS implementation).
+ *
+ * Returns 1 if 'volmode' is need, 0 if not needed, -1 on error
+ */
+static int
+virStorageBackendZFSVolModeNeeded(void)
+{
+ virCommandPtr cmd = NULL;
+ int ret = -1, exit = -1;
+ char *error = NULL;
+
+ /* 'zfs get' without arguments prints out
+ * usage information to stderr, including
+ * list of supported options, and exits with
+ * exit code 2
+ */
+ cmd = virCommandNewArgList(ZFS, "get", NULL);
+ virCommandAddEnvString(cmd, "LC_ALL=C");
+ virCommandSetErrorBuffer(cmd, &error);
+
+ ret = virCommandRun(cmd, &exit);
+ if ((ret < 0) || (exit != 2)) {
+ VIR_WARN("Command 'zfs get' either failed "
+ "to run or exited with unexpected status");
+ goto cleanup;
+ }
+
+ if (strstr(error, " volmode "))
+ ret = 1;
+ else
+ ret = 0;
+
+ cleanup:
+ virCommandFree(cmd);
+ VIR_FREE(error);
+ return ret;
+}
static int
virStorageBackendZFSCheckPool(virStoragePoolObjPtr pool ATTRIBUTE_UNUSED,
@@ -258,6 +299,7 @@ virStorageBackendZFSCreateVol(virConnectPtr conn ATTRIBUTE_UNUSED,
{
virCommandPtr cmd = NULL;
int ret = -1;
+ int volmode_needed = -1;
vol->type = VIR_STORAGE_VOL_BLOCK;
@@ -273,6 +315,9 @@ virStorageBackendZFSCreateVol(virConnectPtr conn ATTRIBUTE_UNUSED,
if (VIR_STRDUP(vol->key, vol->target.path) < 0)
goto cleanup;
+ volmode_needed = virStorageBackendZFSVolModeNeeded();
+ if (volmode_needed < 0)
+ goto cleanup;
/**
* $ zfs create -o volmode=dev -V 10240K test/volname
*
@@ -281,8 +326,10 @@ virStorageBackendZFSCreateVol(virConnectPtr conn ATTRIBUTE_UNUSED,
* will lookup vfs.zfs.vol.mode sysctl value
* -V -- tells to create a volume with the specified size
*/
- cmd = virCommandNewArgList(ZFS, "create", "-o", "volmode=dev",
- "-V", NULL);
+ cmd = virCommandNewArgList(ZFS, "create", NULL);
+ if (volmode_needed)
+ virCommandAddArgList(cmd, "-o", "volmode=dev", NULL);
+ virCommandAddArg(cmd, "-V");
virCommandAddArgFormat(cmd, "%lluK",
VIR_DIV_UP(vol->target.capacity, 1024));
virCommandAddArgFormat(cmd, "%s/%s",
--
1.9.1
8 years, 9 months
[libvirt] virStream: this function is not supported by the connection driver
by Wido den Hollander
Hi,
I'm trying to implement the volUpload and volDownload functions for the
RBD storage driver but I keep getting this:
2016-01-30 18:56:11.675+0000: 6447: debug :
virStorageBackendRBDVolDownload:1395 : Read 4096 bytes at offset 0 from
RBD image libvirt/wido1
2016-01-30 18:56:11.675+0000: 6447: debug : virStreamSend:168 :
stream=0x7fe780000930, data=0x7fe780062df0, nbytes=4096
2016-01-30 18:56:11.675+0000: 6447: error : virStreamSend:186 : this
function is not supported by the connection driver: virStreamSend
I reference to the stream with virStreamRef(stream); and then I use
virStreamSend() to write data to the stream, but that fails.
I've looked through the source and couldn't find anything what might be
the issue.
Libvirt is running locally on my system and I'm using qemu:///system to
connect locally with virsh.
Do I need to initialize the stream in any way before I can write data to it?
Wido
8 years, 9 months
[libvirt] [PATCH RFC 0/2] conf: add net device prefix capability
by Joao Martins
Hey,
Back in the pre 1.3.0 release [0] we had a regression when migrating
domains in libxl (introduced by the reverted commit d2e5538b1).
The chosen solution to address this problem was to introduce a
capability to be used by the virDomainNetDefFormat() and
virDomainNetDefParseXML() routines. This series implements this,
and I would ask if it's in line with what you had in mind by
exposing as a hypervisor capability?
For the purposes of RFC and compability with other drivers I left
the hardcoded checking of VIR_NET_GENERATED_PREFIX plus checking a
prefix registered by the driver.
Having this series and the reverted commit applied, I can
successfully migrate a domain without seeing the same interface
name on both source and destination node.
Thoughts?
Thanks!
Joao
[0] https://www.redhat.com/archives/libvir-list/2015-December/msg00279.html
Joao Martins (2):
conf: add net device prefix to capabilities
libxl: set net device prefix
src/conf/capabilities.c | 21 +++++++++++++++++++++
src/conf/capabilities.h | 4 ++++
src/conf/domain_conf.c | 20 +++++++++++++++-----
src/conf/domain_conf.h | 2 ++
src/libvirt_private.syms | 1 +
src/libxl/libxl_conf.c | 3 +++
src/libxl/libxl_conf.h | 4 ++++
src/network/bridge_driver.c | 2 +-
8 files changed, 51 insertions(+), 6 deletions(-)
--
2.1.4
8 years, 9 months
[libvirt] [PATCH v2] security_selinux: Fix crash in virSecuritySELinuxRestoreFileLabel
by Shanzhi Yu
virSecuritySELinuxRestoreFileLabel should never be called with NULL path
add check before call this function in case of causeing libvirtd crash
https://bugzilla.redhat.com/show_bug.cgi?id=1300532
Signed-off-by: Shanzhi Yu <shyu(a)redhat.com>
---
src/security/security_selinux.c | 25 +++++++++++++++++--------
1 file changed, 17 insertions(+), 8 deletions(-)
diff --git a/src/security/security_selinux.c b/src/security/security_selinux.c
index 9e98635..77e55a3 100644
--- a/src/security/security_selinux.c
+++ b/src/security/security_selinux.c
@@ -1098,7 +1098,8 @@ virSecuritySELinuxRestoreInputLabel(virSecurityManagerPtr mgr,
switch ((virDomainInputType) input->type) {
case VIR_DOMAIN_INPUT_TYPE_PASSTHROUGH:
- rc = virSecuritySELinuxRestoreFileLabel(mgr, input->source.evdev);
+ if (input->source.evdev)
+ rc = virSecuritySELinuxRestoreFileLabel(mgr, input->source.evdev);
break;
case VIR_DOMAIN_INPUT_TYPE_MOUSE:
@@ -1171,7 +1172,9 @@ virSecuritySELinuxRestoreTPMFileLabelInt(virSecurityManagerPtr mgr,
switch (tpm->type) {
case VIR_DOMAIN_TPM_TYPE_PASSTHROUGH:
tpmdev = tpm->data.passthrough.source.data.file.path;
- rc = virSecuritySELinuxRestoreFileLabel(mgr, tpmdev);
+
+ if (tpmdev)
+ rc = virSecuritySELinuxRestoreFileLabel(mgr, tpmdev);
if ((cancel_path = virTPMCreateCancelPath(tpmdev)) != NULL) {
if (virSecuritySELinuxRestoreFileLabel(mgr, cancel_path) < 0)
@@ -1722,7 +1725,9 @@ virSecuritySELinuxRestoreHostdevCapsLabel(virSecurityManagerPtr mgr,
if (VIR_STRDUP(path, dev->source.caps.u.storage.block) < 0)
return -1;
}
- ret = virSecuritySELinuxRestoreFileLabel(mgr, path);
+ if (path)
+ ret = virSecuritySELinuxRestoreFileLabel(mgr, path);
+
VIR_FREE(path);
break;
}
@@ -1736,7 +1741,8 @@ virSecuritySELinuxRestoreHostdevCapsLabel(virSecurityManagerPtr mgr,
if (VIR_STRDUP(path, dev->source.caps.u.misc.chardev) < 0)
return -1;
}
- ret = virSecuritySELinuxRestoreFileLabel(mgr, path);
+ if (path)
+ ret = virSecuritySELinuxRestoreFileLabel(mgr, path);
VIR_FREE(path);
break;
}
@@ -1876,13 +1882,15 @@ virSecuritySELinuxRestoreChardevLabel(virSecurityManagerPtr mgr,
switch (dev_source->type) {
case VIR_DOMAIN_CHR_TYPE_DEV:
case VIR_DOMAIN_CHR_TYPE_FILE:
- if (virSecuritySELinuxRestoreFileLabel(mgr, dev_source->data.file.path) < 0)
- goto done;
+ if (dev_source->data.file.path) {
+ if (virSecuritySELinuxRestoreFileLabel(mgr, dev_source->data.file.path) < 0)
+ goto done;
+ }
ret = 0;
break;
case VIR_DOMAIN_CHR_TYPE_UNIX:
- if (!dev_source->data.nix.listen) {
+ if (!dev_source->data.nix.listen && dev_source->data.file.path) {
if (virSecuritySELinuxRestoreFileLabel(mgr, dev_source->data.file.path) < 0)
goto done;
}
@@ -1898,7 +1906,8 @@ virSecuritySELinuxRestoreChardevLabel(virSecurityManagerPtr mgr,
(virSecuritySELinuxRestoreFileLabel(mgr, in) < 0)) {
goto done;
}
- } else if (virSecuritySELinuxRestoreFileLabel(mgr, dev_source->data.file.path) < 0) {
+ } else if (dev_source->data.file.path &&
+ virSecuritySELinuxRestoreFileLabel(mgr, dev_source->data.file.path) < 0) {
goto done;
}
ret = 0;
--
1.8.3.1
8 years, 9 months
[libvirt] [PATCH] qemuDomainResume: allow to resume domain with guest panicked
by Dmitry Andreev
In case of guest panicked, preserved crashed domain has stopped CPUs.
It's not possible to use tools like WinDbg for the problem investigation
until we start CPUs back.
---
src/qemu/qemu_driver.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index e46404b..0930280 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -1873,6 +1873,7 @@ static int qemuDomainResume(virDomainPtr dom)
int ret = -1;
virObjectEventPtr event = NULL;
int state;
+ int reason;
virQEMUDriverConfigPtr cfg = NULL;
if (!(vm = qemuDomObjFromDomain(dom)))
@@ -1892,12 +1893,14 @@ static int qemuDomainResume(virDomainPtr dom)
goto endjob;
}
- state = virDomainObjGetState(vm, NULL);
+ state = virDomainObjGetState(vm, &reason);
if (state == VIR_DOMAIN_PMSUSPENDED) {
virReportError(VIR_ERR_OPERATION_INVALID,
"%s", _("domain is pmsuspended"));
goto endjob;
- } else if (state == VIR_DOMAIN_PAUSED) {
+ } else if ((state == VIR_DOMAIN_CRASHED &&
+ reason == VIR_DOMAIN_CRASHED_PANICKED) ||
+ state == VIR_DOMAIN_PAUSED) {
if (qemuProcessStartCPUs(driver, vm, dom->conn,
VIR_DOMAIN_RUNNING_UNPAUSED,
QEMU_ASYNC_JOB_NONE) < 0) {
--
1.8.3.1
8 years, 9 months