Re: [libvirt] Determining domain job kind from job stats?
by Milan Zamazal
[Starting to move to the development list.]
Milan Zamazal <mzamazal(a)redhat.com> writes:
> Jiri Denemark <jdenemar(a)redhat.com> writes:
>
>> On Fri, Feb 17, 2017 at 12:38:24 +0100, Milan Zamazal wrote:
>>>
>>> There are basically two problems:
>>>
>>> - When the job completion callback is called, I need to distinguish what
>>> kind of job was it to perform the appropriate actions. It would be
>>> easier if I knew the job type directly in the callback (no need to
>>> coordinate anything), but "external" job tracking is also possible.
>>
>> An immediate answer would be: "don't rely on the completion callback and
>> just check the return value of the API which started the job", but I
>> guess you want it because checking the return value is not possible when
>> the process which started the job is not running anymore as described
>> below.
>
> Well, avoiding using the completion callback is probably OK for me.
Thinking about it more, it's not very nice: I have to use the callback
to get the completed job stats (I'm not guaranteed the domain still
exists on the source host when I ask it for the stats explicitly) *and*
to track the jobs outside the callback to know whether the callback is
related to the type of domain jobs I'm going to handle.
Although not absolutely necessary, it would be much nicer if the job
type was identified in the callback.
> (In case of the process restart, I don't expect having everything
> perfectly working, just some basic sanity.)
>
>>> - If I lost track of my jobs (e.g. because of a crash and restart), I'd
>>> like to find out whether a given VM is migrating. Examining the job
>>> looked like a good candidate to get the information, but apparently
>>> it's not. Again, I can probably arrange things to handle that, but to
>>> get the information directly from libvirt (not necessarily via job
>>> info) would be easier and more reliable.
>>
>> Apparently you are talking about peer-to-peer migration,
>
> Yes.
>
>> otherwise the migration would be automatically canceled when the
>> process which started it disappears. I'm afraid this is not currently
>> possible in general. You might be able to get something by checking
>> the domain's status, but it won't work in all cases.
>
> Too bad. Could some future libvirt version provide that information?
If libvirt provided information about the job type, it would help with
several things, for instance: With the callback problem above, with
using libvirt as the ultimate single source of information about the
VMs, or with handling VMs not running under complete control of a
particular piece of software.
If some piece of information about a VM is missing from libvirt I need
to store it somewhere. Domain metadata is a natural place for that,
since it's closely bound to the corresponding VM and keeps libvirt as
the ultimate single source of information. But putting there
information about migration is weird at best.
Based on those thoughts I think libvirt should really provide a simple
way to find out whether the VM is migrating to another host and to
identify the domain job type in the job completed callback. Is there
anything preventing to add that information?
Thanks,
Milan
7 years, 8 months
[libvirt] virsh manpage bug: wrong argument order for virsh vol-resize
by Feiko Nanninga
According to the manpage the arguments for virsh vol-resize are:
vol-resize [--pool pool-or-uuid] vol-name-or-path pool-or-uuid capacity […]
But actually only
vol-resize --pool pool-or-uuid vol-name-or-path capacity
or
vol-resize vol-name-or-path capacity pool-or-uuid
are accepted. So <capacity> and <pool-or-uuid> are swapped.
Tested on Debian 9 (stretch):
$ virsh --version
3.0.0
Best regards,
Feiko Nanninga
7 years, 8 months
[libvirt] [PATCH v4 00/14] Introduce vGPU mdev framework to libvirt
by Erik Skultety
since v1:
- new <hostdev> attribute model introduced which tells libvirt which device API
should be considered when auto-assigning guest address
- device_api is properly checked, thus taking the 'model' attribute only as a
hint to assign "some" address
- new address type 'mdev' is introduced rather than using plain <uuid> element,
since the address element is more conveniently extendable.
- the emulated mtty driver now works as well out of the box, so no HW needed to
review this series --> let's try it :)
- fixed all the nits from v1
since v2:
- dropped the patch introducing new address type 'mdev' since I added by
mistake and only after that realized that the device address type enum is used
for guest addresses only
--> the mdevs are still identified by address element containing an 'uuid'
attribute, I just dropped the enum
- resolved the driver hostdev list race condition raised by Pavel in his review
--> the device API is now checked every time our internal mdev object is
created as opposed to the previous version where because of the model being
checked separately, the locking issues arose.
- rewrote the docs, reflecting the mdev address type drop change
- squashed all security related stuff into 1 patch, also added app-armor bits
- as Pavel suggested, moved most of the mdev-related functions out of
virhostdev.c to virmdev.c
- added a few more test cases
- created a new branch 'mdev-next' on my github (more suitable name than a
strict version number) on https://github.com/eskultety/libvirt/commits/mdev-next
since v3:
- 'undo' an accidental squash of virmdev.{c,h} module introduction into patch
4/15 and made it a separate patch again
- squash 5/15 into 4/15 as Pavel suggested
- dropped the NEWS patch, as I've so far got at least 4 merge conflicts because
of it when rebasing...I'll add it before the series is ready to be
merged...or I'll forget about it like I usually do and add it later :/
Erik
Erik Skultety (14):
conf: hostdev: Enforce enum-in-switch compile-time checks
conf: hostdev: Introduce virDomainHostdevSubsysSCSIClear
conf: Introduce virDomainHostdevDefPostParse
util: Introduce new module virmdev
conf: Introduce new hostdev device type mdev
security: Enable labeling of vfio mediated devices
conf: Enable cold-plug of a mediated device
qemu: Assign PCI addresses for mediated devices as well
hostdev: Maintain a driver list of active mediated devices
qemu: cgroup: Adjust cgroups' logic to allow mediated devices
qemu: Bump the memory locking limit for mdevs as well
qemu: Format mdevs on qemu command line
test: Add some test cases for our test suite regarding the mdevs
docs: Document the new hostdev and address type 'mdev'
docs/formatdomain.html.in | 46 +-
docs/schemas/domaincommon.rng | 22 +
po/POTFILES.in | 1 +
src/Makefile.am | 1 +
src/conf/domain_conf.c | 225 ++++++++--
src/conf/domain_conf.h | 9 +
src/libvirt_private.syms | 25 ++
src/qemu/qemu_command.c | 45 ++
src/qemu/qemu_command.h | 5 +
src/qemu/qemu_domain.c | 24 +-
src/qemu/qemu_domain.h | 1 +
src/qemu/qemu_domain_address.c | 14 +-
src/qemu/qemu_hostdev.c | 56 +++
src/qemu/qemu_hostdev.h | 10 +
src/qemu/qemu_hotplug.c | 2 +
src/security/security_apparmor.c | 22 +
src/security/security_dac.c | 43 ++
src/security/security_selinux.c | 45 ++
src/util/virhostdev.c | 165 ++++++-
src/util/virhostdev.h | 23 +
src/util/virmdev.c | 487 +++++++++++++++++++++
src/util/virmdev.h | 123 ++++++
tests/domaincapsschemadata/full.xml | 1 +
...ml2argv-hostdev-mdev-invalid-target-address.xml | 33 ++
...muxml2argv-hostdev-mdev-src-address-invalid.xml | 35 ++
.../qemuxml2argv-hostdev-mdev-unmanaged.args | 25 ++
.../qemuxml2argv-hostdev-mdev-unmanaged.xml | 35 ++
tests/qemuxml2argvtest.c | 9 +
.../qemuxml2xmlout-hostdev-mdev-unmanaged.xml | 40 ++
tests/qemuxml2xmltest.c | 1 +
30 files changed, 1518 insertions(+), 55 deletions(-)
create mode 100644 src/util/virmdev.c
create mode 100644 src/util/virmdev.h
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-hostdev-mdev-invalid-target-address.xml
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-hostdev-mdev-src-address-invalid.xml
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-hostdev-mdev-unmanaged.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-hostdev-mdev-unmanaged.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-hostdev-mdev-unmanaged.xml
--
2.12.1
7 years, 8 months
[libvirt] Question about virsh domifaddr
by Vinod Chegu
Hi,
In one of our test env. the virsh domifaddr <domain-name> --full doesn't
provide any info about the interfaces of a live VM when the interfaces were
configured on linux bridges (DHCP is being used to IPs). This command does
return information when interfaces were using NAT.
Is this expected behavior ?
Thanks
Vinod
7 years, 8 months
[libvirt] [PATCH] tests: link virpcimock with utils
by Pavel Hrdina
In virpcimock we use some functions from utils so we should link
utils library to provide required symbols.
Signed-off-by: Pavel Hrdina <phrdina(a)redhat.com>
---
tests/Makefile.am | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 279e9b7da8..8b9bba31ce 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -1131,7 +1131,8 @@ virpcimock_la_SOURCES = \
virpcimock.c
virpcimock_la_CFLAGS = $(AM_CFLAGS)
virpcimock_la_LDFLAGS = $(MOCKLIBS_LDFLAGS)
-virpcimock_la_LIBADD = $(MOCKLIBS_LIBS)
+virpcimock_la_LIBADD = $(MOCKLIBS_LIBS) \
+ ../src/libvirt_util.la
virrandommock_la_SOURCES = \
virrandommock.c
--
2.12.2
7 years, 8 months
[libvirt] [PATCH 0/8] qemu tests improvements and cleanups
by Pavel Hrdina
Pavel Hrdina (8):
tests/qemuxml2argvtest: remove unnecessary machine canonicalization
tests/qemuxml2xmltest: remove NOP call of virQEMUCapsSetList
tests: use global virQEMUDriver
tests/testutilsqemu: extract guest creation into separate functions
tests/testutilsqemu: introduce QEMUBinList with all qemu binaries for
tests
tests: don't use different QEMU binary paths for different virt types
tests: unify qemu binary paths for all qemu related tests
tests/testutilsqemu: properly initialize qemu caps for tests
src/qemu/qemu_capabilities.c | 6 -
tests/capabilityschemadata/caps-qemu-kvm.xml | 6 +-
tests/capabilityschemadata/caps-test2.xml | 4 +-
tests/domainschemadata/backing-chains.xml | 2 +-
tests/domainschemadata/default-cache-mode.xml | 2 +-
tests/domainschemadata/domain-bios-nvram-empty.xml | 2 +-
tests/domainschemadata/maxMemory.xml | 2 +-
.../qemu-simple-description-title.xml | 2 +-
tests/domainschemadata/timers.xml | 2 +-
.../disk_snapshot_redefine.xml | 2 +-
.../external_vm_redefine.xml | 2 +-
tests/domainsnapshotxml2xmlout/full_domain.xml | 2 +-
tests/domainsnapshotxml2xmlout/metadata.xml | 2 +-
tests/genericxml2xmlindata/generic-disk-virtio.xml | 2 +-
...eneric-graphics-listen-back-compat-mismatch.xml | 2 +-
.../generic-graphics-listen-back-compat.xml | 2 +-
.../generic-graphics-vnc-autoport-no.xml | 2 +-
.../generic-graphics-vnc-listen-attr-only.xml | 2 +-
...generic-graphics-vnc-listen-element-minimal.xml | 2 +-
...ic-graphics-vnc-listen-element-with-address.xml | 2 +-
.../generic-graphics-vnc-manual-port.xml | 2 +-
.../generic-graphics-vnc-minimal.xml | 2 +-
...ric-graphics-vnc-socket-attr-listen-address.xml | 2 +-
...hics-vnc-socket-attr-listen-socket-mismatch.xml | 2 +-
...eric-graphics-vnc-socket-attr-listen-socket.xml | 2 +-
.../generic-graphics-vnc-socket-listen.xml | 2 +-
.../generic-graphics-vnc-socket.xml | 2 +-
.../genericxml2xmloutdata/generic-disk-virtio.xml | 2 +-
.../generic-graphics-listen-back-compat.xml | 2 +-
.../generic-graphics-vnc-listen-attr-only.xml | 2 +-
...generic-graphics-vnc-listen-element-minimal.xml | 2 +-
...ic-graphics-vnc-listen-element-with-address.xml | 2 +-
.../generic-graphics-vnc-manual-port.xml | 2 +-
.../generic-graphics-vnc-minimal.xml | 2 +-
...ric-graphics-vnc-socket-attr-listen-address.xml | 2 +-
...eric-graphics-vnc-socket-attr-listen-socket.xml | 2 +-
.../generic-graphics-vnc-socket-listen.xml | 2 +-
.../generic-graphics-vnc-socket.xml | 2 +-
tests/qemuagentdata/qemuagent-fsinfo.xml | 2 +-
tests/qemuagenttest.c | 9 +-
.../qemuargv2xmldata/qemuargv2xml-boot-cdrom.args | 2 +-
tests/qemuargv2xmldata/qemuargv2xml-boot-cdrom.xml | 2 +-
.../qemuargv2xmldata/qemuargv2xml-boot-floppy.args | 2 +-
.../qemuargv2xmldata/qemuargv2xml-boot-floppy.xml | 2 +-
.../qemuargv2xml-boot-network.args | 2 +-
.../qemuargv2xmldata/qemuargv2xml-boot-network.xml | 2 +-
.../qemuargv2xml-clock-localtime.args | 2 +-
.../qemuargv2xml-clock-localtime.xml | 2 +-
tests/qemuargv2xmldata/qemuargv2xml-clock-utc.args | 2 +-
tests/qemuargv2xmldata/qemuargv2xml-clock-utc.xml | 2 +-
.../qemuargv2xml-console-compat.args | 2 +-
.../qemuargv2xml-console-compat.xml | 2 +-
.../qemuargv2xml-disk-cdrom-empty.args | 2 +-
.../qemuargv2xml-disk-cdrom-empty.xml | 2 +-
.../qemuargv2xmldata/qemuargv2xml-disk-cdrom.args | 2 +-
tests/qemuargv2xmldata/qemuargv2xml-disk-cdrom.xml | 2 +-
.../qemuargv2xml-disk-drive-boot-cdrom.args | 2 +-
.../qemuargv2xml-disk-drive-boot-cdrom.xml | 2 +-
.../qemuargv2xml-disk-drive-boot-disk.args | 2 +-
.../qemuargv2xml-disk-drive-boot-disk.xml | 2 +-
.../qemuargv2xml-disk-drive-cache-directsync.args | 2 +-
.../qemuargv2xml-disk-drive-cache-directsync.xml | 2 +-
.../qemuargv2xml-disk-drive-cache-unsafe.args | 2 +-
.../qemuargv2xml-disk-drive-cache-unsafe.xml | 2 +-
.../qemuargv2xml-disk-drive-cache-v2-none.args | 2 +-
.../qemuargv2xml-disk-drive-cache-v2-none.xml | 2 +-
.../qemuargv2xml-disk-drive-cache-v2-wb.args | 2 +-
.../qemuargv2xml-disk-drive-cache-v2-wb.xml | 2 +-
.../qemuargv2xml-disk-drive-cache-v2-wt.args | 2 +-
.../qemuargv2xml-disk-drive-cache-v2-wt.xml | 2 +-
...uargv2xml-disk-drive-error-policy-enospace.args | 2 +-
...muargv2xml-disk-drive-error-policy-enospace.xml | 2 +-
.../qemuargv2xml-disk-drive-error-policy-stop.args | 2 +-
.../qemuargv2xml-disk-drive-error-policy-stop.xml | 2 +-
...ml-disk-drive-error-policy-wreport-rignore.args | 2 +-
...xml-disk-drive-error-policy-wreport-rignore.xml | 2 +-
.../qemuargv2xml-disk-drive-fmt-qcow.args | 2 +-
.../qemuargv2xml-disk-drive-fmt-qcow.xml | 2 +-
.../qemuargv2xml-disk-drive-network-gluster.args | 2 +-
.../qemuargv2xml-disk-drive-network-gluster.xml | 2 +-
...qemuargv2xml-disk-drive-network-iscsi-auth.args | 2 +-
.../qemuargv2xml-disk-drive-network-iscsi-auth.xml | 2 +-
.../qemuargv2xml-disk-drive-network-iscsi.args | 2 +-
.../qemuargv2xml-disk-drive-network-iscsi.xml | 2 +-
...qemuargv2xml-disk-drive-network-nbd-export.args | 2 +-
.../qemuargv2xml-disk-drive-network-nbd-export.xml | 2 +-
...rgv2xml-disk-drive-network-nbd-ipv6-export.args | 2 +-
...argv2xml-disk-drive-network-nbd-ipv6-export.xml | 2 +-
.../qemuargv2xml-disk-drive-network-nbd-ipv6.args | 2 +-
.../qemuargv2xml-disk-drive-network-nbd-ipv6.xml | 2 +-
.../qemuargv2xml-disk-drive-network-nbd-unix.args | 2 +-
.../qemuargv2xml-disk-drive-network-nbd-unix.xml | 2 +-
.../qemuargv2xml-disk-drive-network-nbd.args | 2 +-
.../qemuargv2xml-disk-drive-network-nbd.xml | 2 +-
.../qemuargv2xml-disk-drive-network-rbd-auth.args | 2 +-
.../qemuargv2xml-disk-drive-network-rbd-auth.xml | 2 +-
...muargv2xml-disk-drive-network-rbd-ceph-env.args | 2 +-
...emuargv2xml-disk-drive-network-rbd-ceph-env.xml | 2 +-
.../qemuargv2xml-disk-drive-network-rbd-ipv6.args | 2 +-
.../qemuargv2xml-disk-drive-network-rbd-ipv6.xml | 2 +-
.../qemuargv2xml-disk-drive-network-rbd.args | 2 +-
.../qemuargv2xml-disk-drive-network-rbd.xml | 2 +-
.../qemuargv2xml-disk-drive-network-sheepdog.args | 2 +-
.../qemuargv2xml-disk-drive-network-sheepdog.xml | 2 +-
.../qemuargv2xmldata/qemuargv2xml-disk-floppy.args | 2 +-
.../qemuargv2xmldata/qemuargv2xml-disk-floppy.xml | 2 +-
tests/qemuargv2xmldata/qemuargv2xml-disk-many.args | 2 +-
tests/qemuargv2xmldata/qemuargv2xml-disk-many.xml | 2 +-
tests/qemuargv2xmldata/qemuargv2xml-disk-usb.args | 2 +-
tests/qemuargv2xmldata/qemuargv2xml-disk-usb.xml | 2 +-
.../qemuargv2xmldata/qemuargv2xml-disk-virtio.args | 2 +-
.../qemuargv2xmldata/qemuargv2xml-disk-virtio.xml | 2 +-
.../qemuargv2xml-graphics-sdl-fullscreen.args | 2 +-
.../qemuargv2xml-graphics-sdl-fullscreen.xml | 2 +-
.../qemuargv2xml-graphics-sdl.args | 2 +-
.../qemuargv2xmldata/qemuargv2xml-graphics-sdl.xml | 2 +-
.../qemuargv2xml-graphics-vnc-policy.args | 2 +-
.../qemuargv2xml-graphics-vnc-policy.xml | 2 +-
.../qemuargv2xml-graphics-vnc-sasl.args | 2 +-
.../qemuargv2xml-graphics-vnc-sasl.xml | 2 +-
.../qemuargv2xml-graphics-vnc-socket.args | 2 +-
.../qemuargv2xml-graphics-vnc-socket.xml | 2 +-
.../qemuargv2xml-graphics-vnc-tls.args | 2 +-
.../qemuargv2xml-graphics-vnc-tls.xml | 2 +-
.../qemuargv2xml-graphics-vnc-websocket.args | 2 +-
.../qemuargv2xml-graphics-vnc-websocket.xml | 2 +-
.../qemuargv2xml-graphics-vnc.args | 2 +-
.../qemuargv2xmldata/qemuargv2xml-graphics-vnc.xml | 2 +-
.../qemuargv2xml-hostdev-pci-address.args | 2 +-
.../qemuargv2xml-hostdev-pci-address.xml | 2 +-
.../qemuargv2xml-hostdev-usb-address.args | 2 +-
.../qemuargv2xml-hostdev-usb-address.xml | 2 +-
.../qemuargv2xml-hyperv-panic.args | 2 +-
.../qemuargv2xmldata/qemuargv2xml-hyperv-panic.xml | 2 +-
tests/qemuargv2xmldata/qemuargv2xml-hyperv.args | 2 +-
tests/qemuargv2xmldata/qemuargv2xml-hyperv.xml | 2 +-
.../qemuargv2xml-input-usbmouse.args | 2 +-
.../qemuargv2xml-input-usbmouse.xml | 2 +-
.../qemuargv2xml-input-usbtablet.args | 2 +-
.../qemuargv2xml-input-usbtablet.xml | 2 +-
.../qemuargv2xml-kvm-features.args | 2 +-
.../qemuargv2xmldata/qemuargv2xml-kvm-features.xml | 2 +-
tests/qemuargv2xmldata/qemuargv2xml-kvmclock.args | 4 +-
tests/qemuargv2xmldata/qemuargv2xml-kvmclock.xml | 2 +-
.../qemuargv2xml-machine-core-off.args | 2 +-
.../qemuargv2xml-machine-core-off.xml | 2 +-
.../qemuargv2xml-machine-core-on.args | 2 +-
.../qemuargv2xml-machine-core-on.xml | 2 +-
tests/qemuargv2xmldata/qemuargv2xml-mem-scale.args | 2 +-
tests/qemuargv2xmldata/qemuargv2xml-mem-scale.xml | 2 +-
tests/qemuargv2xmldata/qemuargv2xml-migrate.args | 2 +-
tests/qemuargv2xmldata/qemuargv2xml-migrate.xml | 2 +-
tests/qemuargv2xmldata/qemuargv2xml-misc-acpi.args | 2 +-
tests/qemuargv2xmldata/qemuargv2xml-misc-acpi.xml | 2 +-
.../qemuargv2xml-misc-disable-s3.args | 2 +-
.../qemuargv2xml-misc-disable-s3.xml | 2 +-
.../qemuargv2xml-misc-disable-suspends.args | 2 +-
.../qemuargv2xml-misc-disable-suspends.xml | 2 +-
.../qemuargv2xml-misc-enable-s4.args | 2 +-
.../qemuargv2xml-misc-enable-s4.xml | 2 +-
.../qemuargv2xml-misc-no-reboot.args | 2 +-
.../qemuargv2xml-misc-no-reboot.xml | 2 +-
tests/qemuargv2xmldata/qemuargv2xml-misc-uuid.args | 2 +-
tests/qemuargv2xmldata/qemuargv2xml-misc-uuid.xml | 2 +-
.../qemuargv2xml-net-eth-ifname.args | 2 +-
.../qemuargv2xml-net-eth-ifname.xml | 2 +-
tests/qemuargv2xmldata/qemuargv2xml-net-eth.args | 2 +-
tests/qemuargv2xmldata/qemuargv2xml-net-eth.xml | 2 +-
tests/qemuargv2xmldata/qemuargv2xml-net-user.args | 2 +-
tests/qemuargv2xmldata/qemuargv2xml-net-user.xml | 2 +-
.../qemuargv2xmldata/qemuargv2xml-net-virtio.args | 2 +-
tests/qemuargv2xmldata/qemuargv2xml-net-virtio.xml | 2 +-
.../qemuargv2xml-nographics-vga-display.args | 2 +-
.../qemuargv2xml-nographics-vga-display.xml | 2 +-
.../qemuargv2xml-nographics-vga.args | 2 +-
.../qemuargv2xml-nographics-vga.xml | 2 +-
.../qemuargv2xml-nosharepages.args | 2 +-
.../qemuargv2xmldata/qemuargv2xml-nosharepages.xml | 2 +-
.../qemuargv2xml-parallel-tcp.args | 2 +-
.../qemuargv2xmldata/qemuargv2xml-parallel-tcp.xml | 2 +-
.../qemuargv2xml-qemu-ns-no-env.args | 2 +-
.../qemuargv2xml-qemu-ns-no-env.xml | 2 +-
.../qemuargv2xml-reboot-timeout-disabled.args | 2 +-
.../qemuargv2xml-reboot-timeout-disabled.xml | 2 +-
.../qemuargv2xml-reboot-timeout-enabled.args | 2 +-
.../qemuargv2xml-reboot-timeout-enabled.xml | 2 +-
.../qemuargv2xmldata/qemuargv2xml-restore-v2.args | 2 +-
tests/qemuargv2xmldata/qemuargv2xml-restore-v2.xml | 2 +-
.../qemuargv2xmldata/qemuargv2xml-serial-dev.args | 2 +-
tests/qemuargv2xmldata/qemuargv2xml-serial-dev.xml | 2 +-
.../qemuargv2xmldata/qemuargv2xml-serial-file.args | 2 +-
.../qemuargv2xmldata/qemuargv2xml-serial-file.xml | 2 +-
.../qemuargv2xmldata/qemuargv2xml-serial-many.args | 2 +-
.../qemuargv2xmldata/qemuargv2xml-serial-many.xml | 2 +-
.../qemuargv2xmldata/qemuargv2xml-serial-pty.args | 2 +-
tests/qemuargv2xmldata/qemuargv2xml-serial-pty.xml | 2 +-
.../qemuargv2xml-serial-tcp-telnet.args | 2 +-
.../qemuargv2xml-serial-tcp-telnet.xml | 2 +-
.../qemuargv2xmldata/qemuargv2xml-serial-tcp.args | 2 +-
tests/qemuargv2xmldata/qemuargv2xml-serial-tcp.xml | 2 +-
.../qemuargv2xmldata/qemuargv2xml-serial-udp.args | 2 +-
tests/qemuargv2xmldata/qemuargv2xml-serial-udp.xml | 2 +-
.../qemuargv2xmldata/qemuargv2xml-serial-unix.args | 2 +-
.../qemuargv2xmldata/qemuargv2xml-serial-unix.xml | 2 +-
tests/qemuargv2xmldata/qemuargv2xml-serial-vc.args | 2 +-
tests/qemuargv2xmldata/qemuargv2xml-serial-vc.xml | 2 +-
tests/qemuargv2xmldata/qemuargv2xml-smp.args | 2 +-
tests/qemuargv2xmldata/qemuargv2xml-smp.xml | 2 +-
tests/qemuargv2xmldata/qemuargv2xml-sound.args | 2 +-
tests/qemuargv2xmldata/qemuargv2xml-sound.xml | 2 +-
tests/qemuargv2xmldata/qemuargv2xml-watchdog.args | 2 +-
tests/qemuargv2xmldata/qemuargv2xml-watchdog.xml | 2 +-
tests/qemuhotplugtest.c | 11 +-
.../ppc64-modern-bulk-domain.xml | 2 +-
.../ppc64-modern-bulk-result-conf.xml | 2 +-
.../ppc64-modern-bulk-result-live.xml | 2 +-
.../ppc64-modern-individual-domain.xml | 2 +-
.../ppc64-modern-individual-result-conf.xml | 2 +-
.../ppc64-modern-individual-result-live.xml | 2 +-
.../qemuhotplugtestcpus/x86-modern-bulk-domain.xml | 2 +-
.../x86-modern-bulk-result-conf.xml | 2 +-
.../x86-modern-bulk-result-live.xml | 2 +-
.../x86-modern-individual-add-domain.xml | 2 +-
.../x86-modern-individual-add-result-conf.xml | 2 +-
.../x86-modern-individual-add-result-live.xml | 2 +-
tests/qemuhotplugtestcpus/x86-old-bulk-domain.xml | 2 +-
.../x86-old-bulk-result-conf.xml | 2 +-
.../x86-old-bulk-result-live.xml | 2 +-
.../qemuhotplug-base+qemu-agent-detach.xml | 2 +-
.../qemuhotplug-base+qemu-agent.xml | 2 +-
.../qemuhotplug-base-ccw-live+ccw-virtio.xml | 2 +-
...ive-with-2-ccw-virtio+ccw-virtio-1-explicit.xml | 2 +-
...live-with-2-ccw-virtio+ccw-virtio-1-reverse.xml | 2 +-
...qemuhotplug-base-ccw-live-with-2-ccw-virtio.xml | 2 +-
...-live-with-ccw-virtio+ccw-virtio-2-explicit.xml | 2 +-
...-base-ccw-live-with-ccw-virtio+ccw-virtio-2.xml | 2 +-
.../qemuhotplug-base-ccw-live-with-ccw-virtio.xml | 2 +-
.../qemuhotplug-base-ccw-live.xml | 2 +-
.../qemuhotplug-base-live+disk-scsi.xml | 2 +-
.../qemuhotplug-base-live+disk-usb.xml | 2 +-
.../qemuhotplug-base-live+disk-virtio.xml | 2 +-
.../qemuhotplug-base-live+ivshmem-doorbell.xml | 2 +-
.../qemuhotplug-base-live+ivshmem-plain.xml | 2 +-
.../qemuhotplug-base-live+qemu-agent-detach.xml | 2 +-
.../qemuhotplug-base-live+qemu-agent.xml | 2 +-
.../qemuhotplug-base-live.xml | 2 +-
...-base-with-scsi-controller-live+disk-scsi-2.xml | 2 +-
.../qemuhotplug-base-with-scsi-controller-live.xml | 2 +-
...se-without-scsi-controller-live+disk-scsi-2.xml | 2 +-
...muhotplug-base-without-scsi-controller-live.xml | 2 +-
.../qemuhotplug-disk-cdrom.xml | 2 +-
.../qemuhotplug-graphics-spice-listen-network.xml | 2 +-
.../qemuhotplug-graphics-spice-timeout.xml | 2 +-
.../qemuhotplug-graphics-spice.xml | 2 +-
.../qemuxml2argv-440fx-wrong-root.xml | 2 +-
.../qemuxml2argv-aarch64-kvm-32-on-64.args | 2 +-
.../qemuxml2argv-aarch64-kvm-32-on-64.xml | 2 +-
.../qemuxml2argv-aarch64-video-virtio-gpu-pci.args | 2 +-
.../qemuxml2argv-aarch64-video-virtio-gpu-pci.xml | 2 +-
.../qemuxml2argvdata/qemuxml2argv-acpi-table.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-acpi-table.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-autoindex.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-autoindex.xml | 2 +-
.../qemuxml2argv-balloon-ccw-deflate.args | 2 +-
.../qemuxml2argv-balloon-ccw-deflate.xml | 2 +-
.../qemuxml2argv-balloon-device-auto.args | 2 +-
.../qemuxml2argv-balloon-device-auto.xml | 2 +-
.../qemuxml2argv-balloon-device-deflate-off.args | 2 +-
.../qemuxml2argv-balloon-device-deflate-off.xml | 2 +-
.../qemuxml2argv-balloon-device-deflate.args | 2 +-
.../qemuxml2argv-balloon-device-deflate.xml | 2 +-
.../qemuxml2argv-balloon-device-period.args | 2 +-
.../qemuxml2argv-balloon-device-period.xml | 2 +-
.../qemuxml2argv-balloon-device.args | 2 +-
.../qemuxml2argv-balloon-device.xml | 2 +-
.../qemuxml2argv-bios-nvram-os-interleave.xml | 2 +-
.../qemuxml2argv-bios-nvram-secure.args | 2 +-
.../qemuxml2argv-bios-nvram-secure.xml | 2 +-
.../qemuxml2argvdata/qemuxml2argv-bios-nvram.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-bios-nvram.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-bios.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-bios.xml | 2 +-
.../qemuxml2argv-blkdeviotune-group-num.args | 2 +-
.../qemuxml2argv-blkdeviotune-group-num.xml | 2 +-
.../qemuxml2argv-blkdeviotune-max-length.args | 2 +-
.../qemuxml2argv-blkdeviotune-max-length.xml | 2 +-
.../qemuxml2argv-blkdeviotune-max.args | 2 +-
.../qemuxml2argv-blkdeviotune-max.xml | 2 +-
.../qemuxml2argv-blkdeviotune.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-blkdeviotune.xml | 2 +-
.../qemuxml2argv-blkiotune-device.args | 2 +-
.../qemuxml2argv-blkiotune-device.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-blkiotune.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-blkiotune.xml | 2 +-
.../qemuxml2argvdata/qemuxml2argv-boot-cdrom.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-boot-cdrom.xml | 2 +-
.../qemuxml2argv-boot-complex-bootindex.args | 2 +-
.../qemuxml2argv-boot-complex-bootindex.xml | 2 +-
.../qemuxml2argv-boot-complex.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-boot-complex.xml | 2 +-
.../qemuxml2argv-boot-dev+order.xml | 2 +-
.../qemuxml2argv-boot-floppy-q35.args | 2 +-
.../qemuxml2argv-boot-floppy-q35.xml | 2 +-
.../qemuxml2argvdata/qemuxml2argv-boot-floppy.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-boot-floppy.xml | 2 +-
...xml2argv-boot-menu-disable-drive-bootindex.args | 2 +-
...uxml2argv-boot-menu-disable-drive-bootindex.xml | 2 +-
.../qemuxml2argv-boot-menu-disable-drive.args | 2 +-
.../qemuxml2argv-boot-menu-disable-drive.xml | 2 +-
...qemuxml2argv-boot-menu-disable-with-timeout.xml | 2 +-
.../qemuxml2argv-boot-menu-disable.args | 2 +-
.../qemuxml2argv-boot-menu-disable.xml | 2 +-
.../qemuxml2argv-boot-menu-enable-bootindex.args | 2 +-
.../qemuxml2argv-boot-menu-enable-bootindex.xml | 2 +-
...2argv-boot-menu-enable-with-timeout-invalid.xml | 2 +-
...qemuxml2argv-boot-menu-enable-with-timeout.args | 2 +-
.../qemuxml2argv-boot-menu-enable-with-timeout.xml | 2 +-
.../qemuxml2argv-boot-menu-enable.args | 2 +-
.../qemuxml2argv-boot-menu-enable.xml | 2 +-
.../qemuxml2argvdata/qemuxml2argv-boot-multi.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-boot-multi.xml | 2 +-
.../qemuxml2argv-boot-network.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-boot-network.xml | 2 +-
.../qemuxml2argvdata/qemuxml2argv-boot-order.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-boot-order.xml | 2 +-
.../qemuxml2argvdata/qemuxml2argv-boot-strict.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-boot-strict.xml | 2 +-
.../qemuxml2argv-bootindex-floppy-q35.args | 2 +-
.../qemuxml2argv-bootindex-floppy-q35.xml | 2 +-
.../qemuxml2argv-channel-guestfwd.args | 2 +-
.../qemuxml2argv-channel-guestfwd.xml | 2 +-
.../qemuxml2argv-channel-spicevmc-old.args | 2 +-
.../qemuxml2argv-channel-spicevmc-old.xml | 2 +-
.../qemuxml2argv-channel-spicevmc.args | 2 +-
.../qemuxml2argv-channel-spicevmc.xml | 2 +-
.../qemuxml2argv-channel-virtio-auto.args | 2 +-
.../qemuxml2argv-channel-virtio-auto.xml | 2 +-
.../qemuxml2argv-channel-virtio-autoadd.args | 2 +-
.../qemuxml2argv-channel-virtio-autoadd.xml | 2 +-
.../qemuxml2argv-channel-virtio-autoassign.args | 2 +-
.../qemuxml2argv-channel-virtio-autoassign.xml | 2 +-
.../qemuxml2argv-channel-virtio-default.args | 2 +-
.../qemuxml2argv-channel-virtio-default.xml | 2 +-
.../qemuxml2argv-channel-virtio-state.args | 2 +-
.../qemuxml2argv-channel-virtio-state.xml | 2 +-
.../qemuxml2argv-channel-virtio-unix.args | 2 +-
.../qemuxml2argv-channel-virtio-unix.xml | 2 +-
.../qemuxml2argv-channel-virtio.args | 2 +-
.../qemuxml2argv-channel-virtio.xml | 2 +-
.../qemuxml2argv-chardev-label.xml | 2 +-
.../qemuxml2argv-clock-catchup.args | 2 +-
.../qemuxml2argv-clock-catchup.xml | 2 +-
.../qemuxml2argv-clock-france.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-clock-france.xml | 2 +-
.../qemuxml2argv-clock-hpet-off.args | 2 +-
.../qemuxml2argv-clock-hpet-off.xml | 2 +-
...muxml2argv-clock-localtime-basis-localtime.args | 2 +-
...emuxml2argv-clock-localtime-basis-localtime.xml | 2 +-
.../qemuxml2argv-clock-localtime.args | 2 +-
.../qemuxml2argv-clock-localtime.xml | 2 +-
.../qemuxml2argv-clock-timer-hyperv-rtc.args | 2 +-
.../qemuxml2argv-clock-timer-hyperv-rtc.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-clock-utc.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-clock-utc.xml | 2 +-
.../qemuxml2argv-clock-variable.args | 2 +-
.../qemuxml2argv-clock-variable.xml | 2 +-
.../qemuxml2argv-console-compat-auto.args | 2 +-
.../qemuxml2argv-console-compat-auto.xml | 2 +-
.../qemuxml2argv-console-compat-chardev.args | 2 +-
.../qemuxml2argv-console-compat-chardev.xml | 2 +-
.../qemuxml2argv-console-compat.args | 2 +-
.../qemuxml2argv-console-compat.xml | 2 +-
.../qemuxml2argv-console-compat2.xml | 2 +-
.../qemuxml2argv-console-sclp.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-console-sclp.xml | 2 +-
.../qemuxml2argv-console-virtio-ccw.args | 2 +-
.../qemuxml2argv-console-virtio-ccw.xml | 2 +-
.../qemuxml2argv-console-virtio-many.args | 2 +-
.../qemuxml2argv-console-virtio-many.xml | 2 +-
.../qemuxml2argv-console-virtio-s390.args | 2 +-
.../qemuxml2argv-console-virtio-s390.xml | 2 +-
.../qemuxml2argv-console-virtio.args | 2 +-
.../qemuxml2argv-console-virtio.xml | 2 +-
.../qemuxml2argv-controller-order.args | 2 +-
.../qemuxml2argv-controller-order.xml | 2 +-
.../qemuxml2argv-cpu-Haswell-noTSX.args | 2 +-
.../qemuxml2argv-cpu-Haswell-noTSX.xml | 2 +-
.../qemuxml2argvdata/qemuxml2argv-cpu-Haswell.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-cpu-Haswell.xml | 2 +-
.../qemuxml2argv-cpu-Haswell2.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-cpu-Haswell2.xml | 2 +-
.../qemuxml2argv-cpu-Haswell3.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-cpu-Haswell3.xml | 2 +-
.../qemuxml2argv-cpu-check-default-none.args | 2 +-
.../qemuxml2argv-cpu-check-default-none.xml | 2 +-
.../qemuxml2argv-cpu-check-default-none2.args | 2 +-
.../qemuxml2argv-cpu-check-default-none2.xml | 2 +-
.../qemuxml2argv-cpu-check-default-partial.args | 2 +-
.../qemuxml2argv-cpu-check-default-partial.xml | 2 +-
.../qemuxml2argv-cpu-check-default-partial2.args | 2 +-
.../qemuxml2argv-cpu-check-default-partial2.xml | 2 +-
.../qemuxml2argv-cpu-check-full.xml | 2 +-
.../qemuxml2argv-cpu-check-none.args | 2 +-
.../qemuxml2argv-cpu-check-none.xml | 2 +-
.../qemuxml2argv-cpu-check-partial.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-cpu-empty.xml | 2 +-
.../qemuxml2argv-cpu-eoi-disabled.args | 2 +-
.../qemuxml2argv-cpu-eoi-disabled.xml | 2 +-
.../qemuxml2argv-cpu-eoi-enabled.args | 2 +-
.../qemuxml2argv-cpu-eoi-enabled.xml | 2 +-
.../qemuxml2argvdata/qemuxml2argv-cpu-exact1.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-cpu-exact1.xml | 2 +-
.../qemuxml2argv-cpu-exact2-nofallback.args | 2 +-
.../qemuxml2argv-cpu-exact2-nofallback.xml | 2 +-
.../qemuxml2argvdata/qemuxml2argv-cpu-exact2.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-cpu-exact2.xml | 2 +-
.../qemuxml2argv-cpu-fallback.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-cpu-fallback.xml | 2 +-
.../qemuxml2argv-cpu-host-kvmclock.args | 2 +-
.../qemuxml2argv-cpu-host-kvmclock.xml | 2 +-
.../qemuxml2argv-cpu-host-model-cmt.args | 2 +-
.../qemuxml2argv-cpu-host-model-cmt.xml | 2 +-
.../qemuxml2argv-cpu-host-model-fallback.args | 2 +-
.../qemuxml2argv-cpu-host-model-fallback.xml | 2 +-
.../qemuxml2argv-cpu-host-model-features.xml | 2 +-
.../qemuxml2argv-cpu-host-model-nofallback.xml | 2 +-
.../qemuxml2argv-cpu-host-model-vendor.args | 2 +-
.../qemuxml2argv-cpu-host-model-vendor.xml | 2 +-
.../qemuxml2argv-cpu-host-model.args | 2 +-
.../qemuxml2argv-cpu-host-model.xml | 2 +-
...qemuxml2argv-cpu-host-passthrough-features.args | 2 +-
.../qemuxml2argv-cpu-host-passthrough-features.xml | 2 +-
.../qemuxml2argv-cpu-host-passthrough.args | 2 +-
.../qemuxml2argv-cpu-host-passthrough.xml | 2 +-
.../qemuxml2argv-cpu-hotplug-startup.args | 2 +-
.../qemuxml2argv-cpu-hotplug-startup.xml | 2 +-
.../qemuxml2argv-cpu-kvmclock.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-cpu-kvmclock.xml | 2 +-
.../qemuxml2argv-cpu-minimum1.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-cpu-minimum1.xml | 2 +-
.../qemuxml2argv-cpu-minimum2.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-cpu-minimum2.xml | 2 +-
.../qemuxml2argv-cpu-nofallback.xml | 2 +-
.../qemuxml2argv-cpu-numa-disjoint.args | 2 +-
.../qemuxml2argv-cpu-numa-disjoint.xml | 2 +-
.../qemuxml2argv-cpu-numa-disordered.xml | 2 +-
.../qemuxml2argv-cpu-numa-memshared.xml | 2 +-
.../qemuxml2argv-cpu-numa-no-memory-element.args | 2 +-
.../qemuxml2argv-cpu-numa-no-memory-element.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-cpu-numa1.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-cpu-numa1.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-cpu-numa2.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-cpu-numa2.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-cpu-numa3.xml | 2 +-
.../qemuxml2argv-cpu-qemu-host-passthrough.xml | 2 +-
.../qemuxml2argv-cpu-s390-features.args | 2 +-
.../qemuxml2argv-cpu-s390-features.xml | 2 +-
.../qemuxml2argv-cpu-s390-zEC12.args | 2 +-
.../qemuxml2argv-cpu-s390-zEC12.xml | 2 +-
.../qemuxml2argvdata/qemuxml2argv-cpu-strict1.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-cpu-strict1.xml | 2 +-
.../qemuxml2argv-cpu-topology1.args | 2 +-
.../qemuxml2argv-cpu-topology1.xml | 2 +-
.../qemuxml2argv-cpu-topology2.args | 2 +-
.../qemuxml2argv-cpu-topology2.xml | 2 +-
.../qemuxml2argv-cpu-topology3.args | 2 +-
.../qemuxml2argv-cpu-topology3.xml | 2 +-
.../qemuxml2argv-cpu-tsc-frequency.args | 2 +-
.../qemuxml2argv-cpu-tsc-frequency.xml | 2 +-
.../qemuxml2argv-cputune-iothreads.xml | 2 +-
.../qemuxml2argv-cputune-iothreadsched-toomuch.xml | 2 +-
...xml2argv-cputune-iothreadsched-zeropriority.xml | 2 +-
.../qemuxml2argv-cputune-iothreadsched.xml | 2 +-
.../qemuxml2argv-cputune-numatune.args | 2 +-
.../qemuxml2argv-cputune-vcpusched-overlap.xml | 2 +-
.../qemuxml2argv-cputune-zero-shares.args | 2 +-
.../qemuxml2argv-cputune-zero-shares.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-cputune.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-cputune.xml | 2 +-
.../qemuxml2argv-debug-threads.args | 2 +-
.../qemuxml2argv-debug-threads.xml | 2 +-
.../qemuxml2argv-default-kvm-host-arch.args | 2 +-
.../qemuxml2argv-disk-active-commit.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-disk-aio.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-disk-aio.xml | 2 +-
.../qemuxml2argv-disk-backing-chains.xml | 2 +-
.../qemuxml2argv-disk-blockio.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-disk-blockio.xml | 2 +-
.../qemuxml2argv-disk-cdrom-empty.args | 2 +-
.../qemuxml2argv-disk-cdrom-empty.xml | 2 +-
.../qemuxml2argv-disk-cdrom-network-ftp.args | 2 +-
.../qemuxml2argv-disk-cdrom-network-ftp.xml | 2 +-
.../qemuxml2argv-disk-cdrom-network-ftps.args | 2 +-
.../qemuxml2argv-disk-cdrom-network-ftps.xml | 2 +-
.../qemuxml2argv-disk-cdrom-network-http.args | 2 +-
.../qemuxml2argv-disk-cdrom-network-http.xml | 2 +-
.../qemuxml2argv-disk-cdrom-network-https.args | 2 +-
.../qemuxml2argv-disk-cdrom-network-https.xml | 2 +-
.../qemuxml2argv-disk-cdrom-network-tftp.args | 2 +-
.../qemuxml2argv-disk-cdrom-network-tftp.xml | 2 +-
...qemuxml2argv-disk-cdrom-tray-no-device-cap.args | 2 +-
.../qemuxml2argv-disk-cdrom-tray-no-device-cap.xml | 2 +-
.../qemuxml2argv-disk-cdrom-tray.args | 2 +-
.../qemuxml2argv-disk-cdrom-tray.xml | 2 +-
.../qemuxml2argvdata/qemuxml2argv-disk-cdrom.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom.xml | 2 +-
.../qemuxml2argv-disk-copy_on_read.args | 2 +-
.../qemuxml2argv-disk-copy_on_read.xml | 2 +-
.../qemuxml2argv-disk-device-lun-type-invalid.xml | 2 +-
.../qemuxml2argv-disk-drive-address-conflict.xml | 2 +-
.../qemuxml2argv-disk-drive-boot-cdrom.args | 2 +-
.../qemuxml2argv-disk-drive-boot-cdrom.xml | 2 +-
.../qemuxml2argv-disk-drive-boot-disk.args | 2 +-
.../qemuxml2argv-disk-drive-boot-disk.xml | 2 +-
.../qemuxml2argv-disk-drive-cache-directsync.args | 2 +-
.../qemuxml2argv-disk-drive-cache-directsync.xml | 2 +-
.../qemuxml2argv-disk-drive-cache-unsafe.args | 2 +-
.../qemuxml2argv-disk-drive-cache-unsafe.xml | 2 +-
.../qemuxml2argv-disk-drive-cache-v2-none.args | 2 +-
.../qemuxml2argv-disk-drive-cache-v2-none.xml | 2 +-
.../qemuxml2argv-disk-drive-cache-v2-wb.args | 2 +-
.../qemuxml2argv-disk-drive-cache-v2-wb.xml | 2 +-
.../qemuxml2argv-disk-drive-cache-v2-wt.args | 2 +-
.../qemuxml2argv-disk-drive-cache-v2-wt.xml | 2 +-
.../qemuxml2argv-disk-drive-copy-on-read.args | 2 +-
.../qemuxml2argv-disk-drive-copy-on-read.xml | 2 +-
.../qemuxml2argv-disk-drive-detect-zeroes.args | 2 +-
.../qemuxml2argv-disk-drive-detect-zeroes.xml | 2 +-
.../qemuxml2argv-disk-drive-discard.args | 2 +-
.../qemuxml2argv-disk-drive-discard.xml | 2 +-
...uxml2argv-disk-drive-error-policy-enospace.args | 2 +-
...muxml2argv-disk-drive-error-policy-enospace.xml | 2 +-
.../qemuxml2argv-disk-drive-error-policy-stop.args | 2 +-
.../qemuxml2argv-disk-drive-error-policy-stop.xml | 2 +-
...gv-disk-drive-error-policy-wreport-rignore.args | 2 +-
...rgv-disk-drive-error-policy-wreport-rignore.xml | 2 +-
.../qemuxml2argv-disk-drive-fmt-qcow.args | 2 +-
.../qemuxml2argv-disk-drive-fmt-qcow.xml | 2 +-
.../qemuxml2argv-disk-drive-network-gluster.args | 2 +-
.../qemuxml2argv-disk-drive-network-gluster.xml | 2 +-
...qemuxml2argv-disk-drive-network-iscsi-auth.args | 2 +-
.../qemuxml2argv-disk-drive-network-iscsi-auth.xml | 2 +-
.../qemuxml2argv-disk-drive-network-iscsi-lun.args | 2 +-
.../qemuxml2argv-disk-drive-network-iscsi-lun.xml | 2 +-
.../qemuxml2argv-disk-drive-network-iscsi.args | 2 +-
.../qemuxml2argv-disk-drive-network-iscsi.xml | 2 +-
...qemuxml2argv-disk-drive-network-nbd-export.args | 2 +-
.../qemuxml2argv-disk-drive-network-nbd-export.xml | 2 +-
...ml2argv-disk-drive-network-nbd-ipv6-export.args | 2 +-
...xml2argv-disk-drive-network-nbd-ipv6-export.xml | 2 +-
.../qemuxml2argv-disk-drive-network-nbd-ipv6.args | 2 +-
.../qemuxml2argv-disk-drive-network-nbd-ipv6.xml | 2 +-
.../qemuxml2argv-disk-drive-network-nbd-unix.args | 2 +-
.../qemuxml2argv-disk-drive-network-nbd-unix.xml | 2 +-
.../qemuxml2argv-disk-drive-network-nbd.args | 2 +-
.../qemuxml2argv-disk-drive-network-nbd.xml | 2 +-
...muxml2argv-disk-drive-network-rbd-auth-AES.args | 2 +-
...emuxml2argv-disk-drive-network-rbd-auth-AES.xml | 2 +-
.../qemuxml2argv-disk-drive-network-rbd-auth.args | 2 +-
.../qemuxml2argv-disk-drive-network-rbd-auth.xml | 2 +-
...muxml2argv-disk-drive-network-rbd-ceph-env.args | 2 +-
...emuxml2argv-disk-drive-network-rbd-ceph-env.xml | 2 +-
.../qemuxml2argv-disk-drive-network-rbd-ipv6.args | 2 +-
.../qemuxml2argv-disk-drive-network-rbd-ipv6.xml | 2 +-
...emuxml2argv-disk-drive-network-rbd-no-colon.xml | 2 +-
.../qemuxml2argv-disk-drive-network-rbd.args | 2 +-
.../qemuxml2argv-disk-drive-network-rbd.xml | 2 +-
.../qemuxml2argv-disk-drive-network-sheepdog.args | 2 +-
.../qemuxml2argv-disk-drive-network-sheepdog.xml | 2 +-
.../qemuxml2argv-disk-drive-no-boot.args | 2 +-
.../qemuxml2argv-disk-drive-no-boot.xml | 2 +-
.../qemuxml2argv-disk-drive-readonly-disk.args | 2 +-
.../qemuxml2argv-disk-drive-readonly-disk.xml | 2 +-
...qemuxml2argv-disk-drive-readonly-no-device.args | 2 +-
.../qemuxml2argv-disk-drive-readonly-no-device.xml | 2 +-
.../qemuxml2argv-disk-drive-shared.args | 2 +-
.../qemuxml2argv-disk-drive-shared.xml | 2 +-
.../qemuxml2argv-disk-fdc-incompatible-address.xml | 2 +-
...emuxml2argv-disk-floppy-tray-no-device-cap.args | 2 +-
...qemuxml2argv-disk-floppy-tray-no-device-cap.xml | 2 +-
.../qemuxml2argv-disk-floppy-tray.args | 2 +-
.../qemuxml2argv-disk-floppy-tray.xml | 2 +-
.../qemuxml2argvdata/qemuxml2argv-disk-floppy.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-disk-floppy.xml | 2 +-
.../qemuxml2argv-disk-geometry.args | 2 +-
.../qemuxml2argv-disk-geometry.xml | 2 +-
...xml2argv-disk-hostdev-scsi-address-conflict.xml | 2 +-
.../qemuxml2argv-disk-ide-drive-split.args | 2 +-
.../qemuxml2argv-disk-ide-drive-split.xml | 2 +-
.../qemuxml2argv-disk-ide-incompatible-address.xml | 2 +-
.../qemuxml2argv-disk-ide-wwn.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-disk-ide-wwn.xml | 2 +-
.../qemuxml2argv-disk-ioeventfd.args | 2 +-
.../qemuxml2argv-disk-ioeventfd.xml | 2 +-
.../qemuxml2argvdata/qemuxml2argv-disk-iscsi.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-disk-iscsi.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-disk-many.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-disk-many.xml | 2 +-
.../qemuxml2argv-disk-mirror-old.xml | 2 +-
.../qemuxml2argvdata/qemuxml2argv-disk-mirror.xml | 2 +-
.../qemuxml2argvdata/qemuxml2argv-disk-order.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-disk-order.xml | 2 +-
.../qemuxml2argv-disk-same-targets.xml | 2 +-
.../qemuxml2argv-disk-sata-device.args | 2 +-
.../qemuxml2argv-disk-sata-device.xml | 2 +-
...qemuxml2argv-disk-sata-incompatible-address.xml | 2 +-
.../qemuxml2argv-disk-scsi-device-auto.args | 2 +-
.../qemuxml2argv-disk-scsi-device-auto.xml | 2 +-
.../qemuxml2argv-disk-scsi-device.args | 2 +-
.../qemuxml2argv-disk-scsi-device.xml | 2 +-
.../qemuxml2argv-disk-scsi-disk-split.args | 2 +-
.../qemuxml2argv-disk-scsi-disk-split.xml | 2 +-
...qemuxml2argv-disk-scsi-disk-vpd-build-error.xml | 2 +-
.../qemuxml2argv-disk-scsi-disk-vpd.args | 2 +-
.../qemuxml2argv-disk-scsi-disk-vpd.xml | 2 +-
.../qemuxml2argv-disk-scsi-disk-wwn.args | 2 +-
.../qemuxml2argv-disk-scsi-disk-wwn.xml | 2 +-
...qemuxml2argv-disk-scsi-incompatible-address.xml | 2 +-
...qemuxml2argv-disk-scsi-lun-passthrough-sgio.xml | 2 +-
.../qemuxml2argv-disk-scsi-lun-passthrough.args | 2 +-
.../qemuxml2argv-disk-scsi-lun-passthrough.xml | 2 +-
.../qemuxml2argv-disk-scsi-megasas.args | 2 +-
.../qemuxml2argv-disk-scsi-megasas.xml | 2 +-
.../qemuxml2argv-disk-scsi-mptsas1068.args | 2 +-
.../qemuxml2argv-disk-scsi-mptsas1068.xml | 2 +-
.../qemuxml2argv-disk-scsi-virtio-scsi.args | 2 +-
.../qemuxml2argv-disk-scsi-virtio-scsi.xml | 2 +-
.../qemuxml2argv-disk-scsi-vscsi.args | 2 +-
.../qemuxml2argv-disk-scsi-vscsi.xml | 2 +-
.../qemuxml2argvdata/qemuxml2argv-disk-serial.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-disk-serial.xml | 2 +-
.../qemuxml2argv-disk-snapshot.args | 2 +-
.../qemuxml2argv-disk-snapshot.xml | 2 +-
.../qemuxml2argv-disk-source-pool-mode.args | 2 +-
.../qemuxml2argv-disk-source-pool-mode.xml | 2 +-
.../qemuxml2argv-disk-source-pool.args | 2 +-
.../qemuxml2argv-disk-source-pool.xml | 2 +-
.../qemuxml2argv-disk-transient.xml | 2 +-
.../qemuxml2argv-disk-usb-device-removable.args | 2 +-
.../qemuxml2argv-disk-usb-device-removable.xml | 2 +-
.../qemuxml2argv-disk-usb-device.args | 2 +-
.../qemuxml2argv-disk-usb-device.xml | 2 +-
.../qemuxml2argv-disk-usb-nosupport.xml | 2 +-
.../qemuxml2argvdata/qemuxml2argv-disk-usb-pci.xml | 2 +-
.../qemuxml2argv-disk-virtio-ccw-many.args | 2 +-
.../qemuxml2argv-disk-virtio-ccw-many.xml | 2 +-
.../qemuxml2argv-disk-virtio-ccw.args | 2 +-
.../qemuxml2argv-disk-virtio-ccw.xml | 2 +-
.../qemuxml2argv-disk-virtio-s390.args | 2 +-
.../qemuxml2argv-disk-virtio-s390.xml | 2 +-
.../qemuxml2argv-disk-virtio-scsi-ccw.args | 2 +-
.../qemuxml2argv-disk-virtio-scsi-ccw.xml | 2 +-
.../qemuxml2argv-disk-virtio-scsi-cmd_per_lun.args | 2 +-
.../qemuxml2argv-disk-virtio-scsi-cmd_per_lun.xml | 2 +-
.../qemuxml2argv-disk-virtio-scsi-ioeventfd.args | 2 +-
.../qemuxml2argv-disk-virtio-scsi-ioeventfd.xml | 2 +-
.../qemuxml2argv-disk-virtio-scsi-max_sectors.args | 2 +-
.../qemuxml2argv-disk-virtio-scsi-max_sectors.xml | 2 +-
.../qemuxml2argv-disk-virtio-scsi-num_queues.args | 2 +-
.../qemuxml2argv-disk-virtio-scsi-num_queues.xml | 2 +-
.../qemuxml2argvdata/qemuxml2argv-disk-virtio.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-disk-virtio.xml | 2 +-
.../qemuxml2argv-encrypted-disk-usage.args | 2 +-
.../qemuxml2argv-encrypted-disk-usage.xml | 2 +-
.../qemuxml2argv-encrypted-disk.args | 2 +-
.../qemuxml2argv-encrypted-disk.xml | 2 +-
.../qemuxml2argv-eoi-disabled.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-eoi-disabled.xml | 2 +-
.../qemuxml2argvdata/qemuxml2argv-eoi-enabled.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-eoi-enabled.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-event_idx.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-event_idx.xml | 2 +-
.../qemuxml2argv-fips-enabled.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-fips-enabled.xml | 2 +-
.../qemuxml2argv-floppy-drive-fat.args | 2 +-
.../qemuxml2argv-floppy-drive-fat.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-fs9p-ccw.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-fs9p-ccw.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-fs9p.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-fs9p.xml | 2 +-
.../qemuxml2argv-graphics-listen-network.xml | 2 +-
.../qemuxml2argv-graphics-listen-network2.xml | 2 +-
.../qemuxml2argv-graphics-sdl-fullscreen.args | 2 +-
.../qemuxml2argv-graphics-sdl-fullscreen.xml | 2 +-
.../qemuxml2argv-graphics-sdl.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-graphics-sdl.xml | 2 +-
...emuxml2argv-graphics-spice-agent-file-xfer.args | 2 +-
...qemuxml2argv-graphics-spice-agent-file-xfer.xml | 2 +-
.../qemuxml2argv-graphics-spice-agentmouse.args | 2 +-
.../qemuxml2argv-graphics-spice-agentmouse.xml | 2 +-
...emuxml2argv-graphics-spice-auto-socket-cfg.args | 2 +-
...qemuxml2argv-graphics-spice-auto-socket-cfg.xml | 2 +-
.../qemuxml2argv-graphics-spice-auto-socket.args | 2 +-
.../qemuxml2argv-graphics-spice-auto-socket.xml | 2 +-
.../qemuxml2argv-graphics-spice-compression.args | 2 +-
.../qemuxml2argv-graphics-spice-compression.xml | 2 +-
.../qemuxml2argv-graphics-spice-no-args.args | 2 +-
.../qemuxml2argv-graphics-spice-no-args.xml | 2 +-
.../qemuxml2argv-graphics-spice-qxl-vga.args | 2 +-
.../qemuxml2argv-graphics-spice-qxl-vga.xml | 2 +-
.../qemuxml2argv-graphics-spice-sasl.args | 2 +-
.../qemuxml2argv-graphics-spice-sasl.xml | 2 +-
.../qemuxml2argv-graphics-spice-socket.args | 2 +-
.../qemuxml2argv-graphics-spice-socket.xml | 2 +-
.../qemuxml2argv-graphics-spice-timeout.args | 2 +-
.../qemuxml2argv-graphics-spice-timeout.xml | 2 +-
.../qemuxml2argv-graphics-spice-usb-redir.args | 2 +-
.../qemuxml2argv-graphics-spice-usb-redir.xml | 2 +-
.../qemuxml2argv-graphics-spice.args | 2 +-
.../qemuxml2argv-graphics-spice.xml | 2 +-
.../qemuxml2argv-graphics-vnc-auto-socket-cfg.args | 2 +-
.../qemuxml2argv-graphics-vnc-auto-socket-cfg.xml | 2 +-
.../qemuxml2argv-graphics-vnc-auto-socket.args | 2 +-
.../qemuxml2argv-graphics-vnc-auto-socket.xml | 2 +-
.../qemuxml2argv-graphics-vnc-no-listen-attr.args | 2 +-
.../qemuxml2argv-graphics-vnc-no-listen-attr.xml | 2 +-
.../qemuxml2argv-graphics-vnc-none.args | 2 +-
.../qemuxml2argv-graphics-vnc-none.xml | 2 +-
.../qemuxml2argv-graphics-vnc-policy.args | 2 +-
.../qemuxml2argv-graphics-vnc-policy.xml | 2 +-
...2argv-graphics-vnc-remove-generated-socket.args | 2 +-
...l2argv-graphics-vnc-remove-generated-socket.xml | 2 +-
.../qemuxml2argv-graphics-vnc-sasl.args | 2 +-
.../qemuxml2argv-graphics-vnc-sasl.xml | 2 +-
.../qemuxml2argv-graphics-vnc-socket.args | 2 +-
.../qemuxml2argv-graphics-vnc-socket.xml | 2 +-
.../qemuxml2argv-graphics-vnc-tls.args | 2 +-
.../qemuxml2argv-graphics-vnc-tls.xml | 2 +-
.../qemuxml2argv-graphics-vnc-websocket.args | 2 +-
.../qemuxml2argv-graphics-vnc-websocket.xml | 2 +-
.../qemuxml2argv-graphics-vnc.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-graphics-vnc.xml | 2 +-
...ml2argv-hostdev-mdev-invalid-target-address.xml | 2 +-
.../qemuxml2argv-hostdev-mdev-precreated.args | 2 +-
.../qemuxml2argv-hostdev-mdev-precreated.xml | 2 +-
...muxml2argv-hostdev-mdev-src-address-invalid.xml | 2 +-
.../qemuxml2argv-hostdev-pci-address-device.args | 2 +-
.../qemuxml2argv-hostdev-pci-address-device.xml | 2 +-
.../qemuxml2argv-hostdev-pci-address.args | 2 +-
.../qemuxml2argv-hostdev-pci-address.xml | 2 +-
.../qemuxml2argv-hostdev-scsi-autogen-address.xml | 2 +-
.../qemuxml2argv-hostdev-scsi-boot.args | 2 +-
.../qemuxml2argv-hostdev-scsi-boot.xml | 2 +-
.../qemuxml2argv-hostdev-scsi-large-unit.xml | 2 +-
.../qemuxml2argv-hostdev-scsi-lsi-iscsi-auth.args | 2 +-
.../qemuxml2argv-hostdev-scsi-lsi-iscsi-auth.xml | 2 +-
.../qemuxml2argv-hostdev-scsi-lsi-iscsi.args | 2 +-
.../qemuxml2argv-hostdev-scsi-lsi-iscsi.xml | 2 +-
.../qemuxml2argv-hostdev-scsi-lsi.args | 2 +-
.../qemuxml2argv-hostdev-scsi-lsi.xml | 2 +-
.../qemuxml2argv-hostdev-scsi-rawio.xml | 2 +-
.../qemuxml2argv-hostdev-scsi-readonly.args | 2 +-
.../qemuxml2argv-hostdev-scsi-readonly.xml | 2 +-
.../qemuxml2argv-hostdev-scsi-sgio.xml | 2 +-
.../qemuxml2argv-hostdev-scsi-shareable.xml | 2 +-
.../qemuxml2argv-hostdev-scsi-vhost-scsi-ccw.args | 2 +-
.../qemuxml2argv-hostdev-scsi-vhost-scsi-ccw.xml | 2 +-
.../qemuxml2argv-hostdev-scsi-vhost-scsi-pci.args | 2 +-
.../qemuxml2argv-hostdev-scsi-vhost-scsi-pci.xml | 2 +-
...emuxml2argv-hostdev-scsi-virtio-iscsi-auth.args | 2 +-
...qemuxml2argv-hostdev-scsi-virtio-iscsi-auth.xml | 2 +-
.../qemuxml2argv-hostdev-scsi-virtio-iscsi.args | 2 +-
.../qemuxml2argv-hostdev-scsi-virtio-iscsi.xml | 2 +-
.../qemuxml2argv-hostdev-scsi-virtio-scsi.args | 2 +-
.../qemuxml2argv-hostdev-scsi-virtio-scsi.xml | 2 +-
...muxml2argv-hostdev-usb-address-device-boot.args | 2 +-
...emuxml2argv-hostdev-usb-address-device-boot.xml | 2 +-
.../qemuxml2argv-hostdev-usb-address-device.args | 2 +-
.../qemuxml2argv-hostdev-usb-address-device.xml | 2 +-
.../qemuxml2argv-hostdev-usb-address.args | 2 +-
.../qemuxml2argv-hostdev-usb-address.xml | 2 +-
.../qemuxml2argv-hostdev-vfio-multidomain.args | 2 +-
.../qemuxml2argv-hostdev-vfio-multidomain.xml | 2 +-
.../qemuxml2argv-hostdev-vfio.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-hostdev-vfio.xml | 2 +-
...emuxml2argv-hostdevs-drive-address-conflict.xml | 2 +-
.../qemuxml2argv-hotplug-base.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-hotplug-base.xml | 2 +-
.../qemuxml2argv-hugepages-memaccess-invalid.xml | 2 +-
.../qemuxml2argv-hugepages-pages.args | 2 +-
.../qemuxml2argv-hugepages-pages.xml | 2 +-
.../qemuxml2argv-hugepages-pages2.args | 2 +-
.../qemuxml2argv-hugepages-pages2.xml | 2 +-
.../qemuxml2argv-hugepages-pages3.args | 2 +-
.../qemuxml2argv-hugepages-pages3.xml | 2 +-
.../qemuxml2argv-hugepages-pages4.xml | 2 +-
.../qemuxml2argv-hugepages-pages5.args | 2 +-
.../qemuxml2argv-hugepages-pages5.xml | 2 +-
.../qemuxml2argv-hugepages-pages6.args | 2 +-
.../qemuxml2argv-hugepages-pages6.xml | 2 +-
.../qemuxml2argv-hugepages-shared.args | 2 +-
.../qemuxml2argv-hugepages-shared.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-hugepages.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-hugepages.xml | 2 +-
.../qemuxml2argvdata/qemuxml2argv-hyperv-off.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-hyperv-off.xml | 2 +-
.../qemuxml2argv-hyperv-panic.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-hyperv-panic.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-hyperv.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-hyperv.xml | 2 +-
.../qemuxml2argv-input-usbmouse-addr.args | 2 +-
.../qemuxml2argv-input-usbmouse-addr.xml | 2 +-
.../qemuxml2argv-input-usbmouse.args | 2 +-
.../qemuxml2argv-input-usbmouse.xml | 2 +-
.../qemuxml2argv-input-usbtablet.args | 2 +-
.../qemuxml2argv-input-usbtablet.xml | 2 +-
.../qemuxml2argv-intel-iommu-machine.args | 2 +-
.../qemuxml2argv-intel-iommu-machine.xml | 2 +-
.../qemuxml2argvdata/qemuxml2argv-intel-iommu.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-intel-iommu.xml | 2 +-
.../qemuxml2argv-interface-driver.xml | 2 +-
.../qemuxml2argv-iothreads-disk-virtio-ccw.args | 2 +-
.../qemuxml2argv-iothreads-disk-virtio-ccw.xml | 2 +-
.../qemuxml2argv-iothreads-disk.args | 2 +-
.../qemuxml2argv-iothreads-disk.xml | 2 +-
.../qemuxml2argv-iothreads-ids-partial.args | 2 +-
.../qemuxml2argv-iothreads-ids-partial.xml | 2 +-
.../qemuxml2argv-iothreads-ids.args | 2 +-
.../qemuxml2argv-iothreads-ids.xml | 2 +-
.../qemuxml2argv-iothreads-nocap.xml | 2 +-
.../qemuxml2argv-iothreads-virtio-scsi-ccw.args | 2 +-
.../qemuxml2argv-iothreads-virtio-scsi-ccw.xml | 2 +-
.../qemuxml2argv-iothreads-virtio-scsi-pci.args | 2 +-
.../qemuxml2argv-iothreads-virtio-scsi-pci.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-iothreads.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-iothreads.xml | 2 +-
.../qemuxml2argv-kvm-features-off.args | 2 +-
.../qemuxml2argv-kvm-features-off.xml | 2 +-
.../qemuxml2argv-kvm-features.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-kvm-features.xml | 2 +-
.../qemuxml2argv-kvm-pit-delay.args | 2 +-
.../qemuxml2argv-kvm-pit-delay.xml | 2 +-
.../qemuxml2argv-kvm-pit-discard.args | 2 +-
.../qemuxml2argv-kvm-pit-discard.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-kvm.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-kvm.xml | 2 +-
.../qemuxml2argv-kvmclock+eoi-disabled.args | 2 +-
.../qemuxml2argv-kvmclock+eoi-disabled.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-kvmclock.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-kvmclock.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-lease.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-lease.xml | 2 +-
.../qemuxml2argvdata/qemuxml2argv-luks-disks.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-luks-disks.xml | 2 +-
.../qemuxml2argv-machine-aliases1.args | 2 +-
.../qemuxml2argv-machine-aliases2.args | 2 +-
.../qemuxml2argv-machine-aliases2.xml | 2 +-
.../qemuxml2argv-machine-core-cfg-off.args | 2 +-
.../qemuxml2argv-machine-core-cfg-off.xml | 2 +-
.../qemuxml2argv-machine-core-off.args | 2 +-
.../qemuxml2argv-machine-core-off.xml | 2 +-
.../qemuxml2argv-machine-core-on.args | 2 +-
.../qemuxml2argv-machine-core-on.xml | 2 +-
.../qemuxml2argv-machine-smm-opt.args | 2 +-
.../qemuxml2argv-machine-smm-opt.xml | 2 +-
.../qemuxml2argv-machine-usb-opt.args | 2 +-
.../qemuxml2argv-machine-usb-opt.xml | 2 +-
.../qemuxml2argv-machine-vmport-opt.args | 2 +-
.../qemuxml2argv-machine-vmport-opt.xml | 2 +-
.../qemuxml2argvdata/qemuxml2argv-master-key.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-master-key.xml | 2 +-
.../qemuxml2argv-memory-align-fail.xml | 2 +-
.../qemuxml2argv-memory-hotplug-dimm-addr.args | 2 +-
.../qemuxml2argv-memory-hotplug-dimm-addr.xml | 2 +-
.../qemuxml2argv-memory-hotplug-dimm.args | 2 +-
.../qemuxml2argv-memory-hotplug-dimm.xml | 2 +-
.../qemuxml2argv-memory-hotplug-nonuma.xml | 2 +-
.../qemuxml2argv-memory-hotplug-nvdimm-access.args | 2 +-
.../qemuxml2argv-memory-hotplug-nvdimm-access.xml | 2 +-
.../qemuxml2argv-memory-hotplug-nvdimm-label.args | 2 +-
.../qemuxml2argv-memory-hotplug-nvdimm-label.xml | 2 +-
.../qemuxml2argv-memory-hotplug-nvdimm.args | 2 +-
.../qemuxml2argv-memory-hotplug-nvdimm.xml | 2 +-
.../qemuxml2argv-memory-hotplug.args | 2 +-
.../qemuxml2argv-memory-hotplug.xml | 2 +-
.../qemuxml2argv-memorybacking-set.xml | 2 +-
.../qemuxml2argv-memorybacking-unset.xml | 2 +-
.../qemuxml2argv-memtune-unlimited.args | 2 +-
.../qemuxml2argv-memtune-unlimited.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-memtune.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-memtune.xml | 2 +-
.../qemuxml2argv-metadata-duplicate.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-metadata.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-metadata.xml | 2 +-
.../qemuxml2argv-migrate-numa-unaligned.args | 2 +-
.../qemuxml2argv-migrate-numa-unaligned.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-migrate.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-migrate.xml | 2 +-
.../qemuxml2argv-minimal-msg-timestamp.args | 2 +-
.../qemuxml2argv-minimal-msg-timestamp.xml | 2 +-
.../qemuxml2argv-minimal-no-memory.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-minimal.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-minimal.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-misc-acpi.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-misc-acpi.xml | 2 +-
.../qemuxml2argv-misc-disable-s3.args | 2 +-
.../qemuxml2argv-misc-disable-s3.xml | 2 +-
.../qemuxml2argv-misc-disable-suspends.args | 2 +-
.../qemuxml2argv-misc-disable-suspends.xml | 2 +-
.../qemuxml2argv-misc-enable-s4.args | 2 +-
.../qemuxml2argv-misc-enable-s4.xml | 2 +-
.../qemuxml2argv-misc-no-reboot.args | 2 +-
.../qemuxml2argv-misc-no-reboot.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-misc-uuid.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-misc-uuid.xml | 2 +-
.../qemuxml2argv-missing-machine.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-mlock-off.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-mlock-off.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-mlock-on.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-mlock-on.xml | 2 +-
.../qemuxml2argv-mlock-unsupported.args | 2 +-
.../qemuxml2argv-mlock-unsupported.xml | 2 +-
.../qemuxml2argv-monitor-json.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-monitor-json.xml | 2 +-
.../qemuxml2argv-multifunction-pci-device.args | 2 +-
.../qemuxml2argv-multifunction-pci-device.xml | 2 +-
.../qemuxml2argvdata/qemuxml2argv-name-escape.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-name-escape.xml | 2 +-
.../qemuxml2argv-net-bandwidth.xml | 2 +-
.../qemuxml2argv-net-bandwidth2.xml | 2 +-
.../qemuxml2argvdata/qemuxml2argv-net-client.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-net-client.xml | 2 +-
.../qemuxml2argv-net-eth-hostip.args | 2 +-
.../qemuxml2argv-net-eth-hostip.xml | 2 +-
.../qemuxml2argv-net-eth-ifname.args | 2 +-
.../qemuxml2argv-net-eth-ifname.xml | 2 +-
.../qemuxml2argv-net-eth-names.args | 2 +-
.../qemuxml2argv-net-eth-names.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-net-eth.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-net-eth.xml | 2 +-
.../qemuxml2argv-net-hostdev-fail.xml | 2 +-
.../qemuxml2argv-net-hostdev-multidomain.args | 2 +-
.../qemuxml2argv-net-hostdev-multidomain.xml | 2 +-
.../qemuxml2argv-net-hostdev-vfio-multidomain.args | 2 +-
.../qemuxml2argv-net-hostdev-vfio-multidomain.xml | 2 +-
.../qemuxml2argv-net-hostdev-vfio.args | 2 +-
.../qemuxml2argv-net-hostdev-vfio.xml | 2 +-
.../qemuxml2argvdata/qemuxml2argv-net-hostdev.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-net-hostdev.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-net-mcast.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-net-mcast.xml | 2 +-
.../qemuxml2argvdata/qemuxml2argv-net-midonet.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-net-mtu.xml | 2 +-
.../qemuxml2argv-net-openvswitch.xml | 2 +-
.../qemuxml2argvdata/qemuxml2argv-net-server.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-net-server.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-net-udp.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-net-udp.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-net-user.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-net-user.xml | 2 +-
.../qemuxml2argv-net-vhostuser-fail.xml | 2 +-
.../qemuxml2argv-net-vhostuser-multiq.args | 2 +-
.../qemuxml2argv-net-vhostuser-multiq.xml | 2 +-
.../qemuxml2argv-net-vhostuser.args | 2 +-
.../qemuxml2argv-net-vhostuser.xml | 2 +-
.../qemuxml2argv-net-virtio-ccw.args | 2 +-
.../qemuxml2argv-net-virtio-ccw.xml | 2 +-
.../qemuxml2argv-net-virtio-device.args | 2 +-
.../qemuxml2argv-net-virtio-device.xml | 2 +-
.../qemuxml2argv-net-virtio-disable-offloads.args | 2 +-
.../qemuxml2argv-net-virtio-disable-offloads.xml | 2 +-
.../qemuxml2argv-net-virtio-netdev.args | 2 +-
.../qemuxml2argv-net-virtio-netdev.xml | 2 +-
.../qemuxml2argv-net-virtio-network-portgroup.xml | 2 +-
...ml2argv-net-virtio-rxqueuesize-invalid-size.xml | 2 +-
.../qemuxml2argv-net-virtio-rxqueuesize.args | 2 +-
.../qemuxml2argv-net-virtio-rxqueuesize.xml | 2 +-
.../qemuxml2argv-net-virtio-s390.args | 2 +-
.../qemuxml2argv-net-virtio-s390.xml | 2 +-
.../qemuxml2argvdata/qemuxml2argv-net-virtio.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-net-virtio.xml | 2 +-
.../qemuxml2argv-no-kvm-pit-device.args | 2 +-
.../qemuxml2argv-no-kvm-pit-device.xml | 2 +-
.../qemuxml2argvdata/qemuxml2argv-no-shutdown.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-no-shutdown.xml | 2 +-
.../qemuxml2argv-nographics-display.args | 2 +-
.../qemuxml2argv-nographics-display.xml | 2 +-
.../qemuxml2argv-nographics-vga.args | 2 +-
.../qemuxml2argv-nographics-vga.xml | 2 +-
.../qemuxml2argvdata/qemuxml2argv-nographics.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-nographics.xml | 2 +-
.../qemuxml2argv-nosharepages.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-nosharepages.xml | 2 +-
...qemuxml2argv-numad-auto-memory-vcpu-cpuset.args | 2 +-
.../qemuxml2argv-numad-auto-memory-vcpu-cpuset.xml | 2 +-
...d-auto-memory-vcpu-no-cpuset-and-placement.args | 2 +-
...ad-auto-memory-vcpu-no-cpuset-and-placement.xml | 2 +-
.../qemuxml2argv-numad-auto-vcpu-no-numatune.xml | 2 +-
...-numad-auto-vcpu-static-numatune-no-nodeset.xml | 2 +-
...muxml2argv-numad-auto-vcpu-static-numatune.args | 2 +-
...emuxml2argv-numad-auto-vcpu-static-numatune.xml | 2 +-
...qemuxml2argv-numad-static-memory-auto-vcpu.args | 2 +-
.../qemuxml2argv-numad-static-memory-auto-vcpu.xml | 2 +-
.../qemuxml2argv-numad-static-vcpu-no-numatune.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-numad.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-numad.xml | 2 +-
...qemuxml2argv-numatune-auto-nodeset-invalid.args | 2 +-
.../qemuxml2argv-numatune-auto-nodeset-invalid.xml | 2 +-
.../qemuxml2argv-numatune-auto-prefer.args | 2 +-
.../qemuxml2argv-numatune-auto-prefer.xml | 2 +-
.../qemuxml2argv-numatune-memnode-no-memory.args | 2 +-
.../qemuxml2argv-numatune-memnode-no-memory.xml | 2 +-
.../qemuxml2argv-numatune-memnode-nocpu.xml | 2 +-
.../qemuxml2argv-numatune-memnode.args | 2 +-
.../qemuxml2argv-numatune-memnode.xml | 2 +-
.../qemuxml2argv-numatune-memnodes-problematic.xml | 2 +-
...emuxml2argv-numatune-memory-invalid-nodeset.xml | 2 +-
.../qemuxml2argv-numatune-memory.args | 2 +-
.../qemuxml2argv-numatune-memory.xml | 2 +-
...rgv-numatune-static-nodeset-exceed-hostnode.xml | 2 +-
.../qemuxml2argv-panic-double.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-panic-double.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-panic-isa.xml | 2 +-
.../qemuxml2argv-panic-no-address.args | 2 +-
.../qemuxml2argv-panic-no-address.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-panic.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-panic.xml | 2 +-
.../qemuxml2argv-parallel-parport-chardev.args | 2 +-
.../qemuxml2argv-parallel-parport-chardev.xml | 2 +-
.../qemuxml2argv-parallel-tcp-chardev.args | 2 +-
.../qemuxml2argv-parallel-tcp-chardev.xml | 2 +-
.../qemuxml2argv-parallel-tcp.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-parallel-tcp.xml | 2 +-
.../qemuxml2argv-pci-autoadd-addr.args | 2 +-
.../qemuxml2argv-pci-autoadd-addr.xml | 2 +-
.../qemuxml2argv-pci-autoadd-idx.args | 2 +-
.../qemuxml2argv-pci-autoadd-idx.xml | 2 +-
.../qemuxml2argv-pci-autofill-addr.args | 2 +-
.../qemuxml2argv-pci-autofill-addr.xml | 2 +-
.../qemuxml2argv-pci-bridge-duplicate-index.xml | 2 +-
.../qemuxml2argv-pci-bridge-many-disks.args | 2 +-
.../qemuxml2argv-pci-bridge-many-disks.xml | 2 +-
...uxml2argv-pci-bridge-negative-index-invalid.xml | 2 +-
.../qemuxml2argvdata/qemuxml2argv-pci-bridge.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-pci-bridge.xml | 2 +-
.../qemuxml2argv-pci-bus-invalid.xml | 2 +-
.../qemuxml2argv-pci-domain-invalid.xml | 2 +-
.../qemuxml2argv-pci-function-invalid.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-pci-many.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-pci-many.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-pci-rom.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-pci-rom.xml | 2 +-
.../qemuxml2argv-pci-root-address.xml | 2 +-
.../qemuxml2argv-pci-root-nonzero-index.xml | 2 +-
.../qemuxml2argv-pci-serial-dev-chardev.args | 2 +-
.../qemuxml2argv-pci-serial-dev-chardev.xml | 2 +-
.../qemuxml2argv-pci-slot-invalid.xml | 2 +-
.../qemuxml2argv-pcie-expander-bus-bad-bus.xml | 2 +-
.../qemuxml2argv-pcie-expander-bus.args | 2 +-
.../qemuxml2argv-pcie-expander-bus.xml | 2 +-
.../qemuxml2argv-pcie-root-port-too-many.xml | 2 +-
.../qemuxml2argv-pcie-root-port.args | 2 +-
.../qemuxml2argv-pcie-root-port.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-pcie-root.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-pcie-root.xml | 2 +-
.../qemuxml2argv-pcie-switch-downstream-port.args | 2 +-
.../qemuxml2argv-pcie-switch-downstream-port.xml | 2 +-
.../qemuxml2argv-pcie-switch-upstream-port.args | 2 +-
.../qemuxml2argv-pcie-switch-upstream-port.xml | 2 +-
.../qemuxml2argv-pcihole64-gib.xml | 2 +-
.../qemuxml2argv-pcihole64-none.args | 2 +-
.../qemuxml2argv-pcihole64-none.xml | 2 +-
.../qemuxml2argv-pcihole64-q35.args | 2 +-
.../qemuxml2argv-pcihole64-q35.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-pcihole64.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-pcihole64.xml | 2 +-
.../qemuxml2argv-pmu-feature-off.args | 2 +-
.../qemuxml2argv-pmu-feature-off.xml | 2 +-
.../qemuxml2argvdata/qemuxml2argv-pmu-feature.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-pmu-feature.xml | 2 +-
.../qemuxml2argv-ppc64-usb-controller-legacy.args | 2 +-
.../qemuxml2argv-ppc64-usb-controller.args | 2 +-
.../qemuxml2argv-ppc64-usb-controller.xml | 2 +-
.../qemuxml2argv-pv-spinlock-disabled.args | 2 +-
.../qemuxml2argv-pv-spinlock-disabled.xml | 2 +-
.../qemuxml2argv-pv-spinlock-enabled.args | 2 +-
.../qemuxml2argv-pv-spinlock-enabled.xml | 2 +-
.../qemuxml2argv-q35-default-devices-only.args | 2 +-
.../qemuxml2argv-q35-default-devices-only.xml | 2 +-
.../qemuxml2argv-q35-dmi-bad-address1.xml | 2 +-
.../qemuxml2argv-q35-dmi-bad-address2.xml | 2 +-
.../qemuxml2argv-q35-multifunction.args | 2 +-
.../qemuxml2argv-q35-multifunction.xml | 2 +-
.../qemuxml2argv-q35-pci-force-address.args | 2 +-
.../qemuxml2argv-q35-pci-force-address.xml | 2 +-
.../qemuxml2argv-q35-pcie-autoadd.args | 2 +-
.../qemuxml2argv-q35-pcie-autoadd.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-q35-pcie.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-q35-pcie.xml | 2 +-
.../qemuxml2argv-q35-pm-disable-fallback.args | 2 +-
.../qemuxml2argv-q35-pm-disable-fallback.xml | 2 +-
.../qemuxml2argv-q35-pm-disable.args | 2 +-
.../qemuxml2argv-q35-pm-disable.xml | 2 +-
.../qemuxml2argv-q35-usb2-multi.args | 2 +-
.../qemuxml2argv-q35-usb2-multi.xml | 2 +-
.../qemuxml2argv-q35-usb2-reorder.args | 2 +-
.../qemuxml2argv-q35-usb2-reorder.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-q35-usb2.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-q35-usb2.xml | 2 +-
.../qemuxml2argv-q35-virt-manager-basic.args | 2 +-
.../qemuxml2argv-q35-virt-manager-basic.xml | 2 +-
.../qemuxml2argv-q35-virtio-pci.args | 2 +-
.../qemuxml2argv-q35-wrong-root.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-q35.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-q35.xml | 2 +-
.../qemuxml2argv-qemu-ns-commandline-ns0.args | 2 +-
.../qemuxml2argv-qemu-ns-commandline-ns0.xml | 2 +-
.../qemuxml2argv-qemu-ns-commandline-ns1.args | 2 +-
.../qemuxml2argv-qemu-ns-commandline-ns1.xml | 2 +-
.../qemuxml2argv-qemu-ns-commandline.args | 2 +-
.../qemuxml2argv-qemu-ns-commandline.xml | 2 +-
...emuxml2argv-qemu-ns-domain-commandline-ns0.args | 2 +-
...qemuxml2argv-qemu-ns-domain-commandline-ns0.xml | 2 +-
.../qemuxml2argv-qemu-ns-domain-commandline.args | 2 +-
.../qemuxml2argv-qemu-ns-domain-commandline.xml | 2 +-
.../qemuxml2argv-qemu-ns-domain-ns0.args | 2 +-
.../qemuxml2argv-qemu-ns-domain-ns0.xml | 2 +-
.../qemuxml2argv-qemu-ns-no-env.args | 2 +-
.../qemuxml2argv-qemu-ns-no-env.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-qemu-ns.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-qemu-ns.xml | 2 +-
.../qemuxml2argv-reboot-timeout-disabled.args | 2 +-
.../qemuxml2argv-reboot-timeout-disabled.xml | 2 +-
.../qemuxml2argv-reboot-timeout-enabled.args | 2 +-
.../qemuxml2argv-reboot-timeout-enabled.xml | 2 +-
.../qemuxml2argv-restore-v2-fd.args | 2 +-
.../qemuxml2argv-restore-v2-fd.xml | 2 +-
.../qemuxml2argvdata/qemuxml2argv-restore-v2.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-restore-v2.xml | 2 +-
.../qemuxml2argv-s390-defaultconsole.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-s390-panic.xml | 2 +-
.../qemuxml2argv-seclabel-dac-none.args | 2 +-
.../qemuxml2argv-seclabel-dac-none.xml | 2 +-
.../qemuxml2argv-seclabel-device-duplicates.xml | 2 +-
.../qemuxml2argv-seclabel-device-multiple.xml | 2 +-
.../qemuxml2argv-seclabel-dynamic-baselabel.args | 2 +-
.../qemuxml2argv-seclabel-dynamic-baselabel.xml | 2 +-
.../qemuxml2argv-seclabel-dynamic-labelskip.args | 2 +-
.../qemuxml2argv-seclabel-dynamic-labelskip.xml | 2 +-
.../qemuxml2argv-seclabel-dynamic-none.xml | 2 +-
.../qemuxml2argv-seclabel-dynamic-override.args | 2 +-
.../qemuxml2argv-seclabel-dynamic-override.xml | 2 +-
.../qemuxml2argv-seclabel-dynamic-relabel.args | 2 +-
.../qemuxml2argv-seclabel-dynamic-relabel.xml | 2 +-
.../qemuxml2argv-seclabel-dynamic.args | 2 +-
.../qemuxml2argv-seclabel-dynamic.xml | 2 +-
.../qemuxml2argv-seclabel-multiple.xml | 2 +-
.../qemuxml2argv-seclabel-none.args | 2 +-
.../qemuxml2argv-seclabel-none.xml | 2 +-
.../qemuxml2argv-seclabel-static-labelskip.args | 2 +-
.../qemuxml2argv-seclabel-static-labelskip.xml | 2 +-
.../qemuxml2argv-seclabel-static-relabel.args | 2 +-
.../qemuxml2argv-seclabel-static-relabel.xml | 2 +-
.../qemuxml2argv-seclabel-static.args | 2 +-
.../qemuxml2argv-seclabel-static.xml | 2 +-
.../qemuxml2argv-serial-dev-chardev-iobase.args | 2 +-
.../qemuxml2argv-serial-dev-chardev-iobase.xml | 2 +-
.../qemuxml2argv-serial-dev-chardev.args | 2 +-
.../qemuxml2argv-serial-dev-chardev.xml | 2 +-
.../qemuxml2argvdata/qemuxml2argv-serial-dev.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-serial-dev.xml | 2 +-
.../qemuxml2argv-serial-file-chardev.args | 2 +-
.../qemuxml2argv-serial-file-chardev.xml | 2 +-
.../qemuxml2argv-serial-file-log.args | 2 +-
.../qemuxml2argv-serial-file-log.xml | 2 +-
.../qemuxml2argvdata/qemuxml2argv-serial-file.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-serial-file.xml | 2 +-
.../qemuxml2argv-serial-many-chardev.args | 2 +-
.../qemuxml2argv-serial-many-chardev.xml | 2 +-
.../qemuxml2argvdata/qemuxml2argv-serial-many.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-serial-many.xml | 2 +-
.../qemuxml2argv-serial-pty-chardev.args | 2 +-
.../qemuxml2argv-serial-pty-chardev.xml | 2 +-
.../qemuxml2argvdata/qemuxml2argv-serial-pty.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-serial-pty.xml | 2 +-
.../qemuxml2argv-serial-spiceport-nospice.args | 2 +-
.../qemuxml2argv-serial-spiceport-nospice.xml | 2 +-
.../qemuxml2argv-serial-spiceport.args | 2 +-
.../qemuxml2argv-serial-spiceport.xml | 2 +-
.../qemuxml2argv-serial-target-port-auto.xml | 2 +-
.../qemuxml2argv-serial-tcp-chardev.args | 2 +-
.../qemuxml2argv-serial-tcp-chardev.xml | 2 +-
.../qemuxml2argv-serial-tcp-telnet-chardev.args | 2 +-
.../qemuxml2argv-serial-tcp-telnet-chardev.xml | 2 +-
.../qemuxml2argv-serial-tcp-telnet.args | 2 +-
.../qemuxml2argv-serial-tcp-telnet.xml | 2 +-
...uxml2argv-serial-tcp-tlsx509-chardev-notls.args | 2 +-
...muxml2argv-serial-tcp-tlsx509-chardev-notls.xml | 2 +-
...xml2argv-serial-tcp-tlsx509-chardev-verify.args | 2 +-
...uxml2argv-serial-tcp-tlsx509-chardev-verify.xml | 2 +-
.../qemuxml2argv-serial-tcp-tlsx509-chardev.args | 2 +-
.../qemuxml2argv-serial-tcp-tlsx509-chardev.xml | 2 +-
...xml2argv-serial-tcp-tlsx509-secret-chardev.args | 2 +-
...uxml2argv-serial-tcp-tlsx509-secret-chardev.xml | 2 +-
.../qemuxml2argvdata/qemuxml2argv-serial-tcp.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-serial-tcp.xml | 2 +-
.../qemuxml2argv-serial-udp-chardev.args | 2 +-
.../qemuxml2argv-serial-udp-chardev.xml | 2 +-
.../qemuxml2argvdata/qemuxml2argv-serial-udp.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-serial-udp.xml | 2 +-
.../qemuxml2argv-serial-unix-chardev.args | 2 +-
.../qemuxml2argv-serial-unix-chardev.xml | 2 +-
.../qemuxml2argvdata/qemuxml2argv-serial-unix.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-serial-unix.xml | 2 +-
.../qemuxml2argv-serial-vc-chardev.args | 2 +-
.../qemuxml2argv-serial-vc-chardev.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-serial-vc.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-serial-vc.xml | 2 +-
.../qemuxml2argv-shmem-invalid-address.xml | 2 +-
.../qemuxml2argv-shmem-invalid-size.xml | 2 +-
.../qemuxml2argv-shmem-msi-only.xml | 2 +-
.../qemuxml2argv-shmem-plain-doorbell.args | 2 +-
.../qemuxml2argv-shmem-plain-doorbell.xml | 2 +-
.../qemuxml2argv-shmem-small-size.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-shmem.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-shmem.xml | 2 +-
.../qemuxml2argv-smartcard-controller.args | 2 +-
.../qemuxml2argv-smartcard-controller.xml | 2 +-
.../qemuxml2argv-smartcard-host-certificates.args | 2 +-
.../qemuxml2argv-smartcard-host-certificates.xml | 2 +-
.../qemuxml2argv-smartcard-host.args | 2 +-
.../qemuxml2argv-smartcard-host.xml | 2 +-
...emuxml2argv-smartcard-passthrough-spicevmc.args | 2 +-
...qemuxml2argv-smartcard-passthrough-spicevmc.xml | 2 +-
.../qemuxml2argv-smartcard-passthrough-tcp.args | 2 +-
.../qemuxml2argv-smartcard-passthrough-tcp.xml | 2 +-
.../qemuxml2argvdata/qemuxml2argv-smbios-date.xml | 2 +-
.../qemuxml2argv-smbios-multiple-type2.xml | 2 +-
.../qemuxml2argv-smbios-uuid-match.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-smbios.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-smbios.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-smp.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-smp.xml | 2 +-
.../qemuxml2argv-sound-device.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-sound-device.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-sound.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-sound.xml | 2 +-
.../qemuxml2argv-tap-vhost-incorrect.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-tap-vhost.xml | 2 +-
.../qemuxml2argv-tpm-no-backend-invalid.xml | 2 +-
.../qemuxml2argv-tpm-passthrough.args | 2 +-
.../qemuxml2argv-tpm-passthrough.xml | 2 +-
.../qemuxml2argv-usb-controller-default-q35.args | 2 +-
.../qemuxml2argv-usb-controller-default-q35.xml | 2 +-
.../qemuxml2argv-usb-controller-explicit-q35.args | 2 +-
.../qemuxml2argv-usb-controller-explicit-q35.xml | 2 +-
.../qemuxml2argv-usb-controller-xhci-limit.xml | 2 +-
.../qemuxml2argv-usb-controller-xhci.args | 2 +-
.../qemuxml2argv-usb-controller-xhci.xml | 2 +-
.../qemuxml2argv-usb-controller.args | 2 +-
.../qemuxml2argv-usb-controller.xml | 2 +-
.../qemuxml2argv-usb-hub-autoadd-deluxe.args | 2 +-
.../qemuxml2argv-usb-hub-autoadd-deluxe.xml | 2 +-
.../qemuxml2argv-usb-hub-autoadd.args | 2 +-
.../qemuxml2argv-usb-hub-autoadd.xml | 2 +-
.../qemuxml2argv-usb-hub-conflict.xml | 2 +-
.../qemuxml2argv-usb-hub-nonexistent.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-usb-hub.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-usb-hub.xml | 2 +-
.../qemuxml2argv-usb-ich9-autoassign.args | 2 +-
.../qemuxml2argv-usb-ich9-autoassign.xml | 2 +-
.../qemuxml2argv-usb-ich9-companion.args | 2 +-
.../qemuxml2argv-usb-ich9-companion.xml | 2 +-
.../qemuxml2argv-usb-ich9-ehci-addr.args | 2 +-
.../qemuxml2argv-usb-ich9-ehci-addr.xml | 2 +-
.../qemuxml2argv-usb-ich9-no-companion.xml | 2 +-
.../qemuxml2argv-usb-long-port-path.args | 2 +-
.../qemuxml2argv-usb-long-port-path.xml | 2 +-
.../qemuxml2argvdata/qemuxml2argv-usb-none-hub.xml | 2 +-
.../qemuxml2argv-usb-none-other.xml | 2 +-
.../qemuxml2argv-usb-none-usbtablet.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-usb-none.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-usb-none.xml | 2 +-
.../qemuxml2argv-usb-piix3-controller.args | 2 +-
.../qemuxml2argv-usb-piix3-controller.xml | 2 +-
.../qemuxml2argv-usb-port-autoassign.args | 2 +-
.../qemuxml2argv-usb-port-autoassign.xml | 2 +-
.../qemuxml2argv-usb-port-missing.args | 2 +-
.../qemuxml2argv-usb-port-missing.xml | 2 +-
.../qemuxml2argv-usb-ports-out-of-range.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-usb-ports.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-usb-ports.xml | 2 +-
.../qemuxml2argv-usb-redir-boot.args | 2 +-
.../qemuxml2argv-usb-redir-boot.xml | 2 +-
.../qemuxml2argv-usb-redir-filter-version.args | 2 +-
.../qemuxml2argv-usb-redir-filter-version.xml | 2 +-
.../qemuxml2argv-usb-redir-filter.args | 2 +-
.../qemuxml2argv-usb-redir-filter.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-usb-redir.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-usb-redir.xml | 2 +-
...qemuxml2argv-usb-too-long-port-path-invalid.xml | 2 +-
.../qemuxml2argv-usb-xhci-autoassign.args | 2 +-
.../qemuxml2argv-usb-xhci-autoassign.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-usb1-usb2.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-usb1-usb2.xml | 2 +-
.../qemuxml2argv-vhost_queues-invalid.xml | 2 +-
.../qemuxml2argvdata/qemuxml2argv-vhost_queues.xml | 2 +-
.../qemuxml2argv-video-device-pciaddr-default.args | 2 +-
.../qemuxml2argv-video-device-pciaddr-default.xml | 2 +-
.../qemuxml2argv-video-invalid.xml | 2 +-
.../qemuxml2argv-video-qxl-device-vgamem.args | 2 +-
.../qemuxml2argv-video-qxl-device-vgamem.xml | 2 +-
.../qemuxml2argv-video-qxl-device.args | 2 +-
.../qemuxml2argv-video-qxl-device.xml | 2 +-
.../qemuxml2argv-video-qxl-heads.args | 2 +-
.../qemuxml2argv-video-qxl-heads.xml | 2 +-
.../qemuxml2argv-video-qxl-nodevice.args | 2 +-
.../qemuxml2argv-video-qxl-nodevice.xml | 2 +-
.../qemuxml2argv-video-qxl-noheads.args | 2 +-
.../qemuxml2argv-video-qxl-noheads.xml | 2 +-
.../qemuxml2argv-video-qxl-sec-device-vgamem.args | 2 +-
.../qemuxml2argv-video-qxl-sec-device-vgamem.xml | 2 +-
.../qemuxml2argv-video-qxl-sec-device-vram64.args | 2 +-
.../qemuxml2argv-video-qxl-sec-device-vram64.xml | 2 +-
.../qemuxml2argv-video-qxl-sec-device.args | 2 +-
.../qemuxml2argv-video-qxl-sec-device.xml | 2 +-
.../qemuxml2argv-video-vga-device-vgamem.args | 2 +-
.../qemuxml2argv-video-vga-device-vgamem.xml | 2 +-
.../qemuxml2argv-video-vga-device.args | 2 +-
.../qemuxml2argv-video-vga-device.xml | 2 +-
.../qemuxml2argv-video-vga-nodevice.args | 2 +-
.../qemuxml2argv-video-vga-nodevice.xml | 2 +-
.../qemuxml2argv-video-virtio-gpu-device.args | 2 +-
.../qemuxml2argv-video-virtio-gpu-device.xml | 2 +-
.../qemuxml2argv-video-virtio-gpu-secondary.args | 2 +-
.../qemuxml2argv-video-virtio-gpu-secondary.xml | 2 +-
.../qemuxml2argv-video-virtio-gpu-spice-gl.args | 2 +-
.../qemuxml2argv-video-virtio-gpu-spice-gl.xml | 2 +-
.../qemuxml2argv-video-virtio-gpu-virgl.args | 2 +-
.../qemuxml2argv-video-virtio-gpu-virgl.xml | 2 +-
.../qemuxml2argv-video-virtio-vga.args | 2 +-
.../qemuxml2argv-video-virtio-vga.xml | 2 +-
.../qemuxml2argv-virtio-input-passthrough.args | 2 +-
.../qemuxml2argv-virtio-input-passthrough.xml | 2 +-
.../qemuxml2argv-virtio-input.args | 2 +-
.../qemuxml2argvdata/qemuxml2argv-virtio-input.xml | 2 +-
.../qemuxml2argvdata/qemuxml2argv-virtio-lun.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-virtio-lun.xml | 2 +-
.../qemuxml2argv-virtio-rng-ccw.args | 2 +-
.../qemuxml2argv-virtio-rng-ccw.xml | 2 +-
.../qemuxml2argv-virtio-rng-default.args | 2 +-
.../qemuxml2argv-virtio-rng-default.xml | 2 +-
.../qemuxml2argv-virtio-rng-egd-crash.xml | 2 +-
.../qemuxml2argv-virtio-rng-egd.args | 2 +-
.../qemuxml2argv-virtio-rng-egd.xml | 2 +-
.../qemuxml2argv-virtio-rng-multiple.args | 2 +-
.../qemuxml2argv-virtio-rng-multiple.xml | 2 +-
.../qemuxml2argv-virtio-rng-random.args | 2 +-
.../qemuxml2argv-virtio-rng-random.xml | 2 +-
.../qemuxml2argv-watchdog-device.args | 2 +-
.../qemuxml2argv-watchdog-device.xml | 2 +-
.../qemuxml2argv-watchdog-diag288.args | 2 +-
.../qemuxml2argv-watchdog-diag288.xml | 2 +-
.../qemuxml2argv-watchdog-dump.args | 2 +-
.../qemuxml2argv-watchdog-dump.xml | 2 +-
.../qemuxml2argv-watchdog-injectnmi.args | 2 +-
.../qemuxml2argv-watchdog-injectnmi.xml | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-watchdog.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-watchdog.xml | 2 +-
tests/qemuxml2argvtest.c | 14 +-
...qemuxml2xmlout-aarch64-video-virtio-gpu-pci.xml | 2 +-
.../qemuxml2xmlout-acpi-table.xml | 2 +-
.../qemuxml2xmlout-autoindex.xml | 2 +-
.../qemuxml2xmlout-balloon-device-auto.xml | 2 +-
.../qemuxml2xmlout-balloon-device-period.xml | 2 +-
.../qemuxml2xmlout-bios-nvram-os-interleave.xml | 2 +-
.../qemuxml2xmlout-bios-nvram.xml | 2 +-
.../qemuxml2xmlout-blkdeviotune.xml | 2 +-
.../qemuxml2xmlout-blkiotune-device.xml | 2 +-
.../qemuxml2xmlout-blkiotune.xml | 2 +-
.../qemuxml2xmlout-boot-cdrom.xml | 2 +-
.../qemuxml2xmlout-boot-floppy-q35.xml | 2 +-
.../qemuxml2xmlout-boot-floppy.xml | 2 +-
...muxml2xmlout-boot-menu-disable-with-timeout.xml | 2 +-
.../qemuxml2xmlout-boot-menu-disable.xml | 2 +-
...emuxml2xmlout-boot-menu-enable-with-timeout.xml | 2 +-
.../qemuxml2xmlout-boot-multi.xml | 2 +-
.../qemuxml2xmlout-boot-network.xml | 2 +-
.../qemuxml2xmlout-boot-order.xml | 2 +-
.../qemuxml2xmlout-bootindex-floppy-q35.xml | 2 +-
.../qemuxml2xmlout-channel-guestfwd.xml | 2 +-
.../qemuxml2xmlout-channel-virtio-auto.xml | 2 +-
.../qemuxml2xmlout-channel-virtio-state-active.xml | 2 +-
...emuxml2xmlout-channel-virtio-state-inactive.xml | 2 +-
.../qemuxml2xmlout-channel-virtio.xml | 2 +-
.../qemuxml2xmlout-chardev-label.xml | 2 +-
.../qemuxml2xmlout-clock-catchup.xml | 2 +-
.../qemuxml2xmlout-clock-localtime.xml | 2 +-
.../qemuxml2xmlout-clock-timer-hyperv-rtc.xml | 2 +-
.../qemuxml2xmlout-clock-utc.xml | 2 +-
.../qemuxml2xmlout-console-compat-auto.xml | 2 +-
.../qemuxml2xmlout-console-compat.xml | 2 +-
.../qemuxml2xmlout-console-compat2.xml | 2 +-
.../qemuxml2xmlout-console-virtio-many.xml | 2 +-
.../qemuxml2xmlout-console-virtio.xml | 2 +-
.../qemuxml2xmlout-cpu-check-default-none.xml | 2 +-
.../qemuxml2xmlout-cpu-check-default-none2.xml | 2 +-
.../qemuxml2xmlout-cpu-check-default-partial.xml | 2 +-
.../qemuxml2xmlout-cpu-check-default-partial2.xml | 2 +-
.../qemuxml2xmlout-cpu-check-full.xml | 2 +-
.../qemuxml2xmlout-cpu-check-none.xml | 2 +-
.../qemuxml2xmlout-cpu-check-partial.xml | 2 +-
.../qemuxml2xmlout-cpu-empty.xml | 2 +-
.../qemuxml2xmlout-cpu-eoi-disabled.xml | 2 +-
.../qemuxml2xmlout-cpu-eoi-enabled.xml | 2 +-
.../qemuxml2xmlout-cpu-host-kvmclock.xml | 2 +-
.../qemuxml2xmlout-cpu-host-model-features.xml | 2 +-
...emuxml2xmlout-cpu-host-passthrough-features.xml | 2 +-
.../qemuxml2xmlout-cpu-kvmclock.xml | 2 +-
.../qemuxml2xmlout-cpu-numa-disjoint.xml | 2 +-
.../qemuxml2xmlout-cpu-numa-disordered.xml | 2 +-
.../qemuxml2xmlout-cpu-numa-memshared.xml | 2 +-
.../qemuxml2xmlout-cpu-numa-no-memory-element.xml | 2 +-
.../qemuxml2xmlout-cpu-numa1.xml | 2 +-
.../qemuxml2xmlout-cpu-numa2.xml | 2 +-
.../qemuxml2xmlout-cputune-iothreads.xml | 2 +-
...l2xmlout-cputune-iothreadsched-zeropriority.xml | 2 +-
.../qemuxml2xmlout-cputune-iothreadsched.xml | 2 +-
.../qemuxml2xmlout-cputune-zero-shares.xml | 2 +-
.../qemuxml2xmloutdata/qemuxml2xmlout-cputune.xml | 2 +-
.../qemuxml2xmlout-default-kvm-host-arch.xml | 2 +-
.../qemuxml2xmlout-disk-active-commit.xml | 2 +-
.../qemuxml2xmloutdata/qemuxml2xmlout-disk-aio.xml | 2 +-
.../qemuxml2xmlout-disk-backing-chains-active.xml | 2 +-
...qemuxml2xmlout-disk-backing-chains-inactive.xml | 2 +-
.../qemuxml2xmlout-disk-cdrom-empty.xml | 2 +-
.../qemuxml2xmlout-disk-cdrom.xml | 2 +-
.../qemuxml2xmlout-disk-copy_on_read.xml | 2 +-
.../qemuxml2xmlout-disk-drive-boot-cdrom.xml | 2 +-
.../qemuxml2xmlout-disk-drive-boot-disk.xml | 2 +-
.../qemuxml2xmlout-disk-drive-cache-directsync.xml | 2 +-
.../qemuxml2xmlout-disk-drive-cache-unsafe.xml | 2 +-
.../qemuxml2xmlout-disk-drive-cache-v2-none.xml | 2 +-
.../qemuxml2xmlout-disk-drive-cache-v2-wb.xml | 2 +-
.../qemuxml2xmlout-disk-drive-cache-v2-wt.xml | 2 +-
.../qemuxml2xmlout-disk-drive-copy-on-read.xml | 2 +-
.../qemuxml2xmlout-disk-drive-discard.xml | 2 +-
...xml2xmlout-disk-drive-error-policy-enospace.xml | 2 +-
...qemuxml2xmlout-disk-drive-error-policy-stop.xml | 2 +-
...out-disk-drive-error-policy-wreport-rignore.xml | 2 +-
.../qemuxml2xmlout-disk-drive-fat.xml | 2 +-
.../qemuxml2xmlout-disk-drive-fmt-qcow.xml | 2 +-
.../qemuxml2xmlout-disk-drive-network-gluster.xml | 2 +-
...emuxml2xmlout-disk-drive-network-iscsi-auth.xml | 2 +-
.../qemuxml2xmlout-disk-drive-network-iscsi.xml | 2 +-
...emuxml2xmlout-disk-drive-network-nbd-export.xml | 2 +-
...l2xmlout-disk-drive-network-nbd-ipv6-export.xml | 2 +-
.../qemuxml2xmlout-disk-drive-network-nbd-ipv6.xml | 2 +-
.../qemuxml2xmlout-disk-drive-network-nbd-unix.xml | 2 +-
.../qemuxml2xmlout-disk-drive-network-nbd.xml | 2 +-
.../qemuxml2xmlout-disk-drive-network-rbd-auth.xml | 2 +-
...uxml2xmlout-disk-drive-network-rbd-ceph-env.xml | 2 +-
.../qemuxml2xmlout-disk-drive-network-rbd-ipv6.xml | 2 +-
.../qemuxml2xmlout-disk-drive-network-rbd.xml | 2 +-
.../qemuxml2xmlout-disk-drive-network-sheepdog.xml | 2 +-
.../qemuxml2xmlout-disk-floppy.xml | 2 +-
.../qemuxml2xmlout-disk-many.xml | 2 +-
.../qemuxml2xmlout-disk-mirror-active.xml | 2 +-
.../qemuxml2xmlout-disk-mirror-inactive.xml | 2 +-
.../qemuxml2xmlout-disk-mirror-old-inactive.xml | 2 +-
.../qemuxml2xmlout-disk-mirror-old.xml | 2 +-
.../qemuxml2xmlout-disk-scsi-device-auto.xml | 2 +-
.../qemuxml2xmlout-disk-scsi-device.xml | 2 +-
.../qemuxml2xmlout-disk-scsi-disk-vpd.xml | 2 +-
...muxml2xmlout-disk-scsi-lun-passthrough-sgio.xml | 2 +-
.../qemuxml2xmlout-disk-scsi-megasas.xml | 2 +-
.../qemuxml2xmlout-disk-scsi-mptsas1068.xml | 2 +-
.../qemuxml2xmlout-disk-scsi-virtio-scsi.xml | 2 +-
.../qemuxml2xmlout-disk-scsi-vscsi.xml | 2 +-
.../qemuxml2xmlout-disk-source-pool-mode.xml | 2 +-
.../qemuxml2xmlout-disk-source-pool.xml | 2 +-
.../qemuxml2xmlout-disk-usb-device.xml | 2 +-
...qemuxml2xmlout-disk-virtio-scsi-cmd_per_lun.xml | 2 +-
.../qemuxml2xmlout-disk-virtio-scsi-ioeventfd.xml | 2 +-
...qemuxml2xmlout-disk-virtio-scsi-max_sectors.xml | 2 +-
.../qemuxml2xmlout-disk-virtio-scsi-num_queues.xml | 2 +-
.../qemuxml2xmlout-disk-virtio.xml | 2 +-
.../qemuxml2xmlout-encrypted-disk.xml | 2 +-
.../qemuxml2xmlout-eoi-disabled.xml | 2 +-
.../qemuxml2xmlout-eoi-enabled.xml | 2 +-
.../qemuxml2xmlout-event_idx.xml | 2 +-
.../qemuxml2xmlout-floppy-drive-fat.xml | 2 +-
.../qemuxml2xmlout-graphics-listen-network.xml | 2 +-
.../qemuxml2xmlout-graphics-listen-network2.xml | 2 +-
.../qemuxml2xmlout-graphics-sdl-fullscreen.xml | 2 +-
.../qemuxml2xmlout-graphics-sdl.xml | 2 +-
...muxml2xmlout-graphics-spice-auto-socket-cfg.xml | 2 +-
.../qemuxml2xmlout-graphics-spice-auto-socket.xml | 2 +-
.../qemuxml2xmlout-graphics-spice-compression.xml | 2 +-
.../qemuxml2xmlout-graphics-spice-qxl-vga.xml | 2 +-
.../qemuxml2xmlout-graphics-spice-socket.xml | 2 +-
.../qemuxml2xmlout-graphics-spice-timeout.xml | 2 +-
.../qemuxml2xmlout-graphics-spice.xml | 2 +-
...qemuxml2xmlout-graphics-vnc-auto-socket-cfg.xml | 2 +-
.../qemuxml2xmlout-graphics-vnc-auto-socket.xml | 2 +-
.../qemuxml2xmlout-graphics-vnc-no-listen-attr.xml | 2 +-
...graphics-vnc-remove-generated-socket-active.xml | 2 +-
...aphics-vnc-remove-generated-socket-inactive.xml | 2 +-
.../qemuxml2xmlout-graphics-vnc-sasl.xml | 2 +-
.../qemuxml2xmlout-graphics-vnc-socket.xml | 2 +-
.../qemuxml2xmlout-graphics-vnc-tls.xml | 2 +-
.../qemuxml2xmlout-graphics-vnc-websocket.xml | 2 +-
.../qemuxml2xmlout-graphics-vnc.xml | 2 +-
.../qemuxml2xmlout-hostdev-mdev-precreated.xml | 2 +-
.../qemuxml2xmlout-hostdev-pci-address.xml | 2 +-
...qemuxml2xmlout-hostdev-scsi-autogen-address.xml | 2 +-
.../qemuxml2xmlout-hostdev-scsi-large-unit.xml | 2 +-
.../qemuxml2xmlout-hostdev-scsi-lsi-iscsi-auth.xml | 2 +-
.../qemuxml2xmlout-hostdev-scsi-lsi-iscsi.xml | 2 +-
.../qemuxml2xmlout-hostdev-scsi-lsi.xml | 2 +-
.../qemuxml2xmlout-hostdev-scsi-rawio.xml | 2 +-
.../qemuxml2xmlout-hostdev-scsi-readonly.xml | 2 +-
.../qemuxml2xmlout-hostdev-scsi-sgio.xml | 2 +-
.../qemuxml2xmlout-hostdev-scsi-shareable.xml | 2 +-
...muxml2xmlout-hostdev-scsi-virtio-iscsi-auth.xml | 2 +-
.../qemuxml2xmlout-hostdev-scsi-virtio-iscsi.xml | 2 +-
.../qemuxml2xmlout-hostdev-scsi-virtio-scsi.xml | 2 +-
.../qemuxml2xmlout-hostdev-usb-address.xml | 2 +-
.../qemuxml2xmlout-hostdev-vfio.xml | 2 +-
.../qemuxml2xmlout-hugepages-pages.xml | 2 +-
.../qemuxml2xmlout-hugepages-pages2.xml | 2 +-
.../qemuxml2xmlout-hugepages-pages3.xml | 2 +-
.../qemuxml2xmlout-hugepages-shared.xml | 2 +-
.../qemuxml2xmlout-hugepages.xml | 2 +-
.../qemuxml2xmlout-hyperv-off.xml | 2 +-
.../qemuxml2xmlout-hyperv-panic.xml | 2 +-
tests/qemuxml2xmloutdata/qemuxml2xmlout-hyperv.xml | 2 +-
.../qemuxml2xmlout-input-usbmouse.xml | 2 +-
.../qemuxml2xmlout-input-usbtablet.xml | 2 +-
.../qemuxml2xmlout-intel-iommu-machine.xml | 2 +-
.../qemuxml2xmlout-intel-iommu.xml | 2 +-
.../qemuxml2xmlout-interface-driver.xml | 2 +-
.../qemuxml2xmlout-iothreads-disk-virtio-ccw.xml | 2 +-
.../qemuxml2xmlout-iothreads-disk.xml | 2 +-
.../qemuxml2xmlout-iothreads-ids-partial.xml | 2 +-
.../qemuxml2xmlout-iothreads-ids.xml | 2 +-
.../qemuxml2xmlout-iothreads-virtio-scsi-ccw.xml | 2 +-
.../qemuxml2xmlout-iothreads-virtio-scsi-pci.xml | 2 +-
.../qemuxml2xmlout-iothreads.xml | 2 +-
.../qemuxml2xmlout-kvm-features-off.xml | 2 +-
.../qemuxml2xmlout-kvm-features.xml | 2 +-
.../qemuxml2xmloutdata/qemuxml2xmlout-kvmclock.xml | 2 +-
tests/qemuxml2xmloutdata/qemuxml2xmlout-lease.xml | 2 +-
.../qemuxml2xmlout-machine-core-off.xml | 2 +-
.../qemuxml2xmlout-machine-core-on.xml | 2 +-
.../qemuxml2xmlout-memory-hotplug-dimm.xml | 2 +-
.../qemuxml2xmlout-memory-hotplug-nonuma.xml | 2 +-
.../qemuxml2xmlout-memory-hotplug.xml | 2 +-
.../qemuxml2xmlout-memorybacking-set.xml | 2 +-
.../qemuxml2xmlout-memorybacking-unset.xml | 2 +-
.../qemuxml2xmlout-memtune-unlimited.xml | 2 +-
.../qemuxml2xmloutdata/qemuxml2xmlout-memtune.xml | 2 +-
.../qemuxml2xmlout-metadata-duplicate.xml | 2 +-
.../qemuxml2xmloutdata/qemuxml2xmlout-metadata.xml | 2 +-
.../qemuxml2xmloutdata/qemuxml2xmlout-migrate.xml | 2 +-
.../qemuxml2xmloutdata/qemuxml2xmlout-minimal.xml | 2 +-
.../qemuxml2xmlout-misc-acpi.xml | 2 +-
.../qemuxml2xmlout-misc-disable-s3.xml | 2 +-
.../qemuxml2xmlout-misc-disable-suspends.xml | 2 +-
.../qemuxml2xmlout-misc-enable-s4.xml | 2 +-
.../qemuxml2xmlout-misc-no-reboot.xml | 2 +-
.../qemuxml2xmlout-misc-uuid.xml | 2 +-
.../qemuxml2xmlout-net-bandwidth.xml | 2 +-
.../qemuxml2xmlout-net-bandwidth2.xml | 2 +-
.../qemuxml2xmlout-net-eth-hostip.xml | 2 +-
.../qemuxml2xmlout-net-eth-ifname.xml | 2 +-
.../qemuxml2xmloutdata/qemuxml2xmlout-net-eth.xml | 2 +-
.../qemuxml2xmlout-net-hostdev-vfio.xml | 2 +-
.../qemuxml2xmlout-net-hostdev.xml | 2 +-
.../qemuxml2xmlout-net-midonet.xml | 2 +-
.../qemuxml2xmloutdata/qemuxml2xmlout-net-mtu.xml | 2 +-
.../qemuxml2xmlout-net-openvswitch.xml | 2 +-
.../qemuxml2xmloutdata/qemuxml2xmlout-net-udp.xml | 2 +-
.../qemuxml2xmloutdata/qemuxml2xmlout-net-user.xml | 2 +-
.../qemuxml2xmlout-net-vhostuser.xml | 2 +-
.../qemuxml2xmlout-net-virtio-device.xml | 2 +-
.../qemuxml2xmlout-net-virtio-disable-offloads.xml | 2 +-
...qemuxml2xmlout-net-virtio-network-portgroup.xml | 2 +-
.../qemuxml2xmlout-net-virtio-rxqueuesize.xml | 2 +-
.../qemuxml2xmlout-net-virtio.xml | 2 +-
.../qemuxml2xmlout-nographics-vga.xml | 2 +-
.../qemuxml2xmlout-nosharepages.xml | 2 +-
...emuxml2xmlout-numad-auto-memory-vcpu-cpuset.xml | 2 +-
...ad-auto-memory-vcpu-no-cpuset-and-placement.xml | 2 +-
.../qemuxml2xmlout-numad-auto-vcpu-no-numatune.xml | 2 +-
...emuxml2xmlout-numad-static-vcpu-no-numatune.xml | 2 +-
.../qemuxml2xmlout-numatune-auto-prefer.xml | 2 +-
.../qemuxml2xmlout-numatune-memnode-no-memory.xml | 2 +-
.../qemuxml2xmlout-numatune-memnode.xml | 2 +-
.../qemuxml2xmlout-panic-double.xml | 2 +-
.../qemuxml2xmlout-panic-isa.xml | 2 +-
.../qemuxml2xmlout-panic-no-address.xml | 2 +-
tests/qemuxml2xmloutdata/qemuxml2xmlout-panic.xml | 2 +-
.../qemuxml2xmlout-parallel-tcp.xml | 2 +-
.../qemuxml2xmlout-pci-autoadd-addr.xml | 2 +-
.../qemuxml2xmlout-pci-autoadd-idx.xml | 2 +-
.../qemuxml2xmlout-pci-autofill-addr.xml | 2 +-
.../qemuxml2xmlout-pci-bridge-many-disks.xml | 2 +-
.../qemuxml2xmlout-pci-bridge.xml | 2 +-
.../qemuxml2xmloutdata/qemuxml2xmlout-pci-many.xml | 2 +-
.../qemuxml2xmloutdata/qemuxml2xmlout-pci-rom.xml | 2 +-
.../qemuxml2xmlout-pci-serial-dev-chardev.xml | 2 +-
.../qemuxml2xmlout-pcie-expander-bus.xml | 2 +-
.../qemuxml2xmlout-pcie-root-port.xml | 2 +-
.../qemuxml2xmlout-pcie-root.xml | 2 +-
.../qemuxml2xmlout-pcie-switch-downstream-port.xml | 2 +-
.../qemuxml2xmlout-pcie-switch-upstream-port.xml | 2 +-
.../qemuxml2xmlout-pcihole64-gib.xml | 2 +-
.../qemuxml2xmlout-pcihole64-none.xml | 2 +-
.../qemuxml2xmlout-pcihole64-q35.xml | 2 +-
.../qemuxml2xmlout-pcihole64.xml | 2 +-
.../qemuxml2xmlout-pmu-feature-off.xml | 2 +-
.../qemuxml2xmlout-pmu-feature.xml | 2 +-
.../qemuxml2xmlout-ppc64-usb-controller-legacy.xml | 2 +-
.../qemuxml2xmlout-ppc64-usb-controller.xml | 2 +-
.../qemuxml2xmlout-pv-spinlock-disabled.xml | 2 +-
.../qemuxml2xmlout-pv-spinlock-enabled.xml | 2 +-
.../qemuxml2xmlout-q35-default-devices-only.xml | 2 +-
.../qemuxml2xmlout-q35-multifunction.xml | 2 +-
.../qemuxml2xmlout-q35-pci-force-address.xml | 2 +-
.../qemuxml2xmlout-q35-pcie-autoadd.xml | 2 +-
.../qemuxml2xmloutdata/qemuxml2xmlout-q35-pcie.xml | 2 +-
.../qemuxml2xmlout-q35-usb2-multi.xml | 2 +-
.../qemuxml2xmlout-q35-usb2-reorder.xml | 2 +-
.../qemuxml2xmloutdata/qemuxml2xmlout-q35-usb2.xml | 2 +-
.../qemuxml2xmlout-q35-virt-manager-basic.xml | 2 +-
.../qemuxml2xmlout-q35-virtio-pci.xml | 2 +-
tests/qemuxml2xmloutdata/qemuxml2xmlout-q35.xml | 2 +-
.../qemuxml2xmlout-qemu-ns-no-env.xml | 2 +-
.../qemuxml2xmlout-reboot-timeout-disabled.xml | 2 +-
.../qemuxml2xmlout-reboot-timeout-enabled.xml | 2 +-
.../qemuxml2xmlout-restore-v2.xml | 2 +-
.../qemuxml2xmlout-s390-defaultconsole.xml | 2 +-
.../qemuxml2xmlout-s390-panic.xml | 2 +-
.../qemuxml2xmlout-seclabel-dac-none.xml | 2 +-
.../qemuxml2xmlout-seclabel-device-multiple.xml | 2 +-
.../qemuxml2xmlout-seclabel-dynamic-baselabel.xml | 2 +-
.../qemuxml2xmlout-seclabel-dynamic-labelskip.xml | 2 +-
.../qemuxml2xmlout-seclabel-dynamic-none.xml | 2 +-
.../qemuxml2xmlout-seclabel-dynamic-override.xml | 2 +-
.../qemuxml2xmlout-seclabel-dynamic-relabel.xml | 2 +-
.../qemuxml2xmlout-seclabel-none.xml | 2 +-
.../qemuxml2xmlout-seclabel-static-labelskip.xml | 2 +-
.../qemuxml2xmlout-seclabel-static.xml | 2 +-
.../qemuxml2xmlout-serial-dev.xml | 2 +-
.../qemuxml2xmlout-serial-file.xml | 2 +-
.../qemuxml2xmlout-serial-many.xml | 2 +-
.../qemuxml2xmlout-serial-pty.xml | 2 +-
.../qemuxml2xmlout-serial-spiceport-nospice.xml | 2 +-
.../qemuxml2xmlout-serial-spiceport.xml | 2 +-
.../qemuxml2xmlout-serial-target-port-auto.xml | 2 +-
.../qemuxml2xmlout-serial-tcp-telnet.xml | 2 +-
.../qemuxml2xmlout-serial-tcp-tlsx509-chardev.xml | 2 +-
.../qemuxml2xmlout-serial-tcp.xml | 2 +-
.../qemuxml2xmlout-serial-udp.xml | 2 +-
.../qemuxml2xmlout-serial-unix.xml | 2 +-
.../qemuxml2xmlout-serial-vc.xml | 2 +-
.../qemuxml2xmlout-shmem-plain-doorbell.xml | 2 +-
tests/qemuxml2xmloutdata/qemuxml2xmlout-shmem.xml | 2 +-
.../qemuxml2xmlout-smbios-multiple-type2.xml | 2 +-
tests/qemuxml2xmloutdata/qemuxml2xmlout-smbios.xml | 2 +-
tests/qemuxml2xmloutdata/qemuxml2xmlout-smp.xml | 2 +-
.../qemuxml2xmlout-sound-device.xml | 2 +-
tests/qemuxml2xmloutdata/qemuxml2xmlout-sound.xml | 2 +-
.../qemuxml2xmlout-tap-vhost-incorrect.xml | 2 +-
.../qemuxml2xmlout-tap-vhost.xml | 2 +-
.../qemuxml2xmlout-tpm-passthrough.xml | 2 +-
.../qemuxml2xmlout-usb-controller-default-q35.xml | 2 +-
.../qemuxml2xmlout-usb-controller-explicit-q35.xml | 2 +-
.../qemuxml2xmlout-usb-controller.xml | 2 +-
.../qemuxml2xmlout-usb-ich9-ehci-addr.xml | 2 +-
.../qemuxml2xmloutdata/qemuxml2xmlout-usb-none.xml | 2 +-
.../qemuxml2xmlout-usb-piix3-controller.xml | 2 +-
.../qemuxml2xmlout-usb-port-missing.xml | 2 +-
.../qemuxml2xmlout-usb-redir-filter-version.xml | 2 +-
.../qemuxml2xmlout-usb-redir-filter.xml | 2 +-
.../qemuxml2xmlout-usb-redir.xml | 2 +-
.../qemuxml2xmlout-vhost_queues.xml | 2 +-
...qemuxml2xmlout-video-device-pciaddr-default.xml | 2 +-
.../qemuxml2xmlout-video-qxl-heads.xml | 2 +-
.../qemuxml2xmlout-video-qxl-noheads.xml | 2 +-
.../qemuxml2xmlout-video-virtio-gpu-device.xml | 2 +-
.../qemuxml2xmlout-video-virtio-gpu-secondary.xml | 2 +-
.../qemuxml2xmlout-video-virtio-gpu-spice-gl.xml | 2 +-
.../qemuxml2xmlout-video-virtio-gpu-virgl.xml | 2 +-
.../qemuxml2xmlout-virtio-input-passthrough.xml | 2 +-
.../qemuxml2xmlout-virtio-input.xml | 2 +-
.../qemuxml2xmlout-virtio-lun.xml | 2 +-
.../qemuxml2xmlout-virtio-rng-egd.xml | 2 +-
.../qemuxml2xmlout-virtio-rng-random.xml | 2 +-
.../qemuxml2xmloutdata/qemuxml2xmlout-watchdog.xml | 2 +-
tests/qemuxml2xmltest.c | 33 ++-
tests/securityselinuxlabeltest.c | 7 +-
tests/testutilsqemu.c | 260 +++++++++++++--------
tests/testutilsqemu.h | 5 +-
tests/vircapstest.c | 2 +-
tests/virsh-define-dev-segfault | 2 +-
tests/virt-aa-helper-test | 2 +-
1698 files changed, 1891 insertions(+), 1842 deletions(-)
--
2.12.2
7 years, 8 months
[libvirt] [PATCH 0/4] fix some resource leaks
by Pavel Hrdina
Pavel Hrdina (4):
conf/domain_capabilities: fix resource leak
src: fix multiple resource leaks in loops
rpc: fix resource leak
tests: fix some resource leaks
src/conf/domain_capabilities.c | 1 +
src/conf/node_device_conf.c | 10 +++++-----
src/conf/storage_conf.c | 1 +
src/rpc/virnetdaemon.c | 1 +
src/util/virsysinfo.c | 2 ++
tests/commandtest.c | 3 +++
tests/domaincapstest.c | 2 ++
tests/fchosttest.c | 2 ++
tests/vircgroupmock.c | 2 ++
9 files changed, 19 insertions(+), 5 deletions(-)
--
2.12.2
7 years, 8 months
[libvirt] [RFC] RFC: Reimplement cache allocation for a VM
by Eli Qiao
This is a RFC patch for the reimplement of `support cache tune(CAT) in
libvirt`[1].
There are already patch sets[2] to address it, and functional
works, but people doesn't like it cause it has global variable, and
missing unit test case for new added capabilites, etc.
Martin has proposed a test infra to do vircaps2xmltest, and I extened it
on top of it to extend resctrl control[3], this is kinds of new desiged
apart from [2], so I propose this RFC patch to do some rework on it.
[] https://www.redhat.com/archives/libvir-list/2017-January/msg00683.html
[] https://www.redhat.com/archives/libvir-list/2017-March/msg00181.html
[] https://www.redhat.com/archives/libvir-list/2017-April/msg00516.html
---
src/util/virresctrl.c | 81 ++++++++++++++++++++++++++++++++++++++++++++++++
src/util/virresctrl.h | 86 +++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 167 insertions(+)
create mode 100644 src/util/virresctrl.c
create mode 100644 src/util/virresctrl.h
diff --git a/src/util/virresctrl.c b/src/util/virresctrl.c
new file mode 100644
index 0000000..f555eb8
--- /dev/null
+++ b/src/util/virresctrl.c
@@ -0,0 +1,81 @@
+/*
+ * virresctrl.c: methods for managing resource control
+ *
+ * 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:
+ * Eli Qiao <liyong.qiao(a)intel.com>
+ */
+
+#include <config.h>
+#include <fcntl.h>
+#include <sys/file.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+
+#include "virresctrl.h"
+#include "viralloc.h"
+#include "virerror.h"
+#include "virfile.h"
+#include "virhostcpu.h"
+#include "virlog.h"
+#include "virstring.h"
+#include "virarch.h"
+
+VIR_LOG_INIT("util.resctrl");
+
+#define VIR_FROM_THIS VIR_FROM_RESCTRL
+
+VIR_ENUM_IMPL(virResctrl, VIR_RESCTRL_TYPE_LAST,
+ "L3",
+ "L3CODE",
+ "L3DATA",
+ "L2")
+
+/**
+ * a virResctrlDomain represents a resource control group, it's a directory
+ * under /sys/fs/resctrl.
+ * eg: /sys/fs/resctrl/CG1
+ * |-- cpus
+ * |-- schemata
+ * `-- tasks
+ * # cat schemata
+ * L3DATA:0=fffff;1=fffff
+ * L3CODE:0=fffff;1=fffff
+ *
+ * Besides, it can also represent the default resource control group of the
+ * host.
+ */
+
+typedef struct _virResctrlGroup virResctrlGroup;
+typedef virResctrlGroup *virResctrlGroupPtr;
+struct _virResctrlGroup {
+ char *name; /* resource group name, eg: CG1. If it represent host's
+ default resource group name, should be a NULL pointer */
+ size_t n_tasks; /* number of task assigned to the resource group */
+ char **tasks; /* task list which contains task id eg: 77454 */
+
+ size_t n_schematas; /* number of schemata the resource group contains,
+ eg: 2 */
+ virResctrlSchemataPtr *schematas; /* scheamta list */
+};
+
+/* All resource control groups on this host, including default resource group */
+typedef struct _virResCtrlDomain virResCtrlDomain;
+typedef virResCtrlDomain *virResCtrlDomainPtr;
+struct _virResCtrlDomain {
+ size_t n_groups; /* number of resource control group */
+ virResctrlGroupPtr groups; /* list of resource control group */
+};
diff --git a/src/util/virresctrl.h b/src/util/virresctrl.h
new file mode 100644
index 0000000..da89542
--- /dev/null
+++ b/src/util/virresctrl.h
@@ -0,0 +1,86 @@
+/*
+ * virresctrl.h: header for managing resctrl control
+ *
+ * Copyright (C) 2016 Intel, 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:
+ * Eli Qiao <liyong.qiao(a)intel.com>
+ */
+
+#ifndef __VIR_RESCTRL_H__
+# define __VIR_RESCTRL_H__
+
+typedef enum {
+ VIR_RESCTRL_TYPE_L3,
+ VIR_RESCTRL_TYPE_L3_CODE,
+ VIR_RESCTRL_TYPE_L3_DATA,
+ VIR_RESCTRL_TYPE_L2,
+
+ VIR_RESCTRL_TYPE_LAST
+} virResctrlType;
+
+VIR_ENUM_DECL(virResctrl);
+
+/*
+ * a virResctrlSchemataItem represents one of schemata object in a
+ * resource control group.
+ * eg: 0=f
+ */
+typedef struct _virResCtrlSchemataItem virResctrlSchemataItem;
+typedef virResctrlSchemataItem *virResctrlSchemataItemPtr;
+struct _virResctrlSchemataItem {
+ unsigned int cache_id; /* cache resource id, eg: 0 */
+ unsigned int continuous_schemata; /* schemata, should be a continuous bits,
+ eg: f, this schemata can be persisted
+ to sysfs */
+ unsigned int schemata; /* schemata eg: f0f, a schemata which is calculated
+ at running time */
+ unsigned long long size; /* the cache size schemata represented in B,
+ eg: (min * bits of continuous_schemata) */
+};
+
+/*
+ * a virResctrlSchemata represents schemata objects of specific type of
+ * resource in a resource control group.
+ * eg: L3:0=f,1=ff
+ */
+typedef struct _virResctrlSchemata virResctrlSchemata;
+typedef virResctrlSchemata *virResctrlSchemataPtr;
+struct _virResctrlSchemata {
+ virResctrlType type; /* resource control type, eg: L3 */
+ size_t n_schemata_items; /* number of schemata item, eg: 2 */
+ virResctrlSchemataItemPtr *schemata_items; /* pointer list of schemata item */
+};
+
+/* Get free cache of the host, result saved in schemata */
+int virResctrlGetFreeCache(virResctrlType type,
+ virResctrlSchemataPtr *schemata);
+
+/* Get free cache of specific cache id of the host, result saved in
+ schemataitem */
+int virResctrlGetFreeCacheByCacheId(virResctrlType type,
+ virResctrlSchemataItemPtr *schemataitem);
+
+/* Set cache allocation for a VM domain */
+int virResctrlSetCacheBanks(virDomainCachetunePtr cachetune,
+ unsigned char *group_name,
+ size_t n_pids,
+ pid_t *pids);
+
+/* remove cache allocation for a VM domain */
+int virResctrlRemoveCacheBanks(unsigned char *group_name);
+#endif
--
1.9.1
7 years, 8 months
[libvirt] [PATCH V5] Expose resource control capabilites on cache bank
by Eli Qiao
This patch is based on Martin's cache branch.
* This patch amends the cache bank capability as follow:
<cache>
<bank id='0' level='3' type='unified' size='15360' unit='KiB' cpus='0-5'>
<control min='768' unit='KiB' scope='both' max_allocation='4'/>
</bank>
<bank id='1' level='3' type='unified' size='15360' unit='KiB' cpus='6-11'>
<control min='768' unit='KiB' scope='both' max_allocation='4'/>
</bank>
</cache>
For CDP enabled on x86 arch, we will have:
<cache>
<bank id='0' level='3' type='unified' size='15360' unit='KiB' cpus='0-5'>
<control min='768' unit='KiB' scope='code' max_allocation='4'/>
<control min='768' unit='KiB' scope='data' max_allocation='4'/>
</bank>
...
* Added a new testdata directory `linux-resctrl-cdp` to test CDP enabled
case.
* Along with vircaps2xmltest case updated.
P.S. here the scope is from /sys/fs/resctrl/info/L3{"" "code" "data"}, I
keep it capital upper as I need to use a macro to convert from enum to
string easily.
Signed-off-by: Eli Qiao <liyong.qiao(a)intel.com>
---
docs/schemas/capability.rng | 20 +++
src/conf/capabilities.c | 139 ++++++++++++++++++++-
src/conf/capabilities.h | 20 +++
.../vircaps2xmldata/linux-resctrl-cdp/resctrl/cpus | 1 +
.../linux-resctrl-cdp/resctrl/info/L3CODE/cbm_mask | 1 +
.../resctrl/info/L3CODE/min_cbm_bits | 1 +
.../resctrl/info/L3CODE/num_closids | 1 +
.../linux-resctrl-cdp/resctrl/info/L3DATA/cbm_mask | 1 +
.../resctrl/info/L3DATA/min_cbm_bits | 1 +
.../resctrl/info/L3DATA/num_closids | 1 +
.../linux-resctrl-cdp/resctrl/manualres/cpus | 1 +
.../linux-resctrl-cdp/resctrl/manualres/schemata | 2 +
.../linux-resctrl-cdp/resctrl/manualres/tasks | 0
.../linux-resctrl-cdp/resctrl/schemata | 2 +
.../linux-resctrl-cdp/resctrl/tasks | 0
tests/vircaps2xmldata/linux-resctrl-cdp/system | 1 +
.../vircaps2xmldata/vircaps-x86_64-resctrl-cdp.xml | 55 ++++++++
tests/vircaps2xmldata/vircaps-x86_64-resctrl.xml | 8 +-
tests/vircaps2xmltest.c | 8 ++
19 files changed, 259 insertions(+), 4 deletions(-)
create mode 100644 tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/cpus
create mode 100755 tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/info/L3CODE/cbm_mask
create mode 100755 tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/info/L3CODE/min_cbm_bits
create mode 100755 tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/info/L3CODE/num_closids
create mode 100755 tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/info/L3DATA/cbm_mask
create mode 100755 tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/info/L3DATA/min_cbm_bits
create mode 100755 tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/info/L3DATA/num_closids
create mode 100644 tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/manualres/cpus
create mode 100644 tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/manualres/schemata
create mode 100644 tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/manualres/tasks
create mode 100644 tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/schemata
create mode 100644 tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/tasks
create mode 120000 tests/vircaps2xmldata/linux-resctrl-cdp/system
create mode 100644 tests/vircaps2xmldata/vircaps-x86_64-resctrl-cdp.xml
diff --git a/docs/schemas/capability.rng b/docs/schemas/capability.rng
index 2080953..f371a1c 100644
--- a/docs/schemas/capability.rng
+++ b/docs/schemas/capability.rng
@@ -277,6 +277,26 @@
<attribute name='cpus'>
<ref name='cpuset'/>
</attribute>
+ <zeroOrMore>
+ <element name='control'>
+ <attribute name='min'>
+ <ref name='unsignedInt'/>
+ </attribute>
+ <attribute name='unit'>
+ <ref name='unit'/>
+ </attribute>
+ <attribute name='scope'>
+ <choice>
+ <value>both</value>
+ <value>code</value>
+ <value>data</value>
+ </choice>
+ </attribute>
+ <attribute name='max_allocation'>
+ <ref name='unsignedInt'/>
+ </attribute>
+ </element>
+ </zeroOrMore>
</element>
</oneOrMore>
</element>
diff --git a/src/conf/capabilities.c b/src/conf/capabilities.c
index 416dd1a..c7a2e73 100644
--- a/src/conf/capabilities.c
+++ b/src/conf/capabilities.c
@@ -52,6 +52,7 @@
#define VIR_FROM_THIS VIR_FROM_CAPABILITIES
#define SYSFS_SYSTEM_PATH "/sys/devices/system/"
+#define SYSFS_RESCTRL_PATH "/sys/fs/resctrl/"
VIR_LOG_INIT("conf.capabilities")
@@ -873,6 +874,9 @@ virCapabilitiesFormatCaches(virBufferPtr buf,
virCapsHostCacheBankPtr *caches)
{
size_t i = 0;
+ size_t j = 0;
+ int indent = virBufferGetIndent(buf, false);
+ virBuffer controlBuf = VIR_BUFFER_INITIALIZER;
if (!ncaches)
return 0;
@@ -894,13 +898,35 @@ virCapabilitiesFormatCaches(virBufferPtr buf,
*/
virBufferAsprintf(buf,
"<bank id='%u' level='%u' type='%s' "
- "size='%llu' unit='%s' cpus='%s'/>\n",
+ "size='%llu' unit='%s' cpus='%s'",
bank->id, bank->level,
virCacheTypeToString(bank->type),
bank->size >> (kilos * 10),
kilos ? "KiB" : "B",
cpus_str);
+ virBufferAdjustIndent(&controlBuf, indent + 4);
+ for (j = 0; j < bank->ncontrols; j++) {
+ bool min_kilos = !(bank->controls[j]->min % 1024);
+ virBufferAsprintf(&controlBuf,
+ "<control min='%llu' unit='%s' "
+ "scope='%s' max_allocation='%u'/>\n",
+ bank->controls[j]->min >> (min_kilos * 10),
+ min_kilos ? "KiB" : "B",
+ virResctrlCacheTypeToString(bank->controls[j]->scope),
+ bank->controls[j]->max_allocation);
+ }
+
+ if (virBufferUse(&controlBuf)) {
+ virBufferAddLit(buf, ">\n");
+ virBufferAddBuffer(buf, &controlBuf);
+ virBufferAddLit(buf, "</bank>\n");
+
+ } else {
+ virBufferAddLit(buf, "/>\n");
+ }
+
+ virBufferFreeAndReset(&controlBuf);
VIR_FREE(cpus_str);
}
@@ -1513,13 +1539,107 @@ virCapsHostCacheBankEquals(virCapsHostCacheBankPtr a,
void
virCapsHostCacheBankFree(virCapsHostCacheBankPtr ptr)
{
+ size_t i;
+
if (!ptr)
return;
virBitmapFree(ptr->cpus);
+ for (i = 0; i < ptr->ncontrols; i++)
+ VIR_FREE(ptr->controls[i]);
+ VIR_FREE(ptr->controls);
VIR_FREE(ptr);
}
+VIR_ENUM_IMPL(virResctrlCache, VIR_RESCTRL_CACHE_TYPE_LAST,
+ "both",
+ "code",
+ "data")
+
+/* test which TYPE of cache control supported
+ * -1: don't support
+ * 0: cat
+ * 1: cdp
+ */
+static int
+virCapabilitiesGetCacheControlType(virCapsHostCacheBankPtr bank)
+{
+ int ret = -1;
+ char *path = NULL;
+ if (virAsprintf(&path,
+ SYSFS_RESCTRL_PATH "info/L%u",
+ bank->level) < 0)
+ return -1;
+
+ if (virFileExists(path)) {
+ ret = 0;
+ } else {
+ VIR_FREE(path);
+ /* for CDP enabled case, CODE and DATA will show together */
+ if (virAsprintf(&path,
+ SYSFS_RESCTRL_PATH "info/L%uCODE",
+ bank->level) < 0)
+ return -1;
+ if (virFileExists(path))
+ ret = 1;
+ }
+
+ VIR_FREE(path);
+ return ret;
+}
+
+static int
+virCapabilitiesGetCacheControl(virCapsHostCacheBankPtr bank,
+ virResctrlCacheType scope)
+{
+ int ret = -1;
+ char *path = NULL;
+ char *cbm_mask = NULL;
+ char *type_upper = NULL;
+ virCapsHostCacheControlPtr control;
+
+ if (VIR_ALLOC(control) < 0)
+ goto cleanup;
+
+ if ((scope > VIR_RESCTRL_CACHE_TYPE_BOTH)
+ && (virStringToUpper(&type_upper, virResctrlCacheTypeToString(scope)) < 0))
+ goto cleanup;
+
+ if (virFileReadValueUint(&control->max_allocation,
+ SYSFS_RESCTRL_PATH "info/L%u%s/num_closids",
+ bank->level,
+ type_upper ? type_upper : "") < 0)
+ goto cleanup;
+
+ if (virFileReadValueString(&cbm_mask,
+ SYSFS_RESCTRL_PATH
+ "info/L%u%s/cbm_mask",
+ bank->level,
+ type_upper ? type_upper: "") < 0)
+ goto cleanup;
+
+ virStringTrimOptionalNewline(cbm_mask);
+
+ /* cbm_mask: cache bit mask, it's in hex, eg: fffff */
+ control->min = bank->size / (strlen(cbm_mask) * 4);
+
+ control->scope = scope;
+
+ if (VIR_APPEND_ELEMENT(bank->controls,
+ bank->ncontrols,
+ control) < 0)
+ goto cleanup;
+
+ ret = 0;
+
+ cleanup:
+ VIR_FREE(path);
+ VIR_FREE(cbm_mask);
+ VIR_FREE(type_upper);
+ VIR_FREE(control);
+ return ret;
+}
+
int
virCapabilitiesInitCaches(virCapsPtr caps)
{
@@ -1528,6 +1648,7 @@ virCapabilitiesInitCaches(virCapsPtr caps)
ssize_t pos = -1;
DIR *dirp = NULL;
int ret = -1;
+ int typeret;
char *path = NULL;
char *type = NULL;
struct dirent *ent = NULL;
@@ -1595,7 +1716,21 @@ virCapabilitiesInitCaches(virCapsPtr caps)
pos, ent->d_name) < 0)
goto cleanup;
- if (bank->level < cache_min_level) {
+ typeret = virCapabilitiesGetCacheControlType(bank);
+
+ if ((bank->level >= cache_min_level) || (typeret >= 0)) {
+ if (typeret == 0) {
+ if (virCapabilitiesGetCacheControl(bank,
+ VIR_RESCTRL_CACHE_TYPE_BOTH) < 0)
+ goto cleanup;
+ } else if (typeret == 1) {
+ if ((virCapabilitiesGetCacheControl(bank,
+ VIR_RESCTRL_CACHE_TYPE_CODE) < 0) ||
+ (virCapabilitiesGetCacheControl(bank,
+ VIR_RESCTRL_CACHE_TYPE_DATA) < 0))
+ goto cleanup;
+ }
+ } else {
virCapsHostCacheBankFree(bank);
bank = NULL;
continue;
diff --git a/src/conf/capabilities.h b/src/conf/capabilities.h
index 60c8218..96cb680 100644
--- a/src/conf/capabilities.h
+++ b/src/conf/capabilities.h
@@ -139,6 +139,24 @@ struct _virCapsHostSecModel {
};
typedef enum {
+ VIR_RESCTRL_CACHE_TYPE_BOTH,
+ VIR_RESCTRL_CACHE_TYPE_CODE,
+ VIR_RESCTRL_CACHE_TYPE_DATA,
+
+ VIR_RESCTRL_CACHE_TYPE_LAST
+} virResctrlCacheType;
+
+VIR_ENUM_DECL(virResctrlCache);
+
+typedef struct _virCapsHostCacheControl virCapsHostCacheControl;
+typedef virCapsHostCacheControl *virCapsHostCacheControlPtr;
+struct _virCapsHostCacheControl {
+ unsigned long long min; /* minimum cache control size in B */
+ virResctrlCacheType scope; /* data, code or both */
+ unsigned int max_allocation; /* max number of supported allocations */
+};
+
+typedef enum {
VIR_CACHE_TYPE_UNIFIED,
VIR_CACHE_TYPE_INSTRUCTION,
VIR_CACHE_TYPE_DATA,
@@ -156,6 +174,8 @@ struct _virCapsHostCacheBank {
unsigned long long size; /* B */
virCacheType type; /* Data, Instruction or Unified */
virBitmapPtr cpus; /* All CPUs that share this bank */
+ size_t ncontrols;
+ virCapsHostCacheControlPtr *controls;
};
typedef struct _virCapsHost virCapsHost;
diff --git a/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/cpus b/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/cpus
new file mode 100644
index 0000000..b3a79aa
--- /dev/null
+++ b/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/cpus
@@ -0,0 +1 @@
+ffffff,ffffffff,ffffffff
diff --git a/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/info/L3CODE/cbm_mask b/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/info/L3CODE/cbm_mask
new file mode 100755
index 0000000..78031da
--- /dev/null
+++ b/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/info/L3CODE/cbm_mask
@@ -0,0 +1 @@
+fffff
diff --git a/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/info/L3CODE/min_cbm_bits b/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/info/L3CODE/min_cbm_bits
new file mode 100755
index 0000000..d00491f
--- /dev/null
+++ b/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/info/L3CODE/min_cbm_bits
@@ -0,0 +1 @@
+1
diff --git a/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/info/L3CODE/num_closids b/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/info/L3CODE/num_closids
new file mode 100755
index 0000000..45a4fb7
--- /dev/null
+++ b/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/info/L3CODE/num_closids
@@ -0,0 +1 @@
+8
diff --git a/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/info/L3DATA/cbm_mask b/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/info/L3DATA/cbm_mask
new file mode 100755
index 0000000..78031da
--- /dev/null
+++ b/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/info/L3DATA/cbm_mask
@@ -0,0 +1 @@
+fffff
diff --git a/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/info/L3DATA/min_cbm_bits b/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/info/L3DATA/min_cbm_bits
new file mode 100755
index 0000000..d00491f
--- /dev/null
+++ b/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/info/L3DATA/min_cbm_bits
@@ -0,0 +1 @@
+1
diff --git a/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/info/L3DATA/num_closids b/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/info/L3DATA/num_closids
new file mode 100755
index 0000000..45a4fb7
--- /dev/null
+++ b/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/info/L3DATA/num_closids
@@ -0,0 +1 @@
+8
diff --git a/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/manualres/cpus b/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/manualres/cpus
new file mode 100644
index 0000000..ede4cc2
--- /dev/null
+++ b/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/manualres/cpus
@@ -0,0 +1 @@
+000000,00000000,00000000
diff --git a/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/manualres/schemata b/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/manualres/schemata
new file mode 100644
index 0000000..a0ef381
--- /dev/null
+++ b/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/manualres/schemata
@@ -0,0 +1,2 @@
+L3DATA:0=c0000;1=c0000
+L3CODE:0=30000;1=30000
diff --git a/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/manualres/tasks b/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/manualres/tasks
new file mode 100644
index 0000000..e69de29
diff --git a/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/schemata b/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/schemata
new file mode 100644
index 0000000..89dc76b
--- /dev/null
+++ b/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/schemata
@@ -0,0 +1,2 @@
+L3DATA:0=fffff;1=fffff
+L3CODE:0=fffff;1=fffff
diff --git a/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/tasks b/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/tasks
new file mode 100644
index 0000000..e69de29
diff --git a/tests/vircaps2xmldata/linux-resctrl-cdp/system b/tests/vircaps2xmldata/linux-resctrl-cdp/system
new file mode 120000
index 0000000..2f3a1d9
--- /dev/null
+++ b/tests/vircaps2xmldata/linux-resctrl-cdp/system
@@ -0,0 +1 @@
+../linux-resctrl/system/
\ No newline at end of file
diff --git a/tests/vircaps2xmldata/vircaps-x86_64-resctrl-cdp.xml b/tests/vircaps2xmldata/vircaps-x86_64-resctrl-cdp.xml
new file mode 100644
index 0000000..0435d53
--- /dev/null
+++ b/tests/vircaps2xmldata/vircaps-x86_64-resctrl-cdp.xml
@@ -0,0 +1,55 @@
+<capabilities>
+
+ <host>
+ <cpu>
+ <arch>x86_64</arch>
+ </cpu>
+ <power_management/>
+ <migration_features>
+ <live/>
+ </migration_features>
+ <topology>
+ <cells num='2'>
+ <cell id='0'>
+ <memory unit='KiB'>1048576</memory>
+ <pages unit='KiB' size='4'>2048</pages>
+ <pages unit='KiB' size='2048'>4096</pages>
+ <pages unit='KiB' size='1048576'>6144</pages>
+ <cpus num='6'>
+ <cpu id='0' socket_id='0' core_id='0' siblings='0'/>
+ <cpu id='1' socket_id='0' core_id='1' siblings='1'/>
+ <cpu id='2' socket_id='0' core_id='2' siblings='2'/>
+ <cpu id='3' socket_id='0' core_id='3' siblings='3'/>
+ <cpu id='4' socket_id='0' core_id='4' siblings='4'/>
+ <cpu id='5' socket_id='0' core_id='5' siblings='5'/>
+ </cpus>
+ </cell>
+ <cell id='1'>
+ <memory unit='KiB'>2097152</memory>
+ <pages unit='KiB' size='4'>4096</pages>
+ <pages unit='KiB' size='2048'>6144</pages>
+ <pages unit='KiB' size='1048576'>8192</pages>
+ <cpus num='6'>
+ <cpu id='6' socket_id='1' core_id='0' siblings='6'/>
+ <cpu id='7' socket_id='1' core_id='1' siblings='7'/>
+ <cpu id='8' socket_id='1' core_id='2' siblings='8'/>
+ <cpu id='9' socket_id='1' core_id='3' siblings='9'/>
+ <cpu id='10' socket_id='1' core_id='4' siblings='10'/>
+ <cpu id='11' socket_id='1' core_id='5' siblings='11'/>
+ </cpus>
+ </cell>
+ </cells>
+ </topology>
+ <cache>
+ <bank id='0' level='3' type='unified' size='15360' unit='KiB' cpus='0-5'>
+ <control min='768' unit='KiB' scope='code' max_allocation='8'/>
+ <control min='768' unit='KiB' scope='data' max_allocation='8'/>
+ </bank>
+ <bank id='1' level='3' type='unified' size='15360' unit='KiB' cpus='6-11'>
+ <control min='768' unit='KiB' scope='code' max_allocation='8'/>
+ <control min='768' unit='KiB' scope='data' max_allocation='8'/>
+ </bank>
+ </cache>
+ </host>
+
+</capabilities>
diff --git a/tests/vircaps2xmldata/vircaps-x86_64-resctrl.xml b/tests/vircaps2xmldata/vircaps-x86_64-resctrl.xml
index c30ea87..e4a7eca 100644
--- a/tests/vircaps2xmldata/vircaps-x86_64-resctrl.xml
+++ b/tests/vircaps2xmldata/vircaps-x86_64-resctrl.xml
@@ -41,8 +41,12 @@
</cells>
</topology>
<cache>
- <bank id='0' level='3' type='unified' size='15360' unit='KiB' cpus='0-5'/>
- <bank id='1' level='3' type='unified' size='15360' unit='KiB' cpus='6-11'/>
+ <bank id='0' level='3' type='unified' size='15360' unit='KiB' cpus='0-5'>
+ <control min='768' unit='KiB' scope='both' max_allocation='4'/>
+ </bank>
+ <bank id='1' level='3' type='unified' size='15360' unit='KiB' cpus='6-11'>
+ <control min='768' unit='KiB' scope='both' max_allocation='4'/>
+ </bank>
</cache>
</host>
diff --git a/tests/vircaps2xmltest.c b/tests/vircaps2xmltest.c
index f590249..647730b 100644
--- a/tests/vircaps2xmltest.c
+++ b/tests/vircaps2xmltest.c
@@ -47,6 +47,7 @@ test_virCapabilities(const void *opaque)
char *capsXML = NULL;
char *path = NULL;
char *dir = NULL;
+ char *resctrl = NULL;
int ret = -1;
/*
@@ -58,6 +59,11 @@ test_virCapabilities(const void *opaque)
data->resctrl ? "/system" : "") < 0)
goto cleanup;
+ if (virAsprintf(&resctrl, "%s/vircaps2xmldata/linux-%s/resctrl",
+ abs_srcdir, data->filename) < 0)
+ goto cleanup;
+
+ virFileMockAddPrefix("/sys/fs/resctrl", resctrl);
virFileMockAddPrefix("/sys/devices/system", dir);
caps = virCapabilitiesNew(data->arch, data->offlineMigrate, data->liveMigrate);
@@ -84,6 +90,7 @@ test_virCapabilities(const void *opaque)
cleanup:
VIR_FREE(dir);
+ VIR_FREE(resctrl);
VIR_FREE(path);
VIR_FREE(capsXML);
virObjectUnref(caps);
@@ -112,6 +119,7 @@ mymain(void)
DO_TEST("caches", VIR_ARCH_X86_64);
DO_TEST_FULL("resctrl", VIR_ARCH_X86_64, true, true, true);
+ DO_TEST_FULL("resctrl-cdp", VIR_ARCH_X86_64, true, true, true);
return ret;
}
--
1.9.1
7 years, 8 months
[libvirt] [PATCH V4] Expose resource control capabilites on cache bank
by Eli Qiao
This patch is based on Martin's cache branch.
* This patch amends the cache bank capability as follow:
<cache>
<bank id='0' level='3' type='unified' size='15360' unit='KiB' cpus='0-5'>
<control min='768' unit='KiB' scope='BOTH' max_allocation='4'/>
</bank>
<bank id='1' level='3' type='unified' size='15360' unit='KiB' cpus='6-11'>
<control min='768' unit='KiB' scope='BOTH' max_allocation='4'/>
</bank>
</cache>
For CDP enabled on x86 arch, we will have:
<cache>
<bank id='0' level='3' type='unified' size='15360' unit='KiB' cpus='0-5'>
<control min='768' unit='KiB' scope='CODE' max_allocation='4'/>
<control min='768' unit='KiB' scope='DATA' max_allocation='4'/>
</bank>
...
* Added a new testdata directory `linux-resctrl-cdp` to test CDP enabled
case.
* Along with vircaps2xmltest case updated.
P.S. here the scope is from /sys/fs/resctrl/info/L3{"" "CODE" "DATA"}, I
keep it capital upper as I need to use a macro to convert from enum to
string easily.
Signed-off-by: Eli Qiao <liyong.qiao(a)intel.com>
---
docs/schemas/capability.rng | 20 +++
src/conf/capabilities.c | 135 ++++++++++++++++++++-
src/conf/capabilities.h | 26 +++-
.../vircaps2xmldata/linux-resctrl-cdp/resctrl/cpus | 1 +
.../linux-resctrl-cdp/resctrl/info/L3CODE/cbm_mask | 1 +
.../resctrl/info/L3CODE/min_cbm_bits | 1 +
.../resctrl/info/L3CODE/num_closids | 1 +
.../linux-resctrl-cdp/resctrl/info/L3DATA/cbm_mask | 1 +
.../resctrl/info/L3DATA/min_cbm_bits | 1 +
.../resctrl/info/L3DATA/num_closids | 1 +
.../linux-resctrl-cdp/resctrl/manualres/cpus | 1 +
.../linux-resctrl-cdp/resctrl/manualres/schemata | 2 +
.../linux-resctrl-cdp/resctrl/manualres/tasks | 0
.../linux-resctrl-cdp/resctrl/schemata | 2 +
.../linux-resctrl-cdp/resctrl/tasks | 0
tests/vircaps2xmldata/linux-resctrl-cdp/system | 1 +
.../vircaps2xmldata/vircaps-x86_64-resctrl-cdp.xml | 55 +++++++++
tests/vircaps2xmldata/vircaps-x86_64-resctrl.xml | 8 +-
tests/vircaps2xmltest.c | 10 ++
19 files changed, 261 insertions(+), 6 deletions(-)
create mode 100644 tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/cpus
create mode 100755 tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/info/L3CODE/cbm_mask
create mode 100755 tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/info/L3CODE/min_cbm_bits
create mode 100755 tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/info/L3CODE/num_closids
create mode 100755 tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/info/L3DATA/cbm_mask
create mode 100755 tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/info/L3DATA/min_cbm_bits
create mode 100755 tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/info/L3DATA/num_closids
create mode 100644 tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/manualres/cpus
create mode 100644 tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/manualres/schemata
create mode 100644 tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/manualres/tasks
create mode 100644 tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/schemata
create mode 100644 tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/tasks
create mode 120000 tests/vircaps2xmldata/linux-resctrl-cdp/system
create mode 100644 tests/vircaps2xmldata/vircaps-x86_64-resctrl-cdp.xml
diff --git a/docs/schemas/capability.rng b/docs/schemas/capability.rng
index 2080953..bfed4f8 100644
--- a/docs/schemas/capability.rng
+++ b/docs/schemas/capability.rng
@@ -277,6 +277,26 @@
<attribute name='cpus'>
<ref name='cpuset'/>
</attribute>
+ <zeroOrMore>
+ <element name='control'>
+ <attribute name='min'>
+ <ref name='unsignedInt'/>
+ </attribute>
+ <attribute name='unit'>
+ <ref name='unit'/>
+ </attribute>
+ <attribute name='scope'>
+ <choice>
+ <value>BOTH</value>
+ <value>CODE</value>
+ <value>DATA</value>
+ </choice>
+ </attribute>
+ <attribute name='max_allocation'>
+ <ref name='unsignedInt'/>
+ </attribute>
+ </element>
+ </zeroOrMore>
</element>
</oneOrMore>
</element>
diff --git a/src/conf/capabilities.c b/src/conf/capabilities.c
index 416dd1a..c6641d1 100644
--- a/src/conf/capabilities.c
+++ b/src/conf/capabilities.c
@@ -52,6 +52,7 @@
#define VIR_FROM_THIS VIR_FROM_CAPABILITIES
#define SYSFS_SYSTEM_PATH "/sys/devices/system/"
+#define SYSFS_RESCTRL_PATH "/sys/fs/resctrl/"
VIR_LOG_INIT("conf.capabilities")
@@ -873,6 +874,9 @@ virCapabilitiesFormatCaches(virBufferPtr buf,
virCapsHostCacheBankPtr *caches)
{
size_t i = 0;
+ size_t j = 0;
+ int indent = virBufferGetIndent(buf, false);
+ virBuffer controlBuf = VIR_BUFFER_INITIALIZER;
if (!ncaches)
return 0;
@@ -894,13 +898,38 @@ virCapabilitiesFormatCaches(virBufferPtr buf,
*/
virBufferAsprintf(buf,
"<bank id='%u' level='%u' type='%s' "
- "size='%llu' unit='%s' cpus='%s'/>\n",
+ "size='%llu' unit='%s' cpus='%s'",
bank->id, bank->level,
virCacheTypeToString(bank->type),
bank->size >> (kilos * 10),
kilos ? "KiB" : "B",
cpus_str);
+ /* Format control */
+ virBufferAdjustIndent(&controlBuf, indent + 4);
+ for (j = 0; j < bank->ncontrols; j++) {
+ bool min_kilos = !(bank->controls[j]->min % 1024);
+ virBufferAsprintf(&controlBuf,
+ "<control min='%llu' unit='%s' "
+ "scope='%s' max_allocation='%u'/>\n",
+ bank->controls[j]->min >> (min_kilos * 10),
+ min_kilos ? "KiB" : "B",
+ virResctrlCacheTypeToString(bank->controls[j]->scope),
+ bank->controls[j]->max_allocation);
+ }
+
+ /* Put it all together */
+ if (virBufferUse(&controlBuf)) {
+ virBufferAddLit(buf, ">\n");
+ virBufferAddBuffer(buf, &controlBuf);
+ virBufferAddLit(buf, "</bank>\n");
+
+ } else {
+ virBufferAddLit(buf, "/>\n");
+ }
+
+
+ virBufferFreeAndReset(&controlBuf);
VIR_FREE(cpus_str);
}
@@ -1513,13 +1542,101 @@ virCapsHostCacheBankEquals(virCapsHostCacheBankPtr a,
void
virCapsHostCacheBankFree(virCapsHostCacheBankPtr ptr)
{
+ size_t i;
+
if (!ptr)
return;
virBitmapFree(ptr->cpus);
+ for (i = 0; i < ptr->ncontrols; i++)
+ VIR_FREE(ptr->controls[i]);
+ VIR_FREE(ptr->controls);
VIR_FREE(ptr);
}
+VIR_ENUM_IMPL(virResctrlCache, VIR_RESCTRL_CACHE_TYPE_LAST,
+ "BOTH",
+ "CODE",
+ "DATA")
+
+/* test which TYPE of cache control supported
+ * -1: don't support
+ * 0: cat
+ * 1: cdp
+ */
+static int
+virCapabilitiesGetCacheControlType(virCapsHostCacheBankPtr bank)
+{
+ int ret = -1;
+ char *path = NULL;
+ if (virAsprintf(&path,
+ SYSFS_RESCTRL_PATH "info/L%u",
+ bank->level) < 0)
+ return -1;
+
+ if (virFileExists(path)) {
+ ret = 0;
+ } else {
+ VIR_FREE(path);
+ /* for CDP enabled case, CODE and DATA will show together */
+ if (virAsprintf(&path,
+ SYSFS_RESCTRL_PATH "info/L%uCODE",
+ bank->level) < 0)
+ return -1;
+ if (virFileExists(path))
+ ret = 1;
+ }
+
+ VIR_FREE(path);
+ return ret;
+}
+
+static int
+virCapabilitiesGetCacheControl(virCapsHostCacheBankPtr bank,
+ virResctrlCacheType scope)
+{
+ int ret = -1;
+ char *path = NULL;
+ char *cbm_mask = NULL;
+ virCapsHostCacheControlPtr control;
+
+ if (VIR_ALLOC(control) < 0)
+ goto cleanup;
+
+ if (virFileReadValueUint(&control->max_allocation,
+ SYSFS_RESCTRL_PATH "info/L%u%s/num_closids",
+ bank->level,
+ scope ? virResctrlCacheTypeToString(scope) : "") < 0)
+ goto cleanup;
+
+ if (virFileReadValueString(&cbm_mask,
+ SYSFS_RESCTRL_PATH
+ "info/L%u%s/cbm_mask",
+ bank->level,
+ scope ? virResctrlCacheTypeToString(scope) : "") < 0)
+ goto cleanup;
+
+ virStringTrimOptionalNewline(cbm_mask);
+
+ control->min = bank->size / (strlen(cbm_mask) * 4);
+
+ control->scope = scope;
+
+ if (VIR_APPEND_ELEMENT(bank->controls,
+ bank->ncontrols,
+ control) < 0)
+ goto error;
+
+ ret = 0;
+
+ cleanup:
+ VIR_FREE(path);
+ return ret;
+ error:
+ VIR_FREE(control);
+ return -1;
+}
+
int
virCapabilitiesInitCaches(virCapsPtr caps)
{
@@ -1595,7 +1712,21 @@ virCapabilitiesInitCaches(virCapsPtr caps)
pos, ent->d_name) < 0)
goto cleanup;
- if (bank->level < cache_min_level) {
+ ret = virCapabilitiesGetCacheControlType(bank);
+
+ if ((bank->level >= cache_min_level) || (ret >= 0)) {
+ if (ret == 0) {
+ if (virCapabilitiesGetCacheControl(bank,
+ VIR_RESCTRL_CACHE_TYPE_BOTH) < 0)
+ goto cleanup;
+ } else if (ret == 1) {
+ if ((virCapabilitiesGetCacheControl(bank,
+ VIR_RESCTRL_CACHE_TYPE_CODE) < 0) ||
+ (virCapabilitiesGetCacheControl(bank,
+ VIR_RESCTRL_CACHE_TYPE_DATA) < 0))
+ goto cleanup;
+ }
+ } else {
virCapsHostCacheBankFree(bank);
bank = NULL;
continue;
diff --git a/src/conf/capabilities.h b/src/conf/capabilities.h
index e099ccc..5fd3e57 100644
--- a/src/conf/capabilities.h
+++ b/src/conf/capabilities.h
@@ -138,10 +138,30 @@ struct _virCapsHostSecModel {
virCapsHostSecModelLabelPtr labels;
};
+/* the enum value is equal to virCacheType, but we define a new enum
+ as for resctrl it has different statement */
+typedef enum {
+ VIR_RESCTRL_CACHE_TYPE_BOTH,
+ VIR_RESCTRL_CACHE_TYPE_CODE,
+ VIR_RESCTRL_CACHE_TYPE_DATA,
+
+ VIR_RESCTRL_CACHE_TYPE_LAST
+} virResctrlCacheType;
+
+VIR_ENUM_DECL(virResctrlCache);
+
+typedef struct _virCapsHostCacheControl virCapsHostCacheControl;
+typedef virCapsHostCacheControl *virCapsHostCacheControlPtr;
+struct _virCapsHostCacheControl {
+ unsigned long long min; /* B */
+ virResctrlCacheType scope; /* Data, Code or Both */
+ unsigned int max_allocation; /* max number of supported allocations */
+};
+
typedef enum {
- VIR_CACHE_TYPE_DATA,
- VIR_CACHE_TYPE_INSTRUCTION,
VIR_CACHE_TYPE_UNIFIED,
+ VIR_CACHE_TYPE_INSTRUCTION,
+ VIR_CACHE_TYPE_DATA,
VIR_CACHE_TYPE_LAST
} virCacheType;
@@ -156,6 +176,8 @@ struct _virCapsHostCacheBank {
unsigned long long size; /* B */
virCacheType type; /* Data, Instruction or Unified */
virBitmapPtr cpus; /* All CPUs that share this bank */
+ size_t ncontrols;
+ virCapsHostCacheControlPtr *controls;
};
typedef struct _virCapsHost virCapsHost;
diff --git a/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/cpus b/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/cpus
new file mode 100644
index 0000000..b3a79aa
--- /dev/null
+++ b/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/cpus
@@ -0,0 +1 @@
+ffffff,ffffffff,ffffffff
diff --git a/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/info/L3CODE/cbm_mask b/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/info/L3CODE/cbm_mask
new file mode 100755
index 0000000..78031da
--- /dev/null
+++ b/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/info/L3CODE/cbm_mask
@@ -0,0 +1 @@
+fffff
diff --git a/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/info/L3CODE/min_cbm_bits b/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/info/L3CODE/min_cbm_bits
new file mode 100755
index 0000000..d00491f
--- /dev/null
+++ b/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/info/L3CODE/min_cbm_bits
@@ -0,0 +1 @@
+1
diff --git a/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/info/L3CODE/num_closids b/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/info/L3CODE/num_closids
new file mode 100755
index 0000000..45a4fb7
--- /dev/null
+++ b/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/info/L3CODE/num_closids
@@ -0,0 +1 @@
+8
diff --git a/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/info/L3DATA/cbm_mask b/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/info/L3DATA/cbm_mask
new file mode 100755
index 0000000..78031da
--- /dev/null
+++ b/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/info/L3DATA/cbm_mask
@@ -0,0 +1 @@
+fffff
diff --git a/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/info/L3DATA/min_cbm_bits b/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/info/L3DATA/min_cbm_bits
new file mode 100755
index 0000000..d00491f
--- /dev/null
+++ b/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/info/L3DATA/min_cbm_bits
@@ -0,0 +1 @@
+1
diff --git a/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/info/L3DATA/num_closids b/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/info/L3DATA/num_closids
new file mode 100755
index 0000000..45a4fb7
--- /dev/null
+++ b/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/info/L3DATA/num_closids
@@ -0,0 +1 @@
+8
diff --git a/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/manualres/cpus b/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/manualres/cpus
new file mode 100644
index 0000000..ede4cc2
--- /dev/null
+++ b/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/manualres/cpus
@@ -0,0 +1 @@
+000000,00000000,00000000
diff --git a/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/manualres/schemata b/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/manualres/schemata
new file mode 100644
index 0000000..a0ef381
--- /dev/null
+++ b/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/manualres/schemata
@@ -0,0 +1,2 @@
+L3DATA:0=c0000;1=c0000
+L3CODE:0=30000;1=30000
diff --git a/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/manualres/tasks b/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/manualres/tasks
new file mode 100644
index 0000000..e69de29
diff --git a/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/schemata b/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/schemata
new file mode 100644
index 0000000..89dc76b
--- /dev/null
+++ b/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/schemata
@@ -0,0 +1,2 @@
+L3DATA:0=fffff;1=fffff
+L3CODE:0=fffff;1=fffff
diff --git a/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/tasks b/tests/vircaps2xmldata/linux-resctrl-cdp/resctrl/tasks
new file mode 100644
index 0000000..e69de29
diff --git a/tests/vircaps2xmldata/linux-resctrl-cdp/system b/tests/vircaps2xmldata/linux-resctrl-cdp/system
new file mode 120000
index 0000000..2f3a1d9
--- /dev/null
+++ b/tests/vircaps2xmldata/linux-resctrl-cdp/system
@@ -0,0 +1 @@
+../linux-resctrl/system/
\ No newline at end of file
diff --git a/tests/vircaps2xmldata/vircaps-x86_64-resctrl-cdp.xml b/tests/vircaps2xmldata/vircaps-x86_64-resctrl-cdp.xml
new file mode 100644
index 0000000..1242d2e
--- /dev/null
+++ b/tests/vircaps2xmldata/vircaps-x86_64-resctrl-cdp.xml
@@ -0,0 +1,55 @@
+<capabilities>
+
+ <host>
+ <cpu>
+ <arch>x86_64</arch>
+ </cpu>
+ <power_management/>
+ <migration_features>
+ <live/>
+ </migration_features>
+ <topology>
+ <cells num='2'>
+ <cell id='0'>
+ <memory unit='KiB'>1048576</memory>
+ <pages unit='KiB' size='4'>2048</pages>
+ <pages unit='KiB' size='2048'>4096</pages>
+ <pages unit='KiB' size='1048576'>6144</pages>
+ <cpus num='6'>
+ <cpu id='0' socket_id='0' core_id='0' siblings='0'/>
+ <cpu id='1' socket_id='0' core_id='1' siblings='1'/>
+ <cpu id='2' socket_id='0' core_id='2' siblings='2'/>
+ <cpu id='3' socket_id='0' core_id='3' siblings='3'/>
+ <cpu id='4' socket_id='0' core_id='4' siblings='4'/>
+ <cpu id='5' socket_id='0' core_id='5' siblings='5'/>
+ </cpus>
+ </cell>
+ <cell id='1'>
+ <memory unit='KiB'>2097152</memory>
+ <pages unit='KiB' size='4'>4096</pages>
+ <pages unit='KiB' size='2048'>6144</pages>
+ <pages unit='KiB' size='1048576'>8192</pages>
+ <cpus num='6'>
+ <cpu id='6' socket_id='1' core_id='0' siblings='6'/>
+ <cpu id='7' socket_id='1' core_id='1' siblings='7'/>
+ <cpu id='8' socket_id='1' core_id='2' siblings='8'/>
+ <cpu id='9' socket_id='1' core_id='3' siblings='9'/>
+ <cpu id='10' socket_id='1' core_id='4' siblings='10'/>
+ <cpu id='11' socket_id='1' core_id='5' siblings='11'/>
+ </cpus>
+ </cell>
+ </cells>
+ </topology>
+ <cache>
+ <bank id='0' level='3' type='unified' size='15360' unit='KiB' cpus='0-5'>
+ <control min='768' unit='KiB' scope='CODE' max_allocation='8'/>
+ <control min='768' unit='KiB' scope='DATA' max_allocation='8'/>
+ </bank>
+ <bank id='1' level='3' type='unified' size='15360' unit='KiB' cpus='6-11'>
+ <control min='768' unit='KiB' scope='CODE' max_allocation='8'/>
+ <control min='768' unit='KiB' scope='DATA' max_allocation='8'/>
+ </bank>
+ </cache>
+ </host>
+
+</capabilities>
diff --git a/tests/vircaps2xmldata/vircaps-x86_64-resctrl.xml b/tests/vircaps2xmldata/vircaps-x86_64-resctrl.xml
index c30ea87..ad2ca62 100644
--- a/tests/vircaps2xmldata/vircaps-x86_64-resctrl.xml
+++ b/tests/vircaps2xmldata/vircaps-x86_64-resctrl.xml
@@ -41,8 +41,12 @@
</cells>
</topology>
<cache>
- <bank id='0' level='3' type='unified' size='15360' unit='KiB' cpus='0-5'/>
- <bank id='1' level='3' type='unified' size='15360' unit='KiB' cpus='6-11'/>
+ <bank id='0' level='3' type='unified' size='15360' unit='KiB' cpus='0-5'>
+ <control min='768' unit='KiB' scope='BOTH' max_allocation='4'/>
+ </bank>
+ <bank id='1' level='3' type='unified' size='15360' unit='KiB' cpus='6-11'>
+ <control min='768' unit='KiB' scope='BOTH' max_allocation='4'/>
+ </bank>
</cache>
</host>
diff --git a/tests/vircaps2xmltest.c b/tests/vircaps2xmltest.c
index f590249..db7de4c 100644
--- a/tests/vircaps2xmltest.c
+++ b/tests/vircaps2xmltest.c
@@ -47,6 +47,7 @@ test_virCapabilities(const void *opaque)
char *capsXML = NULL;
char *path = NULL;
char *dir = NULL;
+ char *resctrl = NULL;
int ret = -1;
/*
@@ -58,6 +59,13 @@ test_virCapabilities(const void *opaque)
data->resctrl ? "/system" : "") < 0)
goto cleanup;
+ if (virAsprintf(&resctrl, "%s/vircaps2xmldata/linux-%s/resctrl",
+ abs_srcdir,
+ data->resctrl ? data->filename : "foo") < 0)
+ goto cleanup;
+
+
+ virFileMockAddPrefix("/sys/fs/resctrl", resctrl);
virFileMockAddPrefix("/sys/devices/system", dir);
caps = virCapabilitiesNew(data->arch, data->offlineMigrate, data->liveMigrate);
@@ -84,6 +92,7 @@ test_virCapabilities(const void *opaque)
cleanup:
VIR_FREE(dir);
+ VIR_FREE(resctrl);
VIR_FREE(path);
VIR_FREE(capsXML);
virObjectUnref(caps);
@@ -112,6 +121,7 @@ mymain(void)
DO_TEST("caches", VIR_ARCH_X86_64);
DO_TEST_FULL("resctrl", VIR_ARCH_X86_64, true, true, true);
+ DO_TEST_FULL("resctrl-cdp", VIR_ARCH_X86_64, true, true, true);
return ret;
}
--
1.9.1
7 years, 8 months