Re: [libvirt] [Qemu-devel] Qemu migration with vhost-user-blk on top of local storage
by Stefan Hajnoczi
On Wed, Jan 09, 2019 at 06:23:42PM +0800, wuzhouhui wrote:
> Hi everyone,
>
> I'm working qemu with vhost target (e.g. spdk), and I attempt to migrate VM with
> 2 local storages. One local storage is a regular file, e.g. /tmp/c74.qcow2, and
> the other is a malloc bdev that spdk created. This malloc bdev will exported to
> VM via vhost-user-blk. When I execute following command:
>
> virsh migrate --live --persistent --unsafe --undefinesource --copy-storage-all \
> --p2p --auto-converge --verbose --desturi qemu+tcp://<uri>/system vm0
>
> The libvirt reports:
>
> qemu-2.12.1: error: internal error: unable to execute QEMU command \
> 'nbd-server-add': Cannot find device=drive-virtio-disk1 nor \
> node_name=drive-virtio-disk1
Please post your libvirt domain XML.
> Does it means that qemu with spdk on top of local storage don't support migration?
>
> QEMU: 2.12.1
> SPDK: 18.10
vhost-user-blk bypasses the QEMU block layer, so NBD storage migration
at the QEMU level will not work for the vhost-user-blk disk.
Stefan
1 year
[libvirt] [PATCH v3] openvswitch: Add new port VLAN mode "dot1q-tunnel"
by luzhipeng@uniudc.com
From: ZhiPeng Lu <luzhipeng(a)uniudc.com>
Signed-off-by: ZhiPeng Lu <luzhipeng(a)uniudc.com>
---
v1->v2:
1. Fix "make syntax-check" failure
v2->v3:
1. remove other_config when updating vlan
docs/formatnetwork.html.in | 17 +++++++++--------
docs/schemas/networkcommon.rng | 1 +
src/conf/netdev_vlan_conf.c | 2 +-
src/util/virnetdevopenvswitch.c | 7 +++++++
src/util/virnetdevvlan.h | 1 +
5 files changed, 19 insertions(+), 9 deletions(-)
diff --git a/docs/formatnetwork.html.in b/docs/formatnetwork.html.in
index 363a72b..3c1ae62 100644
--- a/docs/formatnetwork.html.in
+++ b/docs/formatnetwork.html.in
@@ -688,16 +688,17 @@
</p>
<p>
For network connections using Open vSwitch it is also possible
- to configure 'native-tagged' and 'native-untagged' VLAN modes
+ to configure 'native-tagged' and 'native-untagged' and 'dot1q-tunnel'
+ VLAN modes.
<span class="since">Since 1.1.0.</span> This is done with the
- optional <code>nativeMode</code> attribute on
- the <code><tag></code> subelement: <code>nativeMode</code>
- may be set to 'tagged' or 'untagged'. The <code>id</code>
- attribute of the <code><tag></code> subelement
- containing <code>nativeMode</code> sets which VLAN is considered
- to be the "native" VLAN for this interface, and
+ optional <code>nativeMode</code> attribute on the
+ <code><tag></code> subelement: <code>nativeMode</code>
+ may be set to 'tagged' or 'untagged' or 'dot1q-tunnel'.
+ The <code>id</code> attribute of the <code><tag></code>
+ subelement containing <code>nativeMode</code> sets which VLAN is
+ considered to be the "native" VLAN for this interface, and
the <code>nativeMode</code> attribute determines whether or not
- traffic for that VLAN will be tagged.
+ traffic for that VLAN will be tagged or QinQ.
</p>
<p>
<code><vlan></code> elements can also be specified in
diff --git a/docs/schemas/networkcommon.rng b/docs/schemas/networkcommon.rng
index 2699555..11c48ff 100644
--- a/docs/schemas/networkcommon.rng
+++ b/docs/schemas/networkcommon.rng
@@ -223,6 +223,7 @@
<choice>
<value>tagged</value>
<value>untagged</value>
+ <value>dot1q-tunnel</value>
</choice>
</attribute>
</optional>
diff --git a/src/conf/netdev_vlan_conf.c b/src/conf/netdev_vlan_conf.c
index dff49c6..79710d9 100644
--- a/src/conf/netdev_vlan_conf.c
+++ b/src/conf/netdev_vlan_conf.c
@@ -29,7 +29,7 @@
#define VIR_FROM_THIS VIR_FROM_NONE
VIR_ENUM_IMPL(virNativeVlanMode, VIR_NATIVE_VLAN_MODE_LAST,
- "default", "tagged", "untagged")
+ "default", "tagged", "untagged", "dot1q-tunnel")
int
virNetDevVlanParse(xmlNodePtr node, xmlXPathContextPtr ctxt, virNetDevVlanPtr def)
diff --git a/src/util/virnetdevopenvswitch.c b/src/util/virnetdevopenvswitch.c
index 8fe06fd..9fec30b 100644
--- a/src/util/virnetdevopenvswitch.c
+++ b/src/util/virnetdevopenvswitch.c
@@ -91,6 +91,11 @@ virNetDevOpenvswitchConstructVlans(virCommandPtr cmd, virNetDevVlanPtr virtVlan)
virCommandAddArg(cmd, "vlan_mode=native-untagged");
virCommandAddArgFormat(cmd, "tag=%d", virtVlan->nativeTag);
break;
+ case VIR_NATIVE_VLAN_MODE_DOT1Q_TUNNEL:
+ virCommandAddArg(cmd, "vlan_mode=dot1q-tunnel");
+ virCommandAddArg(cmd, "other_config:qinq-ethtype=802.1q");
+ virCommandAddArgFormat(cmd, "tag=%d", virtVlan->nativeTag);
+ break;
case VIR_NATIVE_VLAN_MODE_DEFAULT:
default:
break;
@@ -504,6 +509,8 @@ int virNetDevOpenvswitchUpdateVlan(const char *ifname,
"--", "--if-exists", "clear", "Port", ifname, "tag",
"--", "--if-exists", "clear", "Port", ifname, "trunk",
"--", "--if-exists", "clear", "Port", ifname, "vlan_mode",
+ "--", "--if-exists", "remove", "Port", ifname, "other_config",
+ "qinq-ethtype", NULL,
"--", "--if-exists", "set", "Port", ifname, NULL);
if (virNetDevOpenvswitchConstructVlans(cmd, virtVlan) < 0)
diff --git a/src/util/virnetdevvlan.h b/src/util/virnetdevvlan.h
index be85f59..0667f9d 100644
--- a/src/util/virnetdevvlan.h
+++ b/src/util/virnetdevvlan.h
@@ -29,6 +29,7 @@ typedef enum {
VIR_NATIVE_VLAN_MODE_DEFAULT = 0,
VIR_NATIVE_VLAN_MODE_TAGGED,
VIR_NATIVE_VLAN_MODE_UNTAGGED,
+ VIR_NATIVE_VLAN_MODE_DOT1Q_TUNNEL,
VIR_NATIVE_VLAN_MODE_LAST
} virNativeVlanMode;
--
1.8.3.1
1 year
[libvirt] [PATCH] Fix compile error for stable 1.2.9
by Yang hongyang
Seems a backport miss. An extra member is passed to struct
virLXCBasicMountInfo.
Signed-off-by: Yang hongyang <hongyang.yang(a)easystack.cn>
---
src/lxc/lxc_container.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/src/lxc/lxc_container.c b/src/lxc/lxc_container.c
index 28dabec..1c65fa9 100644
--- a/src/lxc/lxc_container.c
+++ b/src/lxc/lxc_container.c
@@ -760,7 +760,7 @@ typedef struct {
static const virLXCBasicMountInfo lxcBasicMounts[] = {
{ "proc", "/proc", "proc", MS_NOSUID|MS_NOEXEC|MS_NODEV, false, false },
- { "/proc/sys", "/proc/sys", NULL, MS_BIND|MS_NOSUID|MS_NOEXEC|MS_NODEV|MS_RDONLY, false, false, false },
+ { "/proc/sys", "/proc/sys", NULL, MS_BIND|MS_NOSUID|MS_NOEXEC|MS_NODEV|MS_RDONLY, false, false },
{ "sysfs", "/sys", "sysfs", MS_NOSUID|MS_NOEXEC|MS_NODEV|MS_RDONLY, false, false },
{ "securityfs", "/sys/kernel/security", "securityfs", MS_NOSUID|MS_NOEXEC|MS_NODEV|MS_RDONLY, true, true },
#if WITH_SELINUX
--
1.7.1
1 year
[libvirt] Supporting vhost-net and macvtap in libvirt for QEMU
by Anthony Liguori
Disclaimer: I am neither an SR-IOV nor a vhost-net expert, but I've CC'd
people that are who can throw tomatoes at me for getting bits wrong :-)
I wanted to start a discussion about supporting vhost-net in libvirt.
vhost-net has not yet been merged into qemu but I expect it will be soon
so it's a good time to start this discussion.
There are two modes worth supporting for vhost-net in libvirt. The
first mode is where vhost-net backs to a tun/tap device. This is
behaves in very much the same way that -net tap behaves in qemu today.
Basically, the difference is that the virtio backend is in the kernel
instead of in qemu so there should be some performance improvement.
Current, libvirt invokes qemu with -net tap,fd=X where X is an already
open fd to a tun/tap device. I suspect that after we merge vhost-net,
libvirt could support vhost-net in this mode by just doing -net
vhost,fd=X. I think the only real question for libvirt is whether to
provide a user visible switch to use vhost or to just always use vhost
when it's available and it makes sense. Personally, I think the later
makes sense.
The more interesting invocation of vhost-net though is one where the
vhost-net device backs directly to a physical network card. In this
mode, vhost should get considerably better performance than the current
implementation. I don't know the syntax yet, but I think it's
reasonable to assume that it will look something like -net
tap,dev=eth0. The effect will be that eth0 is dedicated to the guest.
On most modern systems, there is a small number of network devices so
this model is not all that useful except when dealing with SR-IOV
adapters. In that case, each physical device can be exposed as many
virtual devices (VFs). There are a few restrictions here though. The
biggest is that currently, you can only change the number of VFs by
reloading a kernel module so it's really a parameter that must be set at
startup time.
I think there are a few ways libvirt could support vhost-net in this
second mode. The simplest would be to introduce a new tag similar to
<source network='br0'>. In fact, if you probed the device type for the
network parameter, you could probably do something like <source
network='eth0'> and have it Just Work.
Another model would be to have libvirt see an SR-IOV adapter as a
network pool whereas it handled all of the VF management. Considering
how inflexible SR-IOV is today, I'm not sure whether this is the best model.
Has anyone put any more thought into this problem or how this should be
modeled in libvirt? Michael, could you share your current thinking for
-net syntax?
--
Regards,
Anthony Liguori
1 year
[libvirt PATCH v3 00/16] Add QEMU "-display dbus" support
by marcandre.lureau@redhat.com
From: Marc-André Lureau <marcandre.lureau(a)redhat.com>
Hi,
This series implements supports for the uQEMU "-display dbus" support, that
landed earlier this week for 7.0.
By default, libvirt will start a private VM bus (sharing and reusing the
existing "vmstate" VM bus & code).
The feature set should cover the needs to replace Spice as local client of choice,
including 3daccel/dmabuf, audio, clipboard sharing, usb redirection, and arbitrary
chardev/channels (for serial etc).
The test Gtk4 client is also in progress, currently in development at
https://gitlab.com/marcandre.lureau/qemu-display/. A few dependencies, such as
zbus, require an upcoming release. virt-viewer & boxes will need a port to Gtk4
to make use of the shared widget.
Comments welcome, as we can still adjust the QEMU side etc.
thanks
v3: after QEMU 7.0 dev cycle opening and merge
- rebased
- add 7.0 x86-64 capabilities (instead of tweaking 6.2)
- fix version annotations
Marc-André Lureau (16):
qemu: add chardev-vdagent capability check
qemu: add -display dbus capability check
qemucapabilitiestest: Add x64 test data for the qemu-7.0 development
cycle
conf: add <graphics type='dbus'>
qemu: start the D-Bus daemon for the display
qemu: add -display dbus support
virsh: refactor/split cmdDomDisplay()
virsh: report the D-Bus bus URI for domdisplay
conf: add <audio type='dbus'> support
qemu: add audio type 'dbus'
conf: add dbus <clipboard>
qemu: add dbus clipboard sharing
conf: add <serial type='dbus'>
qemu: add -chardev dbus support
qemu: add usbredir type 'dbus'
docs: document <graphics> type dbus
NEWS.rst | 7 +-
docs/formatdomain.rst | 43 +-
docs/schemas/basictypes.rng | 7 +
docs/schemas/domaincommon.rng | 71 +
src/bhyve/bhyve_command.c | 1 +
src/conf/domain_conf.c | 141 +-
src/conf/domain_conf.h | 15 +
src/conf/domain_validate.c | 41 +-
src/libxl/libxl_conf.c | 1 +
src/qemu/qemu_capabilities.c | 8 +
src/qemu/qemu_capabilities.h | 4 +
src/qemu/qemu_command.c | 77 +-
src/qemu/qemu_domain.c | 1 +
src/qemu/qemu_driver.c | 10 +-
src/qemu/qemu_extdevice.c | 13 +
src/qemu/qemu_hotplug.c | 1 +
src/qemu/qemu_monitor_json.c | 10 +
src/qemu/qemu_process.c | 41 +-
src/qemu/qemu_validate.c | 33 +
src/security/security_dac.c | 2 +
src/vmx/vmx.c | 1 +
.../domaincapsdata/qemu_7.0.0-q35.x86_64.xml | 231 +
.../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 237 +
tests/domaincapsdata/qemu_7.0.0.x86_64.xml | 231 +
.../caps_6.1.0.x86_64.xml | 1 +
.../caps_6.2.0.aarch64.xml | 1 +
.../caps_6.2.0.x86_64.xml | 1 +
.../caps_7.0.0.x86_64.replies | 37335 ++++++++++++++++
.../caps_7.0.0.x86_64.xml | 3720 ++
.../graphics-dbus-address.args | 30 +
.../graphics-dbus-address.xml | 35 +
.../qemuxml2argvdata/graphics-dbus-audio.args | 33 +
.../qemuxml2argvdata/graphics-dbus-audio.xml | 45 +
.../graphics-dbus-chardev.args | 32 +
.../graphics-dbus-chardev.xml | 43 +
.../graphics-dbus-clipboard.args | 31 +
.../graphics-dbus-clipboard.xml | 35 +
tests/qemuxml2argvdata/graphics-dbus-p2p.args | 30 +
tests/qemuxml2argvdata/graphics-dbus-p2p.xml | 33 +
.../graphics-dbus-usbredir.args | 34 +
.../graphics-dbus-usbredir.xml | 30 +
tests/qemuxml2argvdata/graphics-dbus.args | 30 +
tests/qemuxml2argvdata/graphics-dbus.xml | 33 +
tests/qemuxml2argvtest.c | 22 +
.../graphics-dbus-address.xml | 1 +
.../graphics-dbus-audio.xml | 1 +
.../graphics-dbus-chardev.xml | 1 +
.../graphics-dbus-clipboard.xml | 1 +
.../qemuxml2xmloutdata/graphics-dbus-p2p.xml | 1 +
tests/qemuxml2xmloutdata/graphics-dbus.xml | 1 +
tests/qemuxml2xmltest.c | 20 +
tools/virsh-domain.c | 366 +-
52 files changed, 42981 insertions(+), 192 deletions(-)
create mode 100644 tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml
create mode 100644 tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml
create mode 100644 tests/domaincapsdata/qemu_7.0.0.x86_64.xml
create mode 100644 tests/qemucapabilitiesdata/caps_7.0.0.x86_64.replies
create mode 100644 tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml
create mode 100644 tests/qemuxml2argvdata/graphics-dbus-address.args
create mode 100644 tests/qemuxml2argvdata/graphics-dbus-address.xml
create mode 100644 tests/qemuxml2argvdata/graphics-dbus-audio.args
create mode 100644 tests/qemuxml2argvdata/graphics-dbus-audio.xml
create mode 100644 tests/qemuxml2argvdata/graphics-dbus-chardev.args
create mode 100644 tests/qemuxml2argvdata/graphics-dbus-chardev.xml
create mode 100644 tests/qemuxml2argvdata/graphics-dbus-clipboard.args
create mode 100644 tests/qemuxml2argvdata/graphics-dbus-clipboard.xml
create mode 100644 tests/qemuxml2argvdata/graphics-dbus-p2p.args
create mode 100644 tests/qemuxml2argvdata/graphics-dbus-p2p.xml
create mode 100644 tests/qemuxml2argvdata/graphics-dbus-usbredir.args
create mode 100644 tests/qemuxml2argvdata/graphics-dbus-usbredir.xml
create mode 100644 tests/qemuxml2argvdata/graphics-dbus.args
create mode 100644 tests/qemuxml2argvdata/graphics-dbus.xml
create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus-address.xml
create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus-audio.xml
create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus-chardev.xml
create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus-clipboard.xml
create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus-p2p.xml
create mode 120000 tests/qemuxml2xmloutdata/graphics-dbus.xml
--
2.34.1.8.g35151cf07204
2 years, 6 months
[libvirt PATCH 00/10] Cleanup and test more firmware handling scenarios
by Daniel P. Berrangé
There are a mind bending number of possible ways to configure the
firmware with/without NVRAM. Only a small portion are tested and
many error scenarios are silently ignored.
This series attempts to get coverage of every possible XML config
scenario and report explicit errors in all invalid configs.
There is an open question on patch 4. Essentially the use of NVRAM
combined with writable executable feels like an accidental feature
in libvirt that hasn't really been thought through. I'd like to
better define expectations here but there are several possible
strategies and I'm undecided which is best.
Daniel P. Berrangé (10):
qemu: fix bad indentation for qemuDomainNVRAMPathFormat
tests: add explicit test case for pflash loader lacking path
tests: add test case for NVRAM with template
conf: validate NVRAM template usage with R/W loader binary
tests: don't permit NVRAM path when using firmware auto-select
qemu: inline code for filling in per-VM NVRAM path
conf: rename struct field for NVRAM template
conf: switch nvram parsing to use XML node / property helpers
conf: move nvram parsing into virDomainLoaderDefParseXML
conf: stop ignoring <loader>/<nvram> with firmware auto-select
src/conf/domain_conf.c | 121 +++++++++++-------
src/conf/domain_conf.h | 2 +-
src/qemu/qemu_domain.c | 18 +--
src/qemu/qemu_domain.h | 8 +-
src/qemu/qemu_firmware.c | 13 +-
src/qemu/qemu_process.c | 4 +-
tests/qemuxml2argvdata/bios-nvram-no-path.err | 1 +
tests/qemuxml2argvdata/bios-nvram-no-path.xml | 19 +++
...-nvram-rw-template-vars.x86_64-latest.args | 41 ++++++
.../bios-nvram-rw-template-vars.xml | 36 ++++++
.../bios-nvram-rw-template.err | 1 +
.../bios-nvram-rw-template.xml | 36 ++++++
.../bios-nvram-rw-vars.x86_64-latest.args | 41 ++++++
tests/qemuxml2argvdata/bios-nvram-rw-vars.xml | 36 ++++++
.../bios-nvram-template.x86_64-latest.args | 37 ++++++
.../qemuxml2argvdata/bios-nvram-template.xml | 21 +++
tests/qemuxml2argvdata/os-firmware-bios.xml | 1 -
.../os-firmware-efi-bad-loader-path.err | 1 +
.../os-firmware-efi-bad-loader-path.xml | 67 ++++++++++
.../os-firmware-efi-bad-loader-type.err | 1 +
.../os-firmware-efi-bad-loader-type.xml | 67 ++++++++++
.../os-firmware-efi-bad-nvram-path.err | 1 +
.../os-firmware-efi-bad-nvram-path.xml | 68 ++++++++++
.../os-firmware-efi-bad-nvram-template.err | 1 +
.../os-firmware-efi-bad-nvram-template.xml | 68 ++++++++++
.../os-firmware-efi-secboot.xml | 1 -
tests/qemuxml2argvdata/os-firmware-efi.xml | 1 -
tests/qemuxml2argvtest.c | 9 ++
.../os-firmware-bios.x86_64-latest.xml | 1 -
.../os-firmware-efi-secboot.x86_64-latest.xml | 1 -
.../os-firmware-efi.x86_64-latest.xml | 1 -
31 files changed, 647 insertions(+), 77 deletions(-)
create mode 100644 tests/qemuxml2argvdata/bios-nvram-no-path.err
create mode 100644 tests/qemuxml2argvdata/bios-nvram-no-path.xml
create mode 100644 tests/qemuxml2argvdata/bios-nvram-rw-template-vars.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/bios-nvram-rw-template-vars.xml
create mode 100644 tests/qemuxml2argvdata/bios-nvram-rw-template.err
create mode 100644 tests/qemuxml2argvdata/bios-nvram-rw-template.xml
create mode 100644 tests/qemuxml2argvdata/bios-nvram-rw-vars.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/bios-nvram-rw-vars.xml
create mode 100644 tests/qemuxml2argvdata/bios-nvram-template.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/bios-nvram-template.xml
create mode 100644 tests/qemuxml2argvdata/os-firmware-efi-bad-loader-path.err
create mode 100644 tests/qemuxml2argvdata/os-firmware-efi-bad-loader-path.xml
create mode 100644 tests/qemuxml2argvdata/os-firmware-efi-bad-loader-type.err
create mode 100644 tests/qemuxml2argvdata/os-firmware-efi-bad-loader-type.xml
create mode 100644 tests/qemuxml2argvdata/os-firmware-efi-bad-nvram-path.err
create mode 100644 tests/qemuxml2argvdata/os-firmware-efi-bad-nvram-path.xml
create mode 100644 tests/qemuxml2argvdata/os-firmware-efi-bad-nvram-template.err
create mode 100644 tests/qemuxml2argvdata/os-firmware-efi-bad-nvram-template.xml
--
2.34.1
2 years, 6 months
[PATCH for 8.3.0 00/17] qemu: Stop supporting Ubuntu 1804-ancient qemus
by Peter Krempa
As of April 23 2022, Ubuntu 20.04 will be out for two years, which per
our platform support policy means we no longer have to support
Ubuntu 18.04.
The supported platforms thus will have the following qemu versions:
Debian 10/Stable: 3.1
OpenSUSE Leap 15.3: 5.2
Ubuntu 20.04: 4.2
RHEL/Centos 8.4: 4.2
This patchset is targetted to be pushed after the release beginning of
April is out so that it's part of the may release.
Changes to the RFC version I've posted earlier:
- cleanup patches were pushed
- added commit removing Ubuntu 1804 from the CI
- added removal of QEMU_CAPS_STORAGE_WERROR/QEMU_CAPS_USB_STORAGE_WERROR
(noticed while dealing with capability update).
- removed commit message bit mentioning Debian backports
- removed patch dropping monitor waiting code (Michal's patches may
change the expectations. I'll re-visit that commit after this is
pushed).
Note that the patches posted to the list are heavily trimmed, fetch
the full version at:
git fetch https://gitlab.com/pipo.sk/libvirt.git qemu-deprecation
Peter Krempa (17):
ci: Drop Ubuntu 1804
qemuxml2agvtest: Retire tests based on qemu-2.11
qemuxml2agvtest: Retire tests based on qemu-2.12
qemuxml2agvtest: Retire tests based on qemu-3.0
tests: qemucapabilities: Remove qemu-2.11 test data
tests: qemucapabilities: Remove qemu-2.12 test data
tests: qemucapabilities: Remove qemu-3.0 test data
qemu: Formally deprecate support for qemu < 3.1
qemu: capabilities: Remove tautological version checks
qemu: capabilities: Remove probing of QEMU_CAPS_NUMA via
'query-command-line-options'
qemu: Always assume QEMU_CAPS_CHARDEV_FD_PASS_COMMANDLINE
qemu: capabilities: Retire QEMU_CAPS_CHARDEV_FD_PASS_COMMANDLINE
qemu: capabilities: Retire
QEMU_CAPS_QUERY_CPU_MODEL_EXPANSION_MIGRATABLE
qemu: command: Always assume QEMU_CAPS_OVERCOMMIT
qemu: capabilities: Retire QEMU_CAPS_OVERCOMMIT
qemu: Always assume QEMU_CAPS_STORAGE_WERROR
qemu: capabilities: Retire QEMU_CAPS_STORAGE_WERROR and
QEMU_CAPS_USB_STORAGE_WERROR
ci/containers/ubuntu-1804.Dockerfile | 108 -
ci/gitlab.yml | 16 -
ci/manifest.yml | 2 -
docs/drvqemu.rst | 6 +-
src/qemu/qemu_capabilities.c | 41 +-
src/qemu/qemu_capabilities.h | 10 +-
src/qemu/qemu_command.c | 44 +-
src/qemu/qemu_command.h | 3 +-
src/qemu/qemu_hotplug.c | 3 +-
src/qemu/qemu_process.c | 14 +-
.../caps_2.11.0.s390x.replies | 18237 ------------
.../caps_2.11.0.s390x.xml | 2593 --
.../caps_2.11.0.x86_64.replies | 19525 -------------
.../caps_2.11.0.x86_64.xml | 953 -
.../caps_2.12.0.aarch64.replies | 19577 -------------
.../caps_2.12.0.aarch64.xml | 329 -
.../caps_2.12.0.ppc64.replies | 23072 ---------------
.../caps_2.12.0.ppc64.xml | 1069 -
.../caps_2.12.0.s390x.replies | 19937 -------------
.../caps_2.12.0.s390x.xml | 2466 --
.../caps_2.12.0.x86_64.replies | 23003 ---------------
.../caps_2.12.0.x86_64.xml | 1263 -
.../caps_3.0.0.ppc64.replies | 23945 ----------------
.../qemucapabilitiesdata/caps_3.0.0.ppc64.xml | 1073 -
.../caps_3.0.0.riscv32.replies | 14919 ----------
.../caps_3.0.0.riscv32.xml | 87 -
.../caps_3.0.0.riscv64.replies | 14919 ----------
.../caps_3.0.0.riscv64.xml | 87 -
.../caps_3.0.0.s390x.replies | 20683 -------------
.../qemucapabilitiesdata/caps_3.0.0.s390x.xml | 2677 --
.../caps_3.0.0.x86_64.replies | 23719 ---------------
.../caps_3.0.0.x86_64.xml | 1206 -
.../qemucapabilitiesdata/caps_3.1.0.ppc64.xml | 4 -
.../caps_3.1.0.x86_64.xml | 5 -
.../caps_4.0.0.aarch64.xml | 4 -
.../qemucapabilitiesdata/caps_4.0.0.ppc64.xml | 4 -
.../caps_4.0.0.riscv32.xml | 4 -
.../caps_4.0.0.riscv64.xml | 4 -
.../qemucapabilitiesdata/caps_4.0.0.s390x.xml | 3 -
.../caps_4.0.0.x86_64.xml | 5 -
.../caps_4.1.0.x86_64.xml | 5 -
.../caps_4.2.0.aarch64.xml | 4 -
.../qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 4 -
.../qemucapabilitiesdata/caps_4.2.0.s390x.xml | 3 -
.../caps_4.2.0.x86_64.xml | 5 -
.../caps_5.0.0.aarch64.xml | 4 -
.../qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 4 -
.../caps_5.0.0.riscv64.xml | 4 -
.../caps_5.0.0.x86_64.xml | 5 -
.../qemucapabilitiesdata/caps_5.1.0.sparc.xml | 3 -
.../caps_5.1.0.x86_64.xml | 5 -
.../caps_5.2.0.aarch64.xml | 4 -
.../qemucapabilitiesdata/caps_5.2.0.ppc64.xml | 4 -
.../caps_5.2.0.riscv64.xml | 4 -
.../qemucapabilitiesdata/caps_5.2.0.s390x.xml | 3 -
.../caps_5.2.0.x86_64.xml | 5 -
.../caps_6.0.0.aarch64.xml | 4 -
.../qemucapabilitiesdata/caps_6.0.0.s390x.xml | 3 -
.../caps_6.0.0.x86_64.xml | 5 -
.../caps_6.1.0.x86_64.xml | 5 -
.../caps_6.2.0.aarch64.xml | 4 -
.../qemucapabilitiesdata/caps_6.2.0.ppc64.xml | 4 -
.../caps_6.2.0.x86_64.xml | 5 -
.../qemucapabilitiesdata/caps_7.0.0.ppc64.xml | 4 -
.../caps_7.0.0.x86_64.xml | 5 -
tests/qemuhotplugtest.c | 1 -
.../aarch64-aavmf-virtio-mmio.args | 4 +-
tests/qemuxml2argvdata/aarch64-acpi-uefi.args | 4 +-
.../aarch64-cpu-passthrough.args | 4 +-
tests/qemuxml2argvdata/aarch64-gic-host.args | 4 +-
.../aarch64-gic-none-tcg.args | 4 +-
tests/qemuxml2argvdata/aarch64-gic-v2.args | 4 +-
tests/qemuxml2argvdata/aarch64-gic-v3.args | 4 +-
.../aarch64-kvm-32-on-64.args | 4 +-
.../aarch64-noacpi-nouefi.args | 4 +-
.../qemuxml2argvdata/aarch64-noacpi-uefi.args | 4 +-
.../qemuxml2argvdata/aarch64-pci-serial.args | 4 +-
.../aarch64-traditional-pci.args | 4 +-
.../aarch64-usb-controller-nec-xhci.args | 4 +-
.../aarch64-usb-controller-qemu-xhci.args | 4 +-
.../aarch64-video-default.args | 4 +-
.../aarch64-video-virtio-gpu-pci.args | 4 +-
.../aarch64-virt-2.6-virtio-pci-default.args | 4 +-
.../aarch64-virt-default-nic.args | 4 +-
.../qemuxml2argvdata/aarch64-virt-virtio.args | 4 +-
.../aarch64-virtio-pci-default.args | 4 +-
.../aarch64-virtio-pci-manual-addresses.args | 4 +-
tests/qemuxml2argvdata/acpi-table.args | 4 +-
.../arm-vexpressa9-basic.args | 4 +-
.../arm-vexpressa9-nodevs.args | 4 +-
.../arm-vexpressa9-virtio.args | 4 +-
tests/qemuxml2argvdata/arm-virt-virtio.args | 4 +-
tests/qemuxml2argvdata/audio-default-sdl.args | 4 +-
.../qemuxml2argvdata/audio-default-spice.args | 4 +-
tests/qemuxml2argvdata/audio-default-vnc.args | 4 +-
tests/qemuxml2argvdata/autoindex.args | 4 +-
.../qemuxml2argvdata/balloon-ccw-deflate.args | 4 +-
.../qemuxml2argvdata/balloon-device-auto.args | 4 +-
.../balloon-device-deflate-off.args | 4 +-
.../balloon-device-deflate.args | 4 +-
.../balloon-device-period.args | 4 +-
tests/qemuxml2argvdata/balloon-device.args | 4 +-
.../balloon-mmio-deflate.args | 4 +-
tests/qemuxml2argvdata/bios-nvram-secure.args | 4 +-
tests/qemuxml2argvdata/bios-nvram.args | 4 +-
tests/qemuxml2argvdata/bios.args | 4 +-
tests/qemuxml2argvdata/blkiotune-device.args | 4 +-
tests/qemuxml2argvdata/blkiotune.args | 4 +-
tests/qemuxml2argvdata/boot-cdrom.args | 4 +-
tests/qemuxml2argvdata/boot-complex.args | 4 +-
tests/qemuxml2argvdata/boot-floppy-q35.args | 4 +-
tests/qemuxml2argvdata/boot-floppy.args | 4 +-
.../boot-menu-disable-drive.args | 4 +-
tests/qemuxml2argvdata/boot-menu-disable.args | 4 +-
.../boot-menu-enable-with-timeout.args | 4 +-
tests/qemuxml2argvdata/boot-menu-enable.args | 4 +-
tests/qemuxml2argvdata/boot-multi.args | 4 +-
tests/qemuxml2argvdata/boot-network.args | 4 +-
tests/qemuxml2argvdata/boot-order.args | 4 +-
tests/qemuxml2argvdata/channel-guestfwd.args | 4 +-
tests/qemuxml2argvdata/channel-spicevmc.args | 4 +-
.../qemuxml2argvdata/channel-virtio-auto.args | 4 +-
.../channel-virtio-autoadd.args | 4 +-
.../channel-virtio-autoassign.args | 4 +-
.../channel-virtio-default.args | 4 +-
.../channel-virtio-state.args | 4 +-
.../qemuxml2argvdata/channel-virtio-unix.args | 12 +-
tests/qemuxml2argvdata/channel-virtio.args | 4 +-
tests/qemuxml2argvdata/chardev-reconnect.args | 4 +-
tests/qemuxml2argvdata/clock-catchup.args | 4 +-
tests/qemuxml2argvdata/clock-france.args | 4 +-
tests/qemuxml2argvdata/clock-hpet-off.args | 4 +-
.../clock-localtime-basis-localtime.args | 4 +-
tests/qemuxml2argvdata/clock-localtime.args | 4 +-
tests/qemuxml2argvdata/clock-realtime.args | 4 +-
.../clock-timer-hyperv-rtc.args | 4 +-
tests/qemuxml2argvdata/clock-utc.args | 4 +-
tests/qemuxml2argvdata/clock-variable.args | 4 +-
.../qemuxml2argvdata/console-compat-auto.args | 4 +-
.../console-compat-chardev.args | 4 +-
tests/qemuxml2argvdata/console-compat.args | 4 +-
.../qemuxml2argvdata/console-virtio-ccw.args | 4 +-
.../qemuxml2argvdata/console-virtio-many.args | 4 +-
tests/qemuxml2argvdata/console-virtio.args | 4 +-
tests/qemuxml2argvdata/controller-order.args | 4 +-
tests/qemuxml2argvdata/cpu-Haswell-noTSX.args | 4 +-
tests/qemuxml2argvdata/cpu-Haswell.args | 4 +-
tests/qemuxml2argvdata/cpu-Haswell2.args | 4 +-
tests/qemuxml2argvdata/cpu-Haswell3.args | 4 +-
tests/qemuxml2argvdata/cpu-cache-disable.args | 4 +-
.../qemuxml2argvdata/cpu-cache-disable2.args | 4 +-
.../qemuxml2argvdata/cpu-cache-disable3.args | 4 +-
.../cpu-cache-emulate-l3.args | 4 +-
.../cpu-cache-passthrough.args | 4 +-
.../cpu-cache-passthrough2.args | 4 +-
.../cpu-check-default-none.args | 4 +-
.../cpu-check-default-none2.args | 4 +-
.../cpu-check-default-partial.args | 4 +-
.../cpu-check-default-partial2.args | 4 +-
tests/qemuxml2argvdata/cpu-check-none.args | 4 +-
tests/qemuxml2argvdata/cpu-eoi-disabled.args | 4 +-
tests/qemuxml2argvdata/cpu-eoi-enabled.args | 4 +-
tests/qemuxml2argvdata/cpu-exact1.args | 4 +-
.../cpu-exact2-nofallback.args | 4 +-
tests/qemuxml2argvdata/cpu-exact2.args | 4 +-
tests/qemuxml2argvdata/cpu-fallback.args | 4 +-
tests/qemuxml2argvdata/cpu-host-kvmclock.args | 4 +-
.../qemuxml2argvdata/cpu-host-model-cmt.args | 4 +-
.../cpu-host-model-fallback.args | 4 +-
.../cpu-host-model-vendor.args | 4 +-
tests/qemuxml2argvdata/cpu-host-model.args | 4 +-
.../cpu-host-model.x86_64-2.11.0.args | 36 -
.../cpu-host-model.x86_64-2.12.0.args | 36 -
.../cpu-host-model.x86_64-3.0.0.args | 36 -
.../cpu-host-passthrough-features.args | 4 +-
.../cpu-host-passthrough.args | 4 +-
.../qemuxml2argvdata/cpu-hotplug-startup.args | 4 +-
tests/qemuxml2argvdata/cpu-kvmclock.args | 4 +-
tests/qemuxml2argvdata/cpu-minimum1.args | 4 +-
tests/qemuxml2argvdata/cpu-minimum2.args | 4 +-
.../cpu-no-removed-features.args | 4 +-
tests/qemuxml2argvdata/cpu-numa-disjoint.args | 4 +-
.../qemuxml2argvdata/cpu-numa-memshared.args | 4 +-
.../cpu-numa-no-memory-element.args | 4 +-
tests/qemuxml2argvdata/cpu-numa1.args | 4 +-
tests/qemuxml2argvdata/cpu-numa2.args | 4 +-
tests/qemuxml2argvdata/cpu-s390-features.args | 4 +-
tests/qemuxml2argvdata/cpu-s390-zEC12.args | 4 +-
tests/qemuxml2argvdata/cpu-strict1.args | 4 +-
tests/qemuxml2argvdata/cpu-topology1.args | 4 +-
tests/qemuxml2argvdata/cpu-topology2.args | 4 +-
tests/qemuxml2argvdata/cpu-topology3.args | 4 +-
tests/qemuxml2argvdata/cpu-tsc-frequency.args | 4 +-
tests/qemuxml2argvdata/cputune-numatune.args | 4 +-
.../qemuxml2argvdata/cputune-zero-shares.args | 4 +-
tests/qemuxml2argvdata/cputune.args | 4 +-
.../default-kvm-host-arch.args | 4 +-
.../default-qemu-host-arch.args | 4 +-
.../disk-error-policy-s390x.s390x-2.12.0.args | 35 -
.../disk-error-policy.x86_64-2.12.0.args | 37 -
.../fd-memory-no-numa-topology.args | 4 +-
.../fd-memory-numa-topology.args | 4 +-
.../fd-memory-numa-topology2.args | 4 +-
.../fd-memory-numa-topology3.args | 4 +-
.../graphics-egl-headless.args | 4 +-
.../graphics-sdl-fullscreen.args | 4 +-
tests/qemuxml2argvdata/graphics-sdl.args | 4 +-
...ics-vnc-auto-socket-cfg.x86_64-2.11.0.args | 34 -
...raphics-vnc-auto-socket.x86_64-2.11.0.args | 32 -
...aphics-vnc-egl-headless.x86_64-2.11.0.args | 35 -
...hics-vnc-no-listen-attr.x86_64-2.11.0.args | 34 -
.../graphics-vnc-none.x86_64-2.11.0.args | 32 -
.../graphics-vnc-policy.x86_64-2.11.0.args | 34 -
...remove-generated-socket.x86_64-2.11.0.args | 34 -
.../graphics-vnc-sasl.x86_64-2.11.0.args | 35 -
...-vnc-socket-new-cmdline.x86_64-2.11.0.args | 32 -
.../graphics-vnc-socket.x86_64-2.11.0.args | 32 -
.../graphics-vnc-tls.x86_64-2.11.0.args | 34 -
.../graphics-vnc-websocket.x86_64-2.11.0.args | 32 -
.../graphics-vnc.x86_64-2.11.0.args | 34 -
.../hostdev-mdev-precreated.args | 4 +-
.../hostdev-pci-address-device.args | 4 +-
.../hostdev-pci-address-unassigned.args | 4 +-
.../qemuxml2argvdata/hostdev-pci-address.args | 4 +-
.../hostdev-pci-multifunction.args | 4 +-
.../hostdev-scsi-vhost-scsi-ccw.args | 4 +-
.../hostdev-scsi-vhost-scsi-pci.args | 4 +-
.../hostdev-scsi-vhost-scsi-pcie.args | 4 +-
.../hostdev-subsys-mdev-vfio-ccw.args | 4 +-
.../hostdev-usb-address-device-boot.args | 4 +-
.../hostdev-usb-address-device.args | 4 +-
.../qemuxml2argvdata/hostdev-usb-address.args | 4 +-
.../hostdev-vfio-multidomain.args | 4 +-
.../hostdev-vfio-zpci-autogenerate-fids.args | 4 +-
.../hostdev-vfio-zpci-autogenerate-uids.args | 4 +-
.../hostdev-vfio-zpci-autogenerate.args | 4 +-
.../hostdev-vfio-zpci-boundaries.args | 4 +-
.../hostdev-vfio-zpci-ccw-memballoon.args | 4 +-
.../hostdev-vfio-zpci-multidomain-many.args | 4 +-
tests/qemuxml2argvdata/hostdev-vfio-zpci.args | 4 +-
tests/qemuxml2argvdata/hostdev-vfio.args | 4 +-
tests/qemuxml2argvdata/hotplug-base.args | 4 +-
.../hugepages-default-2M.args | 4 +-
.../hugepages-default-system-size.args | 4 +-
tests/qemuxml2argvdata/hugepages-default.args | 4 +-
.../qemuxml2argvdata/hugepages-memaccess.args | 4 +-
.../hugepages-memaccess2.args | 4 +-
tests/qemuxml2argvdata/hugepages-nodeset.args | 4 +-
.../hugepages-numa-default-2M.args | 4 +-
.../hugepages-numa-default-dimm.args | 4 +-
.../hugepages-numa-default.args | 4 +-
.../hugepages-numa-nodeset-part.args | 4 +-
.../hugepages-numa-nodeset.args | 4 +-
tests/qemuxml2argvdata/hugepages-shared.args | 4 +-
.../hvf-aarch64-virt-headless.args | 6 +-
.../hvf-x86_64-q35-headless.args | 6 +-
.../qemuxml2argvdata/input-usbmouse-addr.args | 4 +-
tests/qemuxml2argvdata/input-usbmouse.args | 4 +-
tests/qemuxml2argvdata/input-usbtablet.args | 4 +-
tests/qemuxml2argvdata/input-virtio-ccw.args | 4 +-
.../iothreads-disk-virtio-ccw.args | 4 +-
tests/qemuxml2argvdata/iothreads-disk.args | 4 +-
.../iothreads-ids-partial.args | 4 +-
tests/qemuxml2argvdata/iothreads-ids.args | 4 +-
tests/qemuxml2argvdata/iothreads.args | 4 +-
tests/qemuxml2argvdata/kvm-features-off.args | 4 +-
tests/qemuxml2argvdata/kvm-features.args | 4 +-
tests/qemuxml2argvdata/kvm-pit-delay.args | 4 +-
tests/qemuxml2argvdata/kvm-pit-discard.args | 4 +-
tests/qemuxml2argvdata/kvmclock.args | 4 +-
...v-missing-platform-info.x86_64-2.12.0.args | 34 -
.../launch-security-sev.x86_64-2.12.0.args | 34 -
.../mach-virt-console-virtio.args | 4 +-
.../mach-virt-serial-native.args | 4 +-
.../mach-virt-serial-pci.args | 4 +-
.../mach-virt-serial-usb.args | 4 +-
.../machine-aeskeywrap-off-cap.args | 4 +-
.../machine-aeskeywrap-off-caps.args | 4 +-
.../machine-aeskeywrap-on-cap.args | 4 +-
.../machine-aeskeywrap-on-caps.args | 4 +-
tests/qemuxml2argvdata/machine-aliases1.args | 4 +-
tests/qemuxml2argvdata/machine-aliases2.args | 4 +-
tests/qemuxml2argvdata/machine-core-off.args | 4 +-
tests/qemuxml2argvdata/machine-core-on.args | 4 +-
.../machine-deakeywrap-off-cap.args | 4 +-
.../machine-deakeywrap-off-caps.args | 4 +-
.../machine-deakeywrap-on-cap.args | 4 +-
.../machine-deakeywrap-on-caps.args | 4 +-
.../machine-keywrap-none-caps.args | 4 +-
.../machine-keywrap-none.args | 4 +-
...ine-loadparm-multiple-disks-nets-s390.args | 4 +-
.../machine-loadparm-net-s390.args | 4 +-
.../machine-loadparm-s390.args | 4 +-
tests/qemuxml2argvdata/machine-smm-opt.args | 4 +-
.../qemuxml2argvdata/machine-vmport-opt.args | 4 +-
tests/qemuxml2argvdata/master-key.args | 4 +-
.../memory-hotplug-dimm-addr.args | 4 +-
.../qemuxml2argvdata/memory-hotplug-dimm.args | 4 +-
...emory-hotplug-nvdimm-ppc64-abi-update.args | 4 +-
.../memory-hotplug-nvdimm-ppc64.args | 4 +-
...emory-hotplug-ppc64-nonuma-abi-update.args | 4 +-
.../memory-hotplug-ppc64-nonuma.args | 4 +-
tests/qemuxml2argvdata/memory-hotplug.args | 4 +-
tests/qemuxml2argvdata/memtune-unlimited.args | 4 +-
tests/qemuxml2argvdata/memtune.args | 4 +-
.../migrate-numa-unaligned.args | 4 +-
tests/qemuxml2argvdata/migrate.args | 4 +-
tests/qemuxml2argvdata/minimal.args | 4 +-
tests/qemuxml2argvdata/misc-acpi.args | 4 +-
tests/qemuxml2argvdata/misc-disable-s3.args | 4 +-
.../misc-disable-suspends.args | 4 +-
tests/qemuxml2argvdata/misc-enable-s4.args | 4 +-
tests/qemuxml2argvdata/misc-uuid.args | 4 +-
.../mlock-off.x86_64-3.0.0.args | 31 -
.../mlock-on.x86_64-3.0.0.args | 31 -
tests/qemuxml2argvdata/monitor-json.args | 4 +-
.../multifunction-pci-device.args | 4 +-
.../name-escape.x86_64-2.11.0.args | 48 -
tests/qemuxml2argvdata/net-client.args | 4 +-
tests/qemuxml2argvdata/net-eth-hostip.args | 4 +-
tests/qemuxml2argvdata/net-eth-ifname.args | 4 +-
tests/qemuxml2argvdata/net-eth-names.args | 4 +-
.../net-eth-unmanaged-tap.args | 4 +-
tests/qemuxml2argvdata/net-eth.args | 4 +-
.../net-hostdev-bootorder.args | 4 +-
.../net-hostdev-multidomain.args | 4 +-
.../net-hostdev-vfio-multidomain.args | 4 +-
tests/qemuxml2argvdata/net-hostdev-vfio.args | 4 +-
tests/qemuxml2argvdata/net-hostdev.args | 4 +-
tests/qemuxml2argvdata/net-many-models.args | 4 +-
tests/qemuxml2argvdata/net-mcast.args | 4 +-
tests/qemuxml2argvdata/net-server.args | 4 +-
tests/qemuxml2argvdata/net-udp.args | 4 +-
tests/qemuxml2argvdata/net-user-addr.args | 4 +-
tests/qemuxml2argvdata/net-user.args | 4 +-
.../net-vhostuser-multiq.args | 4 +-
tests/qemuxml2argvdata/net-vhostuser.args | 2 +-
tests/qemuxml2argvdata/net-virtio-ccw.args | 4 +-
tests/qemuxml2argvdata/net-virtio-device.args | 4 +-
.../net-virtio-disable-offloads.args | 4 +-
tests/qemuxml2argvdata/net-virtio-netdev.args | 4 +-
.../net-virtio-rxtxqueuesize.args | 4 +-
.../net-virtio-teaming-hostdev.args | 4 +-
.../qemuxml2argvdata/net-virtio-teaming.args | 4 +-
tests/qemuxml2argvdata/net-virtio.args | 4 +-
tests/qemuxml2argvdata/nosharepages.args | 4 +-
.../numad-auto-memory-vcpu-cpuset.args | 4 +-
...o-memory-vcpu-no-cpuset-and-placement.args | 4 +-
.../numad-auto-vcpu-static-numatune.args | 4 +-
.../numad-static-memory-auto-vcpu.args | 4 +-
tests/qemuxml2argvdata/numad.args | 4 +-
.../numatune-auto-nodeset-invalid.args | 4 +-
.../numatune-auto-prefer.args | 4 +-
.../qemuxml2argvdata/numatune-distances.args | 4 +-
.../numatune-memnode-no-memory.args | 4 +-
tests/qemuxml2argvdata/numatune-memnode.args | 4 +-
tests/qemuxml2argvdata/numatune-memory.args | 4 +-
tests/qemuxml2argvdata/numatune-no-vcpu.args | 4 +-
.../qemuxml2argvdata/pages-dimm-discard.args | 4 +-
.../pages-discard-hugepages.args | 4 +-
tests/qemuxml2argvdata/pages-discard.args | 4 +-
.../parallel-parport-chardev.args | 4 +-
.../parallel-tcp-chardev.args | 4 +-
tests/qemuxml2argvdata/pci-autoadd-addr.args | 4 +-
tests/qemuxml2argvdata/pci-autoadd-idx.args | 4 +-
tests/qemuxml2argvdata/pci-autofill-addr.args | 4 +-
.../pci-bridge-many-disks.args | 4 +-
tests/qemuxml2argvdata/pci-bridge.args | 4 +-
tests/qemuxml2argvdata/pci-expander-bus.args | 4 +-
tests/qemuxml2argvdata/pci-many.args | 4 +-
tests/qemuxml2argvdata/pci-rom-disabled.args | 4 +-
tests/qemuxml2argvdata/pci-rom.args | 4 +-
.../pci-serial-dev-chardev.args | 4 +-
tests/qemuxml2argvdata/pcie-expander-bus.args | 4 +-
.../pcie-root-port-model-generic.args | 4 +-
.../pcie-root-port-model-ioh3420.args | 4 +-
tests/qemuxml2argvdata/pcie-root-port.args | 4 +-
tests/qemuxml2argvdata/pcie-root.args | 4 +-
.../pcie-switch-downstream-port.args | 4 +-
.../pcie-switch-upstream-port.args | 4 +-
tests/qemuxml2argvdata/pcihole64-q35.args | 4 +-
tests/qemuxml2argvdata/pcihole64.args | 4 +-
tests/qemuxml2argvdata/pmu-feature-off.args | 4 +-
tests/qemuxml2argvdata/pmu-feature.args | 4 +-
tests/qemuxml2argvdata/ppc-dtb.args | 4 +-
.../ppc64-usb-controller-legacy.args | 4 +-
.../ppc64-usb-controller-qemu-xhci.args | 4 +-
.../ppc64-usb-controller.args | 4 +-
tests/qemuxml2argvdata/ppce500-serial.args | 4 +-
tests/qemuxml2argvdata/pseries-basic.args | 4 +-
.../pseries-console-virtio.args | 4 +-
.../pseries-cpu-compat-power9.args | 4 +-
.../qemuxml2argvdata/pseries-cpu-compat.args | 4 +-
tests/qemuxml2argvdata/pseries-cpu-exact.args | 4 +-
tests/qemuxml2argvdata/pseries-cpu-le.args | 4 +-
tests/qemuxml2argvdata/pseries-features.args | 4 +-
.../qemuxml2argvdata/pseries-hostdevs-1.args | 4 +-
.../qemuxml2argvdata/pseries-hostdevs-2.args | 4 +-
.../qemuxml2argvdata/pseries-hostdevs-3.args | 4 +-
.../pseries-machine-max-cpu-compat.args | 4 +-
.../pseries-many-buses-1.args | 4 +-
.../pseries-many-buses-2.args | 4 +-
.../pseries-many-devices.args | 4 +-
tests/qemuxml2argvdata/pseries-nvram.args | 4 +-
.../pseries-panic-missing.args | 4 +-
.../pseries-panic-no-address.args | 4 +-
.../pseries-phb-default-missing.args | 4 +-
.../pseries-phb-numa-node.args | 4 +-
.../qemuxml2argvdata/pseries-phb-simple.args | 4 +-
.../pseries-serial-native.args | 4 +-
.../qemuxml2argvdata/pseries-serial-pci.args | 4 +-
.../qemuxml2argvdata/pseries-serial-usb.args | 4 +-
.../qemuxml2argvdata/pseries-usb-default.args | 4 +-
tests/qemuxml2argvdata/pseries-usb-kbd.args | 4 +-
tests/qemuxml2argvdata/pseries-usb-multi.args | 4 +-
.../pseries-vio-user-assigned.args | 4 +-
tests/qemuxml2argvdata/pseries-vio.args | 4 +-
tests/qemuxml2argvdata/q35-acpi-nouefi.args | 4 +-
tests/qemuxml2argvdata/q35-acpi-uefi.args | 4 +-
.../q35-default-devices-only.args | 4 +-
tests/qemuxml2argvdata/q35-multifunction.args | 4 +-
tests/qemuxml2argvdata/q35-noacpi-nouefi.args | 4 +-
.../q35-pci-force-address.args | 4 +-
tests/qemuxml2argvdata/q35-pcie-autoadd.args | 4 +-
tests/qemuxml2argvdata/q35-pcie.args | 4 +-
.../q35-pm-disable-fallback.args | 4 +-
tests/qemuxml2argvdata/q35-pm-disable.args | 4 +-
tests/qemuxml2argvdata/q35-usb2-multi.args | 4 +-
tests/qemuxml2argvdata/q35-usb2-reorder.args | 4 +-
tests/qemuxml2argvdata/q35-usb2.args | 4 +-
.../q35-virt-manager-basic.args | 6 +-
tests/qemuxml2argvdata/q35-virtio-pci.args | 4 +-
tests/qemuxml2argvdata/q35.args | 4 +-
tests/qemuxml2argvdata/qemu-ns-alt.args | 4 +-
.../qemu-ns-commandline-ns0.args | 4 +-
.../qemu-ns-commandline-ns1.args | 4 +-
.../qemuxml2argvdata/qemu-ns-commandline.args | 4 +-
.../qemu-ns-domain-commandline-ns0.args | 4 +-
.../qemu-ns-domain-commandline.args | 4 +-
.../qemuxml2argvdata/qemu-ns-domain-ns0.args | 4 +-
tests/qemuxml2argvdata/qemu-ns-no-env.args | 4 +-
.../reboot-timeout-disabled.args | 4 +-
.../reboot-timeout-enabled.args | 4 +-
tests/qemuxml2argvdata/restore-v2-fd.args | 4 +-
tests/qemuxml2argvdata/restore-v2.args | 4 +-
tests/qemuxml2argvdata/riscv64-virt-pci.args | 4 +-
tests/qemuxml2argvdata/riscv64-virt.args | 4 +-
.../qemuxml2argvdata/s390-panic-missing.args | 4 +-
.../s390-panic-no-address.args | 4 +-
tests/qemuxml2argvdata/s390-serial-2.args | 4 +-
.../qemuxml2argvdata/s390-serial-console.args | 4 +-
tests/qemuxml2argvdata/s390-serial.args | 4 +-
tests/qemuxml2argvdata/seclabel-dac-none.args | 4 +-
.../seclabel-dynamic-baselabel.args | 4 +-
.../seclabel-dynamic-labelskip.args | 4 +-
.../seclabel-dynamic-override.args | 4 +-
.../seclabel-dynamic-relabel.args | 4 +-
tests/qemuxml2argvdata/seclabel-dynamic.args | 4 +-
tests/qemuxml2argvdata/seclabel-none.args | 4 +-
.../seclabel-static-labelskip.args | 4 +-
.../seclabel-static-relabel.args | 4 +-
tests/qemuxml2argvdata/seclabel-static.args | 4 +-
.../serial-dev-chardev-iobase.args | 4 +-
.../qemuxml2argvdata/serial-dev-chardev.args | 4 +-
.../qemuxml2argvdata/serial-file-chardev.args | 4 +-
tests/qemuxml2argvdata/serial-file-log.args | 4 +-
.../qemuxml2argvdata/serial-many-chardev.args | 4 +-
.../qemuxml2argvdata/serial-pty-chardev.args | 4 +-
.../serial-spiceport-nospice.args | 4 +-
tests/qemuxml2argvdata/serial-spiceport.args | 4 +-
.../qemuxml2argvdata/serial-tcp-chardev.args | 4 +-
.../serial-tcp-telnet-chardev.args | 4 +-
.../serial-tcp-tlsx509-chardev-notls.args | 4 +-
.../serial-tcp-tlsx509-chardev-verify.args | 4 +-
.../serial-tcp-tlsx509-chardev.args | 4 +-
.../serial-tcp-tlsx509-secret-chardev.args | 4 +-
.../qemuxml2argvdata/serial-udp-chardev.args | 4 +-
.../qemuxml2argvdata/serial-unix-chardev.args | 6 +-
tests/qemuxml2argvdata/serial-vc-chardev.args | 4 +-
.../shmem-plain-doorbell.args | 4 +-
tests/qemuxml2argvdata/shmem.args | 4 +-
.../smartcard-controller.args | 4 +-
.../smartcard-host-certificates-database.args | 4 +-
.../smartcard-host-certificates.args | 4 +-
tests/qemuxml2argvdata/smartcard-host.args | 4 +-
.../smartcard-passthrough-spicevmc.args | 4 +-
.../smartcard-passthrough-tcp.args | 4 +-
tests/qemuxml2argvdata/smbios-type-fwcfg.args | 4 +-
tests/qemuxml2argvdata/smbios.args | 4 +-
tests/qemuxml2argvdata/smp-dies.args | 4 +-
tests/qemuxml2argvdata/smp.args | 4 +-
tests/qemuxml2argvdata/sound-device.args | 4 +-
tests/qemuxml2argvdata/sound.args | 4 +-
tests/qemuxml2argvdata/sparc-minimal.args | 4 +-
.../usb-controller-default-q35.args | 4 +-
.../usb-controller-explicit-q35.args | 4 +-
.../usb-controller-qemu-xhci.args | 4 +-
.../qemuxml2argvdata/usb-controller-xhci.args | 4 +-
tests/qemuxml2argvdata/usb-controller.args | 4 +-
.../usb-hub-autoadd-deluxe.args | 4 +-
tests/qemuxml2argvdata/usb-hub-autoadd.args | 4 +-
tests/qemuxml2argvdata/usb-hub.args | 4 +-
.../qemuxml2argvdata/usb-ich9-autoassign.args | 4 +-
.../qemuxml2argvdata/usb-ich9-companion.args | 4 +-
.../qemuxml2argvdata/usb-ich9-ehci-addr.args | 4 +-
.../qemuxml2argvdata/usb-long-port-path.args | 4 +-
tests/qemuxml2argvdata/usb-none.args | 4 +-
.../usb-piix3-controller.args | 4 +-
.../qemuxml2argvdata/usb-port-autoassign.args | 4 +-
tests/qemuxml2argvdata/usb-port-missing.args | 4 +-
tests/qemuxml2argvdata/usb-ports.args | 4 +-
tests/qemuxml2argvdata/usb-redir-boot.args | 4 +-
.../usb-redir-filter-version.args | 4 +-
tests/qemuxml2argvdata/usb-redir-filter.args | 4 +-
tests/qemuxml2argvdata/usb-redir.args | 4 +-
.../qemuxml2argvdata/usb-xhci-autoassign.args | 4 +-
tests/qemuxml2argvdata/usb1-usb2.args | 4 +-
tests/qemuxml2argvdata/user-aliases-usb.args | 4 +-
tests/qemuxml2argvdata/user-aliases.args | 6 +-
.../vcpu-placement-static.args | 4 +-
.../video-device-pciaddr-default.args | 4 +-
tests/qemuxml2argvdata/video-none-device.args | 4 +-
.../video-qxl-device-vgamem.args | 4 +-
tests/qemuxml2argvdata/video-qxl-device.args | 4 +-
tests/qemuxml2argvdata/video-qxl-heads.args | 4 +-
tests/qemuxml2argvdata/video-qxl-noheads.args | 4 +-
.../video-qxl-resolution.args | 4 +-
.../video-qxl-sec-device-vgamem.args | 4 +-
.../video-qxl-sec-device.args | 4 +-
.../video-vga-device-vgamem.args | 4 +-
tests/qemuxml2argvdata/video-vga-device.args | 4 +-
.../qemuxml2argvdata/video-vga-qxl-heads.args | 4 +-
.../video-virtio-gpu-ccw.args | 4 +-
.../video-virtio-gpu-device.args | 4 +-
.../video-virtio-gpu-sdl-gl.args | 4 +-
.../video-virtio-gpu-secondary.args | 4 +-
.../video-virtio-gpu-spice-gl.args | 4 +-
.../video-virtio-gpu-virgl.args | 4 +-
tests/qemuxml2argvdata/video-virtio-vga.args | 4 +-
.../virtio-input-passthrough.args | 4 +-
tests/qemuxml2argvdata/virtio-input.args | 4 +-
tests/qemuxml2argvdata/virtio-rng-ccw.args | 4 +-
.../qemuxml2argvdata/virtio-rng-default.args | 4 +-
tests/qemuxml2argvdata/virtio-rng-egd.args | 4 +-
.../qemuxml2argvdata/virtio-rng-multiple.args | 4 +-
tests/qemuxml2argvdata/virtio-rng-random.args | 4 +-
tests/qemuxml2argvdata/vmcoreinfo.args | 4 +-
tests/qemuxml2argvtest.c | 28 +-
tests/testutilsqemu.c | 3 +-
549 files changed, 956 insertions(+), 237440 deletions(-)
delete mode 100644 ci/containers/ubuntu-1804.Dockerfile
delete mode 100644 tests/qemucapabilitiesdata/caps_2.11.0.s390x.replies
delete mode 100644 tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml
delete mode 100644 tests/qemucapabilitiesdata/caps_2.11.0.x86_64.replies
delete mode 100644 tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml
delete mode 100644 tests/qemucapabilitiesdata/caps_2.12.0.aarch64.replies
delete mode 100644 tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml
delete mode 100644 tests/qemucapabilitiesdata/caps_2.12.0.ppc64.replies
delete mode 100644 tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml
delete mode 100644 tests/qemucapabilitiesdata/caps_2.12.0.s390x.replies
delete mode 100644 tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml
delete mode 100644 tests/qemucapabilitiesdata/caps_2.12.0.x86_64.replies
delete mode 100644 tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml
delete mode 100644 tests/qemucapabilitiesdata/caps_3.0.0.ppc64.replies
delete mode 100644 tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml
delete mode 100644 tests/qemucapabilitiesdata/caps_3.0.0.riscv32.replies
delete mode 100644 tests/qemucapabilitiesdata/caps_3.0.0.riscv32.xml
delete mode 100644 tests/qemucapabilitiesdata/caps_3.0.0.riscv64.replies
delete mode 100644 tests/qemucapabilitiesdata/caps_3.0.0.riscv64.xml
delete mode 100644 tests/qemucapabilitiesdata/caps_3.0.0.s390x.replies
delete mode 100644 tests/qemucapabilitiesdata/caps_3.0.0.s390x.xml
delete mode 100644 tests/qemucapabilitiesdata/caps_3.0.0.x86_64.replies
delete mode 100644 tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml
delete mode 100644 tests/qemuxml2argvdata/cpu-host-model.x86_64-2.11.0.args
delete mode 100644 tests/qemuxml2argvdata/cpu-host-model.x86_64-2.12.0.args
delete mode 100644 tests/qemuxml2argvdata/cpu-host-model.x86_64-3.0.0.args
delete mode 100644 tests/qemuxml2argvdata/disk-error-policy-s390x.s390x-2.12.0.args
delete mode 100644 tests/qemuxml2argvdata/disk-error-policy.x86_64-2.12.0.args
delete mode 100644 tests/qemuxml2argvdata/graphics-vnc-auto-socket-cfg.x86_64-2.11.0.args
delete mode 100644 tests/qemuxml2argvdata/graphics-vnc-auto-socket.x86_64-2.11.0.args
delete mode 100644 tests/qemuxml2argvdata/graphics-vnc-egl-headless.x86_64-2.11.0.args
delete mode 100644 tests/qemuxml2argvdata/graphics-vnc-no-listen-attr.x86_64-2.11.0.args
delete mode 100644 tests/qemuxml2argvdata/graphics-vnc-none.x86_64-2.11.0.args
delete mode 100644 tests/qemuxml2argvdata/graphics-vnc-policy.x86_64-2.11.0.args
delete mode 100644 tests/qemuxml2argvdata/graphics-vnc-remove-generated-socket.x86_64-2.11.0.args
delete mode 100644 tests/qemuxml2argvdata/graphics-vnc-sasl.x86_64-2.11.0.args
delete mode 100644 tests/qemuxml2argvdata/graphics-vnc-socket-new-cmdline.x86_64-2.11.0.args
delete mode 100644 tests/qemuxml2argvdata/graphics-vnc-socket.x86_64-2.11.0.args
delete mode 100644 tests/qemuxml2argvdata/graphics-vnc-tls.x86_64-2.11.0.args
delete mode 100644 tests/qemuxml2argvdata/graphics-vnc-websocket.x86_64-2.11.0.args
delete mode 100644 tests/qemuxml2argvdata/graphics-vnc.x86_64-2.11.0.args
delete mode 100644 tests/qemuxml2argvdata/launch-security-sev-missing-platform-info.x86_64-2.12.0.args
delete mode 100644 tests/qemuxml2argvdata/launch-security-sev.x86_64-2.12.0.args
delete mode 100644 tests/qemuxml2argvdata/mlock-off.x86_64-3.0.0.args
delete mode 100644 tests/qemuxml2argvdata/mlock-on.x86_64-3.0.0.args
delete mode 100644 tests/qemuxml2argvdata/name-escape.x86_64-2.11.0.args
--
2.34.1
2 years, 7 months
[libvirt PATCH] drivers: Group global feature together
by Andrea Bolognani
All these features are supposed to be handled by the call to
virDriverFeatureIsGlobal() placed right above the switch
statement, so group them together and add a comment. If any of
these features is actually encountered as part of the switch
statements, that means there's a bug in the driver and we should
error out.
Signed-off-by: Andrea Bolognani <abologna(a)redhat.com>
---
Applies on top of
[PATCH 0/8] driver: Fix handling of driver feature flags
https://listman.redhat.com/archives/libvir-list/2022-February/msg00644.html
src/ch/ch_driver.c | 13 +++++++------
src/esx/esx_driver.c | 21 +++++++++++----------
src/libxl/libxl_driver.c | 16 +++++++++-------
src/lxc/lxc_driver.c | 11 ++++++-----
src/network/bridge_driver.c | 15 ++++++++-------
src/openvz/openvz_driver.c | 16 +++++++++-------
src/qemu/qemu_driver.c | 16 +++++++++-------
7 files changed, 59 insertions(+), 49 deletions(-)
diff --git a/src/ch/ch_driver.c b/src/ch/ch_driver.c
index ac9298c0b5..9cbd7b71df 100644
--- a/src/ch/ch_driver.c
+++ b/src/ch/ch_driver.c
@@ -928,23 +928,24 @@ chConnectSupportsFeature(virConnectPtr conn,
return supported;
switch ((virDrvFeature) feature) {
+ case VIR_DRV_FEATURE_REMOTE:
+ case VIR_DRV_FEATURE_PROGRAM_KEEPALIVE:
+ case VIR_DRV_FEATURE_REMOTE_CLOSE_CALLBACK:
+ case VIR_DRV_FEATURE_REMOTE_EVENT_CALLBACK:
case VIR_DRV_FEATURE_TYPED_PARAM_STRING:
case VIR_DRV_FEATURE_NETWORK_UPDATE_HAS_CORRECT_ORDER:
- return 1;
+ case VIR_DRV_FEATURE_FD_PASSING:
+ /* Should have already been handled by virDriverFeatureIsGlobal() */
+ return -1;
case VIR_DRV_FEATURE_MIGRATION_V2:
case VIR_DRV_FEATURE_MIGRATION_V3:
case VIR_DRV_FEATURE_MIGRATION_P2P:
case VIR_DRV_FEATURE_MIGRATE_CHANGE_PROTECTION:
- case VIR_DRV_FEATURE_FD_PASSING:
case VIR_DRV_FEATURE_XML_MIGRATABLE:
case VIR_DRV_FEATURE_MIGRATION_OFFLINE:
case VIR_DRV_FEATURE_MIGRATION_PARAMS:
case VIR_DRV_FEATURE_MIGRATION_DIRECT:
case VIR_DRV_FEATURE_MIGRATION_V1:
- case VIR_DRV_FEATURE_PROGRAM_KEEPALIVE:
- case VIR_DRV_FEATURE_REMOTE:
- case VIR_DRV_FEATURE_REMOTE_CLOSE_CALLBACK:
- case VIR_DRV_FEATURE_REMOTE_EVENT_CALLBACK:
default:
return 0;
}
diff --git a/src/esx/esx_driver.c b/src/esx/esx_driver.c
index 3149f3e963..6e5f9c8cc1 100644
--- a/src/esx/esx_driver.c
+++ b/src/esx/esx_driver.c
@@ -1024,7 +1024,17 @@ esxConnectSupportsFeature(virConnectPtr conn, int feature)
return supported;
switch ((virDrvFeature) feature) {
- case VIR_DRV_FEATURE_MIGRATION_V1:
+ case VIR_DRV_FEATURE_REMOTE:
+ case VIR_DRV_FEATURE_PROGRAM_KEEPALIVE:
+ case VIR_DRV_FEATURE_REMOTE_CLOSE_CALLBACK:
+ case VIR_DRV_FEATURE_REMOTE_EVENT_CALLBACK:
+ case VIR_DRV_FEATURE_TYPED_PARAM_STRING:
+ case VIR_DRV_FEATURE_NETWORK_UPDATE_HAS_CORRECT_ORDER:
+ case VIR_DRV_FEATURE_FD_PASSING:
+ /* Should have already been handled by virDriverFeatureIsGlobal() */
+ return -1;
+
+ case VIR_DRV_FEATURE_MIGRATION_V1:
supportsVMotion = esxSupportsVMotion(priv);
if (supportsVMotion == esxVI_Boolean_Undefined)
@@ -1034,10 +1044,6 @@ esxConnectSupportsFeature(virConnectPtr conn, int feature)
return priv->vCenter &&
supportsVMotion == esxVI_Boolean_True ? 1 : 0;
- case VIR_DRV_FEATURE_NETWORK_UPDATE_HAS_CORRECT_ORDER:
- return 1;
-
- case VIR_DRV_FEATURE_FD_PASSING:
case VIR_DRV_FEATURE_MIGRATE_CHANGE_PROTECTION:
case VIR_DRV_FEATURE_MIGRATION_DIRECT:
case VIR_DRV_FEATURE_MIGRATION_OFFLINE:
@@ -1045,11 +1051,6 @@ esxConnectSupportsFeature(virConnectPtr conn, int feature)
case VIR_DRV_FEATURE_MIGRATION_PARAMS:
case VIR_DRV_FEATURE_MIGRATION_V2:
case VIR_DRV_FEATURE_MIGRATION_V3:
- case VIR_DRV_FEATURE_PROGRAM_KEEPALIVE:
- case VIR_DRV_FEATURE_REMOTE:
- case VIR_DRV_FEATURE_REMOTE_CLOSE_CALLBACK:
- case VIR_DRV_FEATURE_REMOTE_EVENT_CALLBACK:
- case VIR_DRV_FEATURE_TYPED_PARAM_STRING:
case VIR_DRV_FEATURE_XML_MIGRATABLE:
default:
return 0;
diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c
index 478ab3e941..46596978d4 100644
--- a/src/libxl/libxl_driver.c
+++ b/src/libxl/libxl_driver.c
@@ -5706,22 +5706,24 @@ libxlConnectSupportsFeature(virConnectPtr conn, int feature)
return supported;
switch ((virDrvFeature) feature) {
- case VIR_DRV_FEATURE_MIGRATION_V3:
+ case VIR_DRV_FEATURE_REMOTE:
+ case VIR_DRV_FEATURE_PROGRAM_KEEPALIVE:
+ case VIR_DRV_FEATURE_REMOTE_CLOSE_CALLBACK:
+ case VIR_DRV_FEATURE_REMOTE_EVENT_CALLBACK:
case VIR_DRV_FEATURE_TYPED_PARAM_STRING:
+ case VIR_DRV_FEATURE_NETWORK_UPDATE_HAS_CORRECT_ORDER:
+ case VIR_DRV_FEATURE_FD_PASSING:
+ /* Should have already been handled by virDriverFeatureIsGlobal() */
+ return -1;
+ case VIR_DRV_FEATURE_MIGRATION_V3:
case VIR_DRV_FEATURE_MIGRATION_PARAMS:
case VIR_DRV_FEATURE_MIGRATION_P2P:
- case VIR_DRV_FEATURE_NETWORK_UPDATE_HAS_CORRECT_ORDER:
return 1;
- case VIR_DRV_FEATURE_FD_PASSING:
case VIR_DRV_FEATURE_MIGRATE_CHANGE_PROTECTION:
case VIR_DRV_FEATURE_MIGRATION_DIRECT:
case VIR_DRV_FEATURE_MIGRATION_OFFLINE:
case VIR_DRV_FEATURE_MIGRATION_V1:
case VIR_DRV_FEATURE_MIGRATION_V2:
- case VIR_DRV_FEATURE_PROGRAM_KEEPALIVE:
- case VIR_DRV_FEATURE_REMOTE:
- case VIR_DRV_FEATURE_REMOTE_CLOSE_CALLBACK:
- case VIR_DRV_FEATURE_REMOTE_EVENT_CALLBACK:
case VIR_DRV_FEATURE_XML_MIGRATABLE:
default:
return 0;
diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c
index 020ec257ae..023292a75a 100644
--- a/src/lxc/lxc_driver.c
+++ b/src/lxc/lxc_driver.c
@@ -1627,10 +1627,15 @@ lxcConnectSupportsFeature(virConnectPtr conn, int feature)
return supported;
switch ((virDrvFeature) feature) {
+ case VIR_DRV_FEATURE_REMOTE:
+ case VIR_DRV_FEATURE_PROGRAM_KEEPALIVE:
+ case VIR_DRV_FEATURE_REMOTE_CLOSE_CALLBACK:
+ case VIR_DRV_FEATURE_REMOTE_EVENT_CALLBACK:
case VIR_DRV_FEATURE_TYPED_PARAM_STRING:
case VIR_DRV_FEATURE_NETWORK_UPDATE_HAS_CORRECT_ORDER:
- return 1;
case VIR_DRV_FEATURE_FD_PASSING:
+ /* Should have already been handled by virDriverFeatureIsGlobal() */
+ return -1;
case VIR_DRV_FEATURE_MIGRATE_CHANGE_PROTECTION:
case VIR_DRV_FEATURE_MIGRATION_DIRECT:
case VIR_DRV_FEATURE_MIGRATION_OFFLINE:
@@ -1639,10 +1644,6 @@ lxcConnectSupportsFeature(virConnectPtr conn, int feature)
case VIR_DRV_FEATURE_MIGRATION_V1:
case VIR_DRV_FEATURE_MIGRATION_V2:
case VIR_DRV_FEATURE_MIGRATION_V3:
- case VIR_DRV_FEATURE_PROGRAM_KEEPALIVE:
- case VIR_DRV_FEATURE_REMOTE:
- case VIR_DRV_FEATURE_REMOTE_CLOSE_CALLBACK:
- case VIR_DRV_FEATURE_REMOTE_EVENT_CALLBACK:
case VIR_DRV_FEATURE_XML_MIGRATABLE:
default:
return 0;
diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c
index d6ae05360b..559600d2af 100644
--- a/src/network/bridge_driver.c
+++ b/src/network/bridge_driver.c
@@ -866,23 +866,24 @@ networkConnectSupportsFeature(virConnectPtr conn, int feature)
return supported;
switch ((virDrvFeature) feature) {
+ case VIR_DRV_FEATURE_REMOTE:
+ case VIR_DRV_FEATURE_PROGRAM_KEEPALIVE:
+ case VIR_DRV_FEATURE_REMOTE_CLOSE_CALLBACK:
+ case VIR_DRV_FEATURE_REMOTE_EVENT_CALLBACK:
+ case VIR_DRV_FEATURE_TYPED_PARAM_STRING:
case VIR_DRV_FEATURE_NETWORK_UPDATE_HAS_CORRECT_ORDER:
- return 1;
+ case VIR_DRV_FEATURE_FD_PASSING:
+ /* Should have already been handled by virDriverFeatureIsGlobal() */
+ return -1;
case VIR_DRV_FEATURE_MIGRATION_V2:
case VIR_DRV_FEATURE_MIGRATION_V3:
case VIR_DRV_FEATURE_MIGRATION_P2P:
case VIR_DRV_FEATURE_MIGRATE_CHANGE_PROTECTION:
- case VIR_DRV_FEATURE_FD_PASSING:
- case VIR_DRV_FEATURE_TYPED_PARAM_STRING:
case VIR_DRV_FEATURE_XML_MIGRATABLE:
case VIR_DRV_FEATURE_MIGRATION_OFFLINE:
case VIR_DRV_FEATURE_MIGRATION_PARAMS:
case VIR_DRV_FEATURE_MIGRATION_DIRECT:
case VIR_DRV_FEATURE_MIGRATION_V1:
- case VIR_DRV_FEATURE_PROGRAM_KEEPALIVE:
- case VIR_DRV_FEATURE_REMOTE:
- case VIR_DRV_FEATURE_REMOTE_CLOSE_CALLBACK:
- case VIR_DRV_FEATURE_REMOTE_EVENT_CALLBACK:
default:
return 0;
}
diff --git a/src/openvz/openvz_driver.c b/src/openvz/openvz_driver.c
index aa1db09540..c034fd5af9 100644
--- a/src/openvz/openvz_driver.c
+++ b/src/openvz/openvz_driver.c
@@ -1944,22 +1944,24 @@ openvzConnectSupportsFeature(virConnectPtr conn G_GNUC_UNUSED, int feature)
return supported;
switch ((virDrvFeature) feature) {
+ case VIR_DRV_FEATURE_REMOTE:
+ case VIR_DRV_FEATURE_PROGRAM_KEEPALIVE:
+ case VIR_DRV_FEATURE_REMOTE_CLOSE_CALLBACK:
+ case VIR_DRV_FEATURE_REMOTE_EVENT_CALLBACK:
+ case VIR_DRV_FEATURE_TYPED_PARAM_STRING:
+ case VIR_DRV_FEATURE_NETWORK_UPDATE_HAS_CORRECT_ORDER:
+ case VIR_DRV_FEATURE_FD_PASSING:
+ /* Should have already been handled by virDriverFeatureIsGlobal() */
+ return -1;
case VIR_DRV_FEATURE_MIGRATION_PARAMS:
case VIR_DRV_FEATURE_MIGRATION_V3:
- case VIR_DRV_FEATURE_NETWORK_UPDATE_HAS_CORRECT_ORDER:
return 1;
- case VIR_DRV_FEATURE_FD_PASSING:
case VIR_DRV_FEATURE_MIGRATE_CHANGE_PROTECTION:
case VIR_DRV_FEATURE_MIGRATION_DIRECT:
case VIR_DRV_FEATURE_MIGRATION_OFFLINE:
case VIR_DRV_FEATURE_MIGRATION_P2P:
case VIR_DRV_FEATURE_MIGRATION_V1:
case VIR_DRV_FEATURE_MIGRATION_V2:
- case VIR_DRV_FEATURE_PROGRAM_KEEPALIVE:
- case VIR_DRV_FEATURE_REMOTE:
- case VIR_DRV_FEATURE_REMOTE_CLOSE_CALLBACK:
- case VIR_DRV_FEATURE_REMOTE_EVENT_CALLBACK:
- case VIR_DRV_FEATURE_TYPED_PARAM_STRING:
case VIR_DRV_FEATURE_XML_MIGRATABLE:
default:
return 0;
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index f1f708e511..433ba09745 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -1182,23 +1182,25 @@ qemuConnectSupportsFeature(virConnectPtr conn, int feature)
return supported;
switch ((virDrvFeature) feature) {
+ case VIR_DRV_FEATURE_REMOTE:
+ case VIR_DRV_FEATURE_PROGRAM_KEEPALIVE:
+ case VIR_DRV_FEATURE_REMOTE_CLOSE_CALLBACK:
+ case VIR_DRV_FEATURE_REMOTE_EVENT_CALLBACK:
+ case VIR_DRV_FEATURE_TYPED_PARAM_STRING:
+ case VIR_DRV_FEATURE_NETWORK_UPDATE_HAS_CORRECT_ORDER:
+ case VIR_DRV_FEATURE_FD_PASSING:
+ /* Should have already been handled by virDriverFeatureIsGlobal() */
+ return -1;
case VIR_DRV_FEATURE_MIGRATION_V2:
case VIR_DRV_FEATURE_MIGRATION_V3:
case VIR_DRV_FEATURE_MIGRATION_P2P:
case VIR_DRV_FEATURE_MIGRATE_CHANGE_PROTECTION:
- case VIR_DRV_FEATURE_FD_PASSING:
- case VIR_DRV_FEATURE_TYPED_PARAM_STRING:
case VIR_DRV_FEATURE_XML_MIGRATABLE:
case VIR_DRV_FEATURE_MIGRATION_OFFLINE:
case VIR_DRV_FEATURE_MIGRATION_PARAMS:
- case VIR_DRV_FEATURE_NETWORK_UPDATE_HAS_CORRECT_ORDER:
return 1;
case VIR_DRV_FEATURE_MIGRATION_DIRECT:
case VIR_DRV_FEATURE_MIGRATION_V1:
- case VIR_DRV_FEATURE_PROGRAM_KEEPALIVE:
- case VIR_DRV_FEATURE_REMOTE:
- case VIR_DRV_FEATURE_REMOTE_CLOSE_CALLBACK:
- case VIR_DRV_FEATURE_REMOTE_EVENT_CALLBACK:
default:
return 0;
}
--
2.35.1
2 years, 7 months