[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, 10 months
[libvirt] [PATCH] virDomainFormatSchedDef: Initialize @priority
by Michal Privoznik
Older gcc fails to see that the variable is set iff @hasPriority
== true in which case the former is set a value. Initialize the
value while declaring it to make the compiler shut up.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
This maybe isn't the best approach, to workaround false
positives. I'm open to discussion.
src/conf/domain_conf.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 895a51b..67415fa 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -21472,7 +21472,7 @@ virDomainFormatSchedDef(virDomainDefPtr def,
virBitmapPtr currentMap = NULL;
ssize_t nextprio;
bool hasPriority = false;
- int priority;
+ int priority = 0;
switch ((virProcessSchedPolicy) i) {
case VIR_PROC_POLICY_NONE:
--
2.4.10
8 years, 10 months
[libvirt] [PATCH] util: Get rid of virStringListLen()
by Martin Kletzander
It does exactly the same thing as virStringListLenght() and it's used in
one place only.
Signed-off-by: Martin Kletzander <mkletzan(a)redhat.com>
---
src/util/virpolkit.c | 2 +-
src/util/virstring.c | 14 --------------
src/util/virstring.h | 2 --
3 files changed, 1 insertion(+), 17 deletions(-)
diff --git a/src/util/virpolkit.c b/src/util/virpolkit.c
index ae7ec132b229..8da91f2cdb0a 100644
--- a/src/util/virpolkit.c
+++ b/src/util/virpolkit.c
@@ -90,7 +90,7 @@ int virPolkitCheckAuth(const char *actionid,
"start-time", "t", startTime,
"uid", "i", (int)uid,
actionid,
- virStringListLen(details) / 2,
+ virStringListLength(details) / 2,
details,
allowInteraction,
"" /* cancellation ID */) < 0)
diff --git a/src/util/virstring.c b/src/util/virstring.c
index 8cd4bdd16ece..fc4f5ba7e641 100644
--- a/src/util/virstring.c
+++ b/src/util/virstring.c
@@ -208,20 +208,6 @@ virStringFreeListCount(char **strings,
}
-size_t virStringListLen(const char **strings)
-{
- size_t i = 0;
-
- if (!strings)
- return 0;
-
- while (strings[i] != NULL)
- i++;
-
- return i;
-}
-
-
bool
virStringArrayHasString(char **strings, const char *needle)
{
diff --git a/src/util/virstring.h b/src/util/virstring.h
index df5928fb1363..cdf10588259c 100644
--- a/src/util/virstring.h
+++ b/src/util/virstring.h
@@ -44,8 +44,6 @@ char *virStringJoin(const char **strings,
void virStringFreeList(char **strings);
void virStringFreeListCount(char **strings, size_t count);
-size_t virStringListLen(const char **strings);
-
bool virStringArrayHasString(char **strings, const char *needle);
char *virStringGetFirstWithPrefix(char **strings, const char *prefix)
ATTRIBUTE_NONNULL(2);
--
2.7.1
8 years, 10 months
[libvirt] [PATCH 0/2] Check return status for virDomainGraphicsListenSetAddress
by John Ferlan
The second patch is a result of a Coverity found issue - the first one is
collateral damage found because my first pass just checked the status and
went to error resulting in a resource leak.... Rather than add two more
lines for calling the graphic def free function, it was just easier to
refactor the code.
John Ferlan (2):
qemu: Refactor qemuParseCommandLine error path for vnc parse
qemu: Check return status for virDomainGraphicsListenSetAddress
src/qemu/qemu_command.c | 41 +++++++++++++++++------------------------
1 file changed, 17 insertions(+), 24 deletions(-)
--
2.5.0
8 years, 10 months
[libvirt] [PATCHv2] leaseshelper: split out virLeaseNew
by Ján Tomko
For the actions ADD and OLD, split out creating the new lease object,
as well as getting the environment variables that do not affect
the parsing of command line arguments.
---
v2: do not pass argc, argv to the function
src/network/leaseshelper.c | 127 +++++++++++++++++++++++++++------------------
1 file changed, 77 insertions(+), 50 deletions(-)
diff --git a/src/network/leaseshelper.c b/src/network/leaseshelper.c
index f560206..2a0b18c 100644
--- a/src/network/leaseshelper.c
+++ b/src/network/leaseshelper.c
@@ -285,10 +285,82 @@ virLeasePrintLeases(virJSONValuePtr leases_array_new,
return ret;
}
+static int
+virLeaseNew(virJSONValuePtr *lease_ret,
+ const char *mac,
+ const char *clientid,
+ const char *ip,
+ const char *hostname,
+ const char *iaid,
+ const char *server_duid)
+{
+ virJSONValuePtr lease_new = NULL;
+ const char *exptime_tmp = virGetEnvAllowSUID("DNSMASQ_LEASE_EXPIRES");
+ long long expirytime = 0;
+ char *exptime = NULL;
+ int ret = -1;
+
+ /* In case hostname is still unknown, use the last known one */
+ if (!hostname)
+ hostname = virGetEnvAllowSUID("DNSMASQ_OLD_HOSTNAME");
+
+ if (!mac) {
+ ret = 0;
+ goto cleanup;
+ }
+
+ if (exptime_tmp) {
+ if (VIR_STRDUP(exptime, exptime_tmp) < 0)
+ goto cleanup;
+
+ /* Removed extraneous trailing space in DNSMASQ_LEASE_EXPIRES
+ * (dnsmasq < 2.52) */
+ if (exptime[strlen(exptime) - 1] == ' ')
+ exptime[strlen(exptime) - 1] = '\0';
+ }
+
+ if (!exptime ||
+ virStrToLong_ll(exptime, NULL, 10, &expirytime) < 0) {
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ _("Unable to convert lease expiry time to long long: %s"),
+ NULLSTR(exptime));
+ goto cleanup;
+ }
+
+ /* Create new lease */
+ if (!(lease_new = virJSONValueNewObject())) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
+ _("failed to create json"));
+ goto cleanup;
+ }
+
+ if (iaid && virJSONValueObjectAppendString(lease_new, "iaid", iaid) < 0)
+ goto cleanup;
+ if (ip && virJSONValueObjectAppendString(lease_new, "ip-address", ip) < 0)
+ goto cleanup;
+ if (mac && virJSONValueObjectAppendString(lease_new, "mac-address", mac) < 0)
+ goto cleanup;
+ if (hostname && virJSONValueObjectAppendString(lease_new, "hostname", hostname) < 0)
+ goto cleanup;
+ if (clientid && virJSONValueObjectAppendString(lease_new, "client-id", clientid) < 0)
+ goto cleanup;
+ if (server_duid && virJSONValueObjectAppendString(lease_new, "server-duid", server_duid) < 0)
+ goto cleanup;
+ if (expirytime && virJSONValueObjectAppendNumberLong(lease_new, "expiry-time", expirytime) < 0)
+ goto cleanup;
+
+ ret = 0;
+ *lease_ret = lease_new;
+ lease_new = NULL;
+ cleanup:
+ VIR_FREE(exptime);
+ virJSONValueFree(lease_new);
+ return ret;
+}
+
int
main(int argc, char **argv)
{
- char *exptime = NULL;
char *pid_file = NULL;
char *custom_lease_file = NULL;
const char *ip = NULL;
@@ -297,10 +369,8 @@ main(int argc, char **argv)
const char *iaid = virGetEnvAllowSUID("DNSMASQ_IAID");
const char *clientid = virGetEnvAllowSUID("DNSMASQ_CLIENT_ID");
const char *interface = virGetEnvAllowSUID("DNSMASQ_INTERFACE");
- const char *exptime_tmp = virGetEnvAllowSUID("DNSMASQ_LEASE_EXPIRES");
const char *hostname = virGetEnvAllowSUID("DNSMASQ_SUPPLIED_HOSTNAME");
char *server_duid = NULL;
- long long expirytime = 0;
int action = -1;
int pid_file_fd = -1;
int rv = EXIT_FAILURE;
@@ -362,20 +432,6 @@ main(int argc, char **argv)
if (argc == 5)
hostname = argv[4];
- /* In case hostname is still unknown, use the last known one */
- if (!hostname)
- hostname = virGetEnvAllowSUID("DNSMASQ_OLD_HOSTNAME");
-
- if (exptime_tmp) {
- if (VIR_STRDUP(exptime, exptime_tmp) < 0)
- goto cleanup;
-
- /* Removed extraneous trailing space in DNSMASQ_LEASE_EXPIRES
- * (dnsmasq < 2.52) */
- if (exptime[strlen(exptime) - 1] == ' ')
- exptime[strlen(exptime) - 1] = '\0';
- }
-
/* Check if it is an IPv6 lease */
if (iaid) {
mac = virGetEnvAllowSUID("DNSMASQ_MAC");
@@ -405,6 +461,9 @@ main(int argc, char **argv)
switch ((enum virLeaseActionFlags) action) {
case VIR_LEASE_ACTION_ADD:
case VIR_LEASE_ACTION_OLD:
+ /* Create new lease */
+ if (virLeaseNew(&lease_new, mac, clientid, ip, hostname, server_duid, iaid) < 0)
+ goto cleanup;
/* Custom ipv6 leases *will not* be created if the env-var DNSMASQ_MAC
* is not set. In the special case, when the $(interface).status file
* is not already present and dnsmasq is (re)started, the corresponding
@@ -418,40 +477,9 @@ main(int argc, char **argv)
* the new lease will be created irrespective of whether the MACID is
* known or not.
*/
- if (!mac)
+ if (!lease_new)
break;
- /* Create new lease */
- if (!(lease_new = virJSONValueNewObject())) {
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("failed to create json"));
- goto cleanup;
- }
-
- if (!exptime ||
- virStrToLong_ll(exptime, NULL, 10, &expirytime) < 0) {
- virReportError(VIR_ERR_INTERNAL_ERROR,
- _("Unable to convert lease expiry time to long long: %s"),
- NULLSTR(exptime));
- goto cleanup;
- }
-
- if (iaid && virJSONValueObjectAppendString(lease_new, "iaid", iaid) < 0)
- goto cleanup;
- if (ip && virJSONValueObjectAppendString(lease_new, "ip-address", ip) < 0)
- goto cleanup;
- if (mac && virJSONValueObjectAppendString(lease_new, "mac-address", mac) < 0)
- goto cleanup;
- if (hostname && virJSONValueObjectAppendString(lease_new, "hostname", hostname) < 0)
- goto cleanup;
- if (clientid && virJSONValueObjectAppendString(lease_new, "client-id", clientid) < 0)
- goto cleanup;
- if (server_duid && virJSONValueObjectAppendString(lease_new, "server-duid", server_duid) < 0)
- goto cleanup;
- if (expirytime && virJSONValueObjectAppendNumberLong(lease_new, "expiry-time", expirytime) < 0)
- goto cleanup;
-
-
/* fallthrough */
case VIR_LEASE_ACTION_DEL:
/* Delete the corresponding lease, if it already exists */
@@ -514,7 +542,6 @@ main(int argc, char **argv)
virPidFileReleasePath(pid_file, pid_file_fd);
VIR_FREE(pid_file);
- VIR_FREE(exptime);
VIR_FREE(server_duid);
VIR_FREE(custom_lease_file);
virJSONValueFree(lease_new);
--
2.4.10
8 years, 10 months
[libvirt] [PATCH] leaseshelper: swap two parameters of virLeaseNew
by Ján Tomko
My commit e11aa74 messed up the parameter order.
Reported by John Ferlan.
---
src/network/leaseshelper.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Pushed as trivial.
diff --git a/src/network/leaseshelper.c b/src/network/leaseshelper.c
index 2a0b18c..55ddd58 100644
--- a/src/network/leaseshelper.c
+++ b/src/network/leaseshelper.c
@@ -462,7 +462,7 @@ main(int argc, char **argv)
case VIR_LEASE_ACTION_ADD:
case VIR_LEASE_ACTION_OLD:
/* Create new lease */
- if (virLeaseNew(&lease_new, mac, clientid, ip, hostname, server_duid, iaid) < 0)
+ if (virLeaseNew(&lease_new, mac, clientid, ip, hostname, iaid, server_duid) < 0)
goto cleanup;
/* Custom ipv6 leases *will not* be created if the env-var DNSMASQ_MAC
* is not set. In the special case, when the $(interface).status file
--
2.4.10
8 years, 10 months
[libvirt] [PATCH] Fix '-pie' build with clang
by Martin Kletzander
Commit 97e70a593589e8f0432a748b4b93c3cdc18b9e5a added the option -pie to
CFLAGS and LDFLAGS, however '-pie' is just a linker option. That
wouldn't be a problem. However, clang is checking for that and outputs
an error or unused argument:
error: argument unused during compilation: '-pie'
Signed-off-by: Martin Kletzander <mkletzan(a)redhat.com>
---
m4/virt-compile-pie.m4 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/m4/virt-compile-pie.m4 b/m4/virt-compile-pie.m4
index c0fb346ff784..a2df38ea7272 100644
--- a/m4/virt-compile-pie.m4
+++ b/m4/virt-compile-pie.m4
@@ -26,7 +26,7 @@ AC_DEFUN([LIBVIRT_COMPILE_PIE],[
;; dnl All code is position independent on Win32 target
*)
gl_COMPILER_OPTION_IF([-fPIE -DPIE -pie], [
- PIE_CFLAGS="-fPIE -DPIE -pie"
+ PIE_CFLAGS="-fPIE -DPIE"
PIE_LDFLAGS="-pie"
])
esac
--
2.7.1
8 years, 10 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, 10 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, 10 months