[libvirt] [PATCH v2 0/3] Drop QEMU_CAPS_PCI_ROMBAR and a couple more

Differences from [v1]: * Instead of unconditionally enable capabilities that are guaranteed to be available on any QEMU version we support, prefix them with X_ and remove all uses, as suggested by Pavel and Cole [v1] https://www.redhat.com/archives/libvir-list/2016-May/msg00967.html Andrea Bolognani (3): qemu: Drop QEMU_CAPS_PCI_ROMBAR qemu: Drop QEMU_CAPS_CPU_HOST qemu: Drop QEMU_CAPS_VIRTIO_BLK_SG_IO src/qemu/qemu_capabilities.c | 36 ++--------- src/qemu/qemu_capabilities.h | 6 +- src/qemu/qemu_command.c | 32 ++-------- tests/qemucapabilitiesdata/caps_1.2.2.x86_64.xml | 2 - tests/qemucapabilitiesdata/caps_1.3.1.x86_64.xml | 3 - tests/qemucapabilitiesdata/caps_1.4.2.x86_64.xml | 3 - tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml | 3 - tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml | 3 - tests/qemucapabilitiesdata/caps_1.6.50.x86_64.xml | 3 - tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml | 3 - tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml | 3 - tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml | 3 - .../caps_2.6.0-gicv2.aarch64.xml | 2 - .../caps_2.6.0-gicv3.aarch64.xml | 2 - tests/qemucapabilitiesdata/caps_2.6.0.ppc64le.xml | 2 - tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml | 3 - tests/qemuhelptest.c | 24 ------- tests/qemuxml2argvtest.c | 73 +++++++++++----------- 18 files changed, 47 insertions(+), 159 deletions(-) -- 2.5.5

The only QEMU versions that don't have such capability are <0.12, which we no longer support anyway. Additionally, this solves the issue of some QEMU binaries being reported as not having such capability just because they lacked the {kvm-}pci-assign QMP object. --- src/qemu/qemu_capabilities.c | 14 -------------- src/qemu/qemu_capabilities.h | 2 +- src/qemu/qemu_command.c | 12 +++--------- tests/qemucapabilitiesdata/caps_1.3.1.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_1.4.2.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_1.6.50.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml | 1 - tests/qemuhelptest.c | 8 -------- tests/qemuxml2argvtest.c | 3 +-- 14 files changed, 5 insertions(+), 43 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index fcfd1cd..d3fa9c7 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -1302,19 +1302,6 @@ virQEMUCapsComputeCmdFlags(const char *help, if (version >= 13000) virQEMUCapsSet(qemuCaps, QEMU_CAPS_PCI_MULTIFUNCTION); - /* Although very new versions of qemu advertise the presence of - * the rombar option in the output of "qemu -device pci-assign,?", - * this advertisement was added to the code long after the option - * itself. According to qemu developers, though, rombar is - * available in all qemu binaries from release 0.12 onward. - * Setting the capability this way makes it available in more - * cases where it might be needed, and shouldn't cause any false - * positives (in the case that it did, qemu would produce an error - * log and refuse to start, so it would be immediately obvious). - */ - if (version >= 12000) - virQEMUCapsSet(qemuCaps, QEMU_CAPS_PCI_ROMBAR); - if (version >= 11000) virQEMUCapsSet(qemuCaps, QEMU_CAPS_CPU_HOST); @@ -1613,7 +1600,6 @@ static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsVirtioSCSI[] = { }; static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsPCIAssign[] = { - { "rombar", QEMU_CAPS_PCI_ROMBAR }, { "configfd", QEMU_CAPS_PCI_CONFIGFD }, { "bootindex", QEMU_CAPS_PCI_BOOTINDEX }, }; diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index e7d0a60..604154d 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -152,7 +152,7 @@ typedef enum { /* 75 */ QEMU_CAPS_DRIVE_CACHE_UNSAFE, /* Is cache=unsafe supported? */ - QEMU_CAPS_PCI_ROMBAR, /* -device rombar=0|1 */ + X_QEMU_CAPS_PCI_ROMBAR, /* -device rombar=0|1 */ QEMU_CAPS_ICH9_AHCI, /* -device ich9-ahci */ QEMU_CAPS_NO_ACPI, /* -no-acpi */ QEMU_CAPS_FSDEV_READONLY, /* -fsdev readonly supported */ diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 0d6d5f8..e48e722 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -493,8 +493,7 @@ qemuBuildDeviceAddressStr(virBufferPtr buf, static int qemuBuildRomStr(virBufferPtr buf, - virDomainDeviceInfoPtr info, - virQEMUCapsPtr qemuCaps) + virDomainDeviceInfoPtr info) { if (info->rombar || info->romfile) { if (info->type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI) { @@ -502,11 +501,6 @@ qemuBuildRomStr(virBufferPtr buf, "%s", _("rombar and romfile are supported only for PCI devices")); return -1; } - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_PCI_ROMBAR)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, - "%s", _("rombar and romfile not supported in this QEMU binary")); - return -1; - } switch (info->rombar) { case VIR_TRISTATE_SWITCH_OFF: @@ -3373,7 +3367,7 @@ qemuBuildNicDevStr(virDomainDefPtr def, virMacAddrFormat(&net->mac, macaddr)); if (qemuBuildDeviceAddressStr(&buf, def, &net->info, qemuCaps) < 0) goto error; - if (qemuBuildRomStr(&buf, &net->info, qemuCaps) < 0) + if (qemuBuildRomStr(&buf, &net->info) < 0) goto error; if (bootindex && virQEMUCapsGet(qemuCaps, QEMU_CAPS_BOOTINDEX)) virBufferAsprintf(&buf, ",bootindex=%u", bootindex); @@ -4442,7 +4436,7 @@ qemuBuildPCIHostdevDevStr(const virDomainDef *def, virBufferAsprintf(&buf, ",bootindex=%u", bootIndex); if (qemuBuildDeviceAddressStr(&buf, def, dev->info, qemuCaps) < 0) goto error; - if (qemuBuildRomStr(&buf, dev->info, qemuCaps) < 0) + if (qemuBuildRomStr(&buf, dev->info) < 0) goto error; if (virBufferCheckError(&buf) < 0) diff --git a/tests/qemucapabilitiesdata/caps_1.3.1.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.3.1.x86_64.xml index 6f6a5b9..39d4cc3 100644 --- a/tests/qemucapabilitiesdata/caps_1.3.1.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_1.3.1.x86_64.xml @@ -51,7 +51,6 @@ <flag name='usb-hub'/> <flag name='no-shutdown'/> <flag name='cache-unsafe'/> - <flag name='rombar'/> <flag name='ich9-ahci'/> <flag name='no-acpi'/> <flag name='fsdev-readonly'/> diff --git a/tests/qemucapabilitiesdata/caps_1.4.2.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.4.2.x86_64.xml index 18550e2..cbb6d88 100644 --- a/tests/qemucapabilitiesdata/caps_1.4.2.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_1.4.2.x86_64.xml @@ -51,7 +51,6 @@ <flag name='usb-hub'/> <flag name='no-shutdown'/> <flag name='cache-unsafe'/> - <flag name='rombar'/> <flag name='ich9-ahci'/> <flag name='no-acpi'/> <flag name='fsdev-readonly'/> diff --git a/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml index 72f09f7..cb3aa68 100644 --- a/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml @@ -50,7 +50,6 @@ <flag name='usb-hub'/> <flag name='no-shutdown'/> <flag name='cache-unsafe'/> - <flag name='rombar'/> <flag name='ich9-ahci'/> <flag name='no-acpi'/> <flag name='fsdev-readonly'/> diff --git a/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml index c612c11..bdd7f5f 100644 --- a/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml @@ -51,7 +51,6 @@ <flag name='usb-hub'/> <flag name='no-shutdown'/> <flag name='cache-unsafe'/> - <flag name='rombar'/> <flag name='ich9-ahci'/> <flag name='no-acpi'/> <flag name='fsdev-readonly'/> diff --git a/tests/qemucapabilitiesdata/caps_1.6.50.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.6.50.x86_64.xml index f4603c1..122082d 100644 --- a/tests/qemucapabilitiesdata/caps_1.6.50.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_1.6.50.x86_64.xml @@ -51,7 +51,6 @@ <flag name='usb-hub'/> <flag name='no-shutdown'/> <flag name='cache-unsafe'/> - <flag name='rombar'/> <flag name='ich9-ahci'/> <flag name='no-acpi'/> <flag name='fsdev-readonly'/> diff --git a/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml index 4663e19..79a93bf 100644 --- a/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml @@ -52,7 +52,6 @@ <flag name='usb-hub'/> <flag name='no-shutdown'/> <flag name='cache-unsafe'/> - <flag name='rombar'/> <flag name='ich9-ahci'/> <flag name='no-acpi'/> <flag name='fsdev-readonly'/> diff --git a/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml index a8df7e1..b72d87f 100644 --- a/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml @@ -51,7 +51,6 @@ <flag name='usb-hub'/> <flag name='no-shutdown'/> <flag name='cache-unsafe'/> - <flag name='rombar'/> <flag name='ich9-ahci'/> <flag name='no-acpi'/> <flag name='fsdev-readonly'/> diff --git a/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml index 2160173..3a35733 100644 --- a/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml @@ -51,7 +51,6 @@ <flag name='usb-hub'/> <flag name='no-shutdown'/> <flag name='cache-unsafe'/> - <flag name='rombar'/> <flag name='ich9-ahci'/> <flag name='no-acpi'/> <flag name='fsdev-readonly'/> diff --git a/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml index 9024d63..d51d3f4 100644 --- a/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml @@ -51,7 +51,6 @@ <flag name='usb-hub'/> <flag name='no-shutdown'/> <flag name='cache-unsafe'/> - <flag name='rombar'/> <flag name='ich9-ahci'/> <flag name='no-acpi'/> <flag name='fsdev-readonly'/> diff --git a/tests/qemuhelptest.c b/tests/qemuhelptest.c index 26455d5..c0bc98e 100644 --- a/tests/qemuhelptest.c +++ b/tests/qemuhelptest.c @@ -167,7 +167,6 @@ mymain(void) QEMU_CAPS_VGA_NONE, QEMU_CAPS_DRIVE_AIO, QEMU_CAPS_NO_SHUTDOWN, - QEMU_CAPS_PCI_ROMBAR, QEMU_CAPS_NO_ACPI, QEMU_CAPS_VIRTIO_BLK_SG_IO, QEMU_CAPS_CPU_HOST, @@ -204,7 +203,6 @@ mymain(void) QEMU_CAPS_PIIX4_USB_UHCI, QEMU_CAPS_USB_HUB, QEMU_CAPS_NO_SHUTDOWN, - QEMU_CAPS_PCI_ROMBAR, QEMU_CAPS_NO_ACPI, QEMU_CAPS_VIRTIO_BLK_SG_IO, QEMU_CAPS_CPU_HOST, @@ -243,7 +241,6 @@ mymain(void) QEMU_CAPS_VGA_NONE, QEMU_CAPS_DRIVE_AIO, QEMU_CAPS_NO_SHUTDOWN, - QEMU_CAPS_PCI_ROMBAR, QEMU_CAPS_NO_ACPI, QEMU_CAPS_VIRTIO_BLK_SG_IO, QEMU_CAPS_CPU_HOST, @@ -286,7 +283,6 @@ mymain(void) QEMU_CAPS_PCI_OHCI, QEMU_CAPS_USB_HUB, QEMU_CAPS_NO_SHUTDOWN, - QEMU_CAPS_PCI_ROMBAR, QEMU_CAPS_NO_ACPI, QEMU_CAPS_VIRTIO_BLK_SG_IO, QEMU_CAPS_CPU_HOST, @@ -344,7 +340,6 @@ mymain(void) QEMU_CAPS_PIIX4_USB_UHCI, QEMU_CAPS_USB_HUB, QEMU_CAPS_NO_SHUTDOWN, - QEMU_CAPS_PCI_ROMBAR, QEMU_CAPS_NO_ACPI, QEMU_CAPS_VIRTIO_BLK_SCSI, QEMU_CAPS_VIRTIO_BLK_SG_IO, @@ -407,7 +402,6 @@ mymain(void) QEMU_CAPS_ICH9_USB_EHCI1, QEMU_CAPS_USB_HUB, QEMU_CAPS_NO_SHUTDOWN, - QEMU_CAPS_PCI_ROMBAR, QEMU_CAPS_NO_ACPI, QEMU_CAPS_VIRTIO_BLK_SCSI, QEMU_CAPS_VIRTIO_BLK_SG_IO, @@ -470,7 +464,6 @@ mymain(void) QEMU_CAPS_PCI_OHCI, QEMU_CAPS_USB_HUB, QEMU_CAPS_NO_SHUTDOWN, - QEMU_CAPS_PCI_ROMBAR, QEMU_CAPS_ICH9_AHCI, QEMU_CAPS_NO_ACPI, QEMU_CAPS_FSDEV_READONLY, @@ -548,7 +541,6 @@ mymain(void) QEMU_CAPS_PCI_OHCI, QEMU_CAPS_USB_HUB, QEMU_CAPS_NO_SHUTDOWN, - QEMU_CAPS_PCI_ROMBAR, QEMU_CAPS_ICH9_AHCI, QEMU_CAPS_NO_ACPI, QEMU_CAPS_FSDEV_READONLY, diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index d1cfbec..62466fd 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -1233,8 +1233,7 @@ mymain(void) QEMU_CAPS_PCIDEVICE, QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_DEVICE_VFIO_PCI); DO_TEST("pci-rom", - QEMU_CAPS_PCIDEVICE, QEMU_CAPS_NODEFCONFIG, - QEMU_CAPS_PCI_ROMBAR); + QEMU_CAPS_PCIDEVICE, QEMU_CAPS_NODEFCONFIG); DO_TEST_FULL("restore-v2", "exec:cat", 7, 0, 0, NONE); DO_TEST_FULL("restore-v2-fd", "stdio", 7, 0, 0, NONE); -- 2.5.5

The only QEMU versions that don't have such capability are <0.11, which we no longer support anyway --- src/qemu/qemu_capabilities.c | 12 ++---- src/qemu/qemu_capabilities.h | 2 +- src/qemu/qemu_command.c | 9 +---- tests/qemucapabilitiesdata/caps_1.2.2.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_1.3.1.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_1.4.2.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_1.6.50.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml | 1 - .../caps_2.6.0-gicv2.aarch64.xml | 1 - .../caps_2.6.0-gicv3.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_2.6.0.ppc64le.xml | 1 - tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml | 1 - tests/qemuhelptest.c | 8 ---- tests/qemuxml2argvtest.c | 45 +++++++++++----------- 18 files changed, 27 insertions(+), 62 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index d3fa9c7..e55e9d0 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -928,11 +928,9 @@ virQEMUCapsInitGuestFromBinary(virCapsPtr caps, machines = NULL; nmachines = 0; - if ((virQEMUCapsGet(qemubinCaps, QEMU_CAPS_CPU_HOST) || - (caps->host.cpu && - caps->host.cpu->model && - virQEMUCapsGetCPUDefinitions(qemubinCaps, NULL) > 0)) && - !virCapabilitiesAddGuestFeature(guest, "cpuselection", true, false)) + /* CPU selection is always available, because all QEMU versions + * we support can use at least '-cpu host' */ + if (!virCapabilitiesAddGuestFeature(guest, "cpuselection", true, false)) goto cleanup; if (virQEMUCapsGet(qemubinCaps, QEMU_CAPS_BOOTINDEX) && @@ -1302,9 +1300,6 @@ virQEMUCapsComputeCmdFlags(const char *help, if (version >= 13000) virQEMUCapsSet(qemuCaps, QEMU_CAPS_PCI_MULTIFUNCTION); - if (version >= 11000) - virQEMUCapsSet(qemuCaps, QEMU_CAPS_CPU_HOST); - if (version >= 1001000) { virQEMUCapsSet(qemuCaps, QEMU_CAPS_IPV6_MIGRATION); virQEMUCapsSet(qemuCaps, QEMU_CAPS_VNC_SHARE_POLICY); @@ -3389,7 +3384,6 @@ virQEMUCapsInitQMPBasic(virQEMUCapsPtr qemuCaps) virQEMUCapsSet(qemuCaps, QEMU_CAPS_FSDEV_READONLY); virQEMUCapsSet(qemuCaps, QEMU_CAPS_VIRTIO_BLK_SG_IO); virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_COPY_ON_READ); - virQEMUCapsSet(qemuCaps, QEMU_CAPS_CPU_HOST); virQEMUCapsSet(qemuCaps, QEMU_CAPS_FSDEV_WRITEOUT); virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_IOTUNE); virQEMUCapsSet(qemuCaps, QEMU_CAPS_WAKEUP); diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index 604154d..30e811f 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -161,7 +161,7 @@ typedef enum { QEMU_CAPS_VIRTIO_BLK_SCSI, /* virtio-blk-pci.scsi */ QEMU_CAPS_VIRTIO_BLK_SG_IO, /* SG_IO commands, since 0.11 */ QEMU_CAPS_DRIVE_COPY_ON_READ, /* -drive copy-on-read */ - QEMU_CAPS_CPU_HOST, /* support for -cpu host */ + X_QEMU_CAPS_CPU_HOST, /* support for -cpu host */ QEMU_CAPS_FSDEV_WRITEOUT, /* -fsdev writeout supported */ /* 85 */ diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index e48e722..b68e32f 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -6461,17 +6461,10 @@ qemuBuildCpuModelArgStr(virQEMUDriverPtr driver, if ((cpu->mode == VIR_CPU_MODE_HOST_PASSTHROUGH) || ((cpu->mode == VIR_CPU_MODE_HOST_MODEL) && ARCH_IS_PPC64(def->os.arch))) { - const char *mode = virCPUModeTypeToString(cpu->mode); - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_CPU_HOST)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, - _("CPU mode '%s' is not supported by QEMU" - " binary"), mode); - goto cleanup; - } if (def->virtType != VIR_DOMAIN_VIRT_KVM) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("CPU mode '%s' is only supported with kvm"), - mode); + virCPUModeTypeToString(cpu->mode)); goto cleanup; } virBufferAddLit(buf, "host"); diff --git a/tests/qemucapabilitiesdata/caps_1.2.2.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.2.2.x86_64.xml index 257a123..80b7ab8 100644 --- a/tests/qemucapabilitiesdata/caps_1.2.2.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_1.2.2.x86_64.xml @@ -55,7 +55,6 @@ <flag name='virtio-blk-pci.scsi'/> <flag name='blk-sg-io'/> <flag name='drive-copy-on-read'/> - <flag name='cpu-host'/> <flag name='fsdev-writeout'/> <flag name='drive-iotune'/> <flag name='system_wakeup'/> diff --git a/tests/qemucapabilitiesdata/caps_1.3.1.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.3.1.x86_64.xml index 39d4cc3..452b05f 100644 --- a/tests/qemucapabilitiesdata/caps_1.3.1.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_1.3.1.x86_64.xml @@ -57,7 +57,6 @@ <flag name='virtio-blk-pci.scsi'/> <flag name='blk-sg-io'/> <flag name='drive-copy-on-read'/> - <flag name='cpu-host'/> <flag name='fsdev-writeout'/> <flag name='drive-iotune'/> <flag name='system_wakeup'/> diff --git a/tests/qemucapabilitiesdata/caps_1.4.2.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.4.2.x86_64.xml index cbb6d88..c185d9a 100644 --- a/tests/qemucapabilitiesdata/caps_1.4.2.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_1.4.2.x86_64.xml @@ -57,7 +57,6 @@ <flag name='virtio-blk-pci.scsi'/> <flag name='blk-sg-io'/> <flag name='drive-copy-on-read'/> - <flag name='cpu-host'/> <flag name='fsdev-writeout'/> <flag name='drive-iotune'/> <flag name='system_wakeup'/> diff --git a/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml index cb3aa68..8bf550b 100644 --- a/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml @@ -56,7 +56,6 @@ <flag name='virtio-blk-pci.scsi'/> <flag name='blk-sg-io'/> <flag name='drive-copy-on-read'/> - <flag name='cpu-host'/> <flag name='fsdev-writeout'/> <flag name='drive-iotune'/> <flag name='system_wakeup'/> diff --git a/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml index bdd7f5f..d5664fa 100644 --- a/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml @@ -57,7 +57,6 @@ <flag name='virtio-blk-pci.scsi'/> <flag name='blk-sg-io'/> <flag name='drive-copy-on-read'/> - <flag name='cpu-host'/> <flag name='fsdev-writeout'/> <flag name='drive-iotune'/> <flag name='system_wakeup'/> diff --git a/tests/qemucapabilitiesdata/caps_1.6.50.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.6.50.x86_64.xml index 122082d..6649196 100644 --- a/tests/qemucapabilitiesdata/caps_1.6.50.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_1.6.50.x86_64.xml @@ -57,7 +57,6 @@ <flag name='virtio-blk-pci.scsi'/> <flag name='blk-sg-io'/> <flag name='drive-copy-on-read'/> - <flag name='cpu-host'/> <flag name='fsdev-writeout'/> <flag name='drive-iotune'/> <flag name='system_wakeup'/> diff --git a/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml index 79a93bf..581b38c 100644 --- a/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml @@ -58,7 +58,6 @@ <flag name='virtio-blk-pci.scsi'/> <flag name='blk-sg-io'/> <flag name='drive-copy-on-read'/> - <flag name='cpu-host'/> <flag name='fsdev-writeout'/> <flag name='drive-iotune'/> <flag name='system_wakeup'/> diff --git a/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml index b72d87f..15b6c34 100644 --- a/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml @@ -57,7 +57,6 @@ <flag name='virtio-blk-pci.scsi'/> <flag name='blk-sg-io'/> <flag name='drive-copy-on-read'/> - <flag name='cpu-host'/> <flag name='fsdev-writeout'/> <flag name='drive-iotune'/> <flag name='system_wakeup'/> diff --git a/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml index 3a35733..08b734d 100644 --- a/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml @@ -57,7 +57,6 @@ <flag name='virtio-blk-pci.scsi'/> <flag name='blk-sg-io'/> <flag name='drive-copy-on-read'/> - <flag name='cpu-host'/> <flag name='fsdev-writeout'/> <flag name='drive-iotune'/> <flag name='system_wakeup'/> diff --git a/tests/qemucapabilitiesdata/caps_2.6.0-gicv2.aarch64.xml b/tests/qemucapabilitiesdata/caps_2.6.0-gicv2.aarch64.xml index f4e6db1..a14b73d 100644 --- a/tests/qemucapabilitiesdata/caps_2.6.0-gicv2.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_2.6.0-gicv2.aarch64.xml @@ -48,7 +48,6 @@ <flag name='virtio-blk-pci.scsi'/> <flag name='blk-sg-io'/> <flag name='drive-copy-on-read'/> - <flag name='cpu-host'/> <flag name='fsdev-writeout'/> <flag name='drive-iotune'/> <flag name='system_wakeup'/> diff --git a/tests/qemucapabilitiesdata/caps_2.6.0-gicv3.aarch64.xml b/tests/qemucapabilitiesdata/caps_2.6.0-gicv3.aarch64.xml index f4d60d1..72c908d 100644 --- a/tests/qemucapabilitiesdata/caps_2.6.0-gicv3.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_2.6.0-gicv3.aarch64.xml @@ -48,7 +48,6 @@ <flag name='virtio-blk-pci.scsi'/> <flag name='blk-sg-io'/> <flag name='drive-copy-on-read'/> - <flag name='cpu-host'/> <flag name='fsdev-writeout'/> <flag name='drive-iotune'/> <flag name='system_wakeup'/> diff --git a/tests/qemucapabilitiesdata/caps_2.6.0.ppc64le.xml b/tests/qemucapabilitiesdata/caps_2.6.0.ppc64le.xml index 96a02a5..61c5754 100644 --- a/tests/qemucapabilitiesdata/caps_2.6.0.ppc64le.xml +++ b/tests/qemucapabilitiesdata/caps_2.6.0.ppc64le.xml @@ -46,7 +46,6 @@ <flag name='virtio-blk-pci.scsi'/> <flag name='blk-sg-io'/> <flag name='drive-copy-on-read'/> - <flag name='cpu-host'/> <flag name='fsdev-writeout'/> <flag name='drive-iotune'/> <flag name='system_wakeup'/> diff --git a/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml index d51d3f4..9aac595 100644 --- a/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml @@ -57,7 +57,6 @@ <flag name='virtio-blk-pci.scsi'/> <flag name='blk-sg-io'/> <flag name='drive-copy-on-read'/> - <flag name='cpu-host'/> <flag name='fsdev-writeout'/> <flag name='drive-iotune'/> <flag name='system_wakeup'/> diff --git a/tests/qemuhelptest.c b/tests/qemuhelptest.c index c0bc98e..6cd6883 100644 --- a/tests/qemuhelptest.c +++ b/tests/qemuhelptest.c @@ -169,7 +169,6 @@ mymain(void) QEMU_CAPS_NO_SHUTDOWN, QEMU_CAPS_NO_ACPI, QEMU_CAPS_VIRTIO_BLK_SG_IO, - QEMU_CAPS_CPU_HOST, QEMU_CAPS_VNC); DO_TEST("qemu-kvm-0.12.1.2-rhel60", 12001, 1, 0, QEMU_CAPS_DRIVE_BOOT, @@ -205,7 +204,6 @@ mymain(void) QEMU_CAPS_NO_SHUTDOWN, QEMU_CAPS_NO_ACPI, QEMU_CAPS_VIRTIO_BLK_SG_IO, - QEMU_CAPS_CPU_HOST, QEMU_CAPS_VNC, QEMU_CAPS_DEVICE_QXL, QEMU_CAPS_DEVICE_VGA, @@ -243,7 +241,6 @@ mymain(void) QEMU_CAPS_NO_SHUTDOWN, QEMU_CAPS_NO_ACPI, QEMU_CAPS_VIRTIO_BLK_SG_IO, - QEMU_CAPS_CPU_HOST, QEMU_CAPS_VNC); DO_TEST("qemu-kvm-0.13.0", 13000, 1, 0, QEMU_CAPS_DRIVE_BOOT, @@ -285,7 +282,6 @@ mymain(void) QEMU_CAPS_NO_SHUTDOWN, QEMU_CAPS_NO_ACPI, QEMU_CAPS_VIRTIO_BLK_SG_IO, - QEMU_CAPS_CPU_HOST, QEMU_CAPS_SCSI_LSI, QEMU_CAPS_VNC, QEMU_CAPS_DEVICE_QXL, @@ -343,7 +339,6 @@ mymain(void) QEMU_CAPS_NO_ACPI, QEMU_CAPS_VIRTIO_BLK_SCSI, QEMU_CAPS_VIRTIO_BLK_SG_IO, - QEMU_CAPS_CPU_HOST, QEMU_CAPS_BLOCKIO, QEMU_CAPS_VNC, QEMU_CAPS_DEVICE_QXL, @@ -406,7 +401,6 @@ mymain(void) QEMU_CAPS_VIRTIO_BLK_SCSI, QEMU_CAPS_VIRTIO_BLK_SG_IO, QEMU_CAPS_DRIVE_COPY_ON_READ, - QEMU_CAPS_CPU_HOST, QEMU_CAPS_SCSI_CD, QEMU_CAPS_BLOCKIO, QEMU_CAPS_VNC, @@ -469,7 +463,6 @@ mymain(void) QEMU_CAPS_FSDEV_READONLY, QEMU_CAPS_VIRTIO_BLK_SCSI, QEMU_CAPS_VIRTIO_BLK_SG_IO, - QEMU_CAPS_CPU_HOST, QEMU_CAPS_FSDEV_WRITEOUT, QEMU_CAPS_SCSI_BLOCK, QEMU_CAPS_SCSI_CD, @@ -547,7 +540,6 @@ mymain(void) QEMU_CAPS_VIRTIO_BLK_SCSI, QEMU_CAPS_VIRTIO_BLK_SG_IO, QEMU_CAPS_DRIVE_COPY_ON_READ, - QEMU_CAPS_CPU_HOST, QEMU_CAPS_FSDEV_WRITEOUT, QEMU_CAPS_DRIVE_IOTUNE, QEMU_CAPS_SCSI_DISK_CHANNEL, diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index 62466fd..7760647 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -647,7 +647,7 @@ mymain(void) QEMU_CAPS_NO_KVM_PIT); DO_TEST("clock-catchup", QEMU_CAPS_RTC, QEMU_CAPS_NO_KVM_PIT); DO_TEST("cpu-kvmclock", QEMU_CAPS_ENABLE_KVM); - DO_TEST("cpu-host-kvmclock", QEMU_CAPS_ENABLE_KVM, QEMU_CAPS_CPU_HOST); + DO_TEST("cpu-host-kvmclock", QEMU_CAPS_ENABLE_KVM); DO_TEST("kvmclock", QEMU_CAPS_KVM); DO_TEST("clock-timer-hyperv-rtc", QEMU_CAPS_KVM); @@ -1289,10 +1289,9 @@ mymain(void) DO_TEST("cpu-host-model-fallback", NONE); DO_TEST_FAILURE("cpu-host-model-nofallback", NONE); skipLegacyCPUs = false; - DO_TEST("cpu-host-passthrough", QEMU_CAPS_KVM, QEMU_CAPS_CPU_HOST); + DO_TEST("cpu-host-passthrough", QEMU_CAPS_KVM); DO_TEST_FAILURE("cpu-host-passthrough", NONE); - DO_TEST_FAILURE("cpu-qemu-host-passthrough", - QEMU_CAPS_KVM, QEMU_CAPS_CPU_HOST); + DO_TEST_FAILURE("cpu-qemu-host-passthrough", QEMU_CAPS_KVM); driver.caps->host.cpu = cpuHaswell; DO_TEST("cpu-Haswell", QEMU_CAPS_KVM); @@ -1389,9 +1388,9 @@ mymain(void) QEMU_CAPS_NODEFCONFIG); DO_TEST("pseries-cpu-exact", QEMU_CAPS_CHARDEV, QEMU_CAPS_NODEFCONFIG); - DO_TEST("pseries-cpu-compat", QEMU_CAPS_KVM, QEMU_CAPS_CPU_HOST, + DO_TEST("pseries-cpu-compat", QEMU_CAPS_KVM, QEMU_CAPS_CHARDEV, QEMU_CAPS_NODEFCONFIG); - DO_TEST("pseries-cpu-le", QEMU_CAPS_KVM, QEMU_CAPS_CPU_HOST, + DO_TEST("pseries-cpu-le", QEMU_CAPS_KVM, QEMU_CAPS_CHARDEV, QEMU_CAPS_NODEFCONFIG); DO_TEST("pseries-panic-missing", QEMU_CAPS_CHARDEV, QEMU_CAPS_NODEFCONFIG); @@ -1717,49 +1716,49 @@ mymain(void) QEMU_CAPS_DEVICE_VIRTIO_MMIO); DO_TEST("aarch64-cpu-passthrough", QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_DEVICE_VIRTIO_MMIO, - QEMU_CAPS_CPU_HOST, QEMU_CAPS_KVM); + QEMU_CAPS_KVM); DO_TEST("aarch64-gic-none", - QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST, + QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_MACH_VIRT_GIC_VERSION); DO_TEST("aarch64-gic-none", - QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST); + QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT); DO_TEST("aarch64-gic-default", - QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST, + QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_MACH_VIRT_GIC_VERSION); DO_TEST("aarch64-gic-default", - QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST); + QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT); DO_TEST("aarch64-gic-v2", - QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST, + QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_MACH_VIRT_GIC_VERSION); DO_TEST("aarch64-gic-v2", - QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST); + QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT); DO_TEST("aarch64-gic-v3", - QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST, + QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_MACH_VIRT_GIC_VERSION); DO_TEST_FAILURE("aarch64-gic-v3", - QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST); + QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT); DO_TEST("aarch64-gic-host", - QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST, + QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_MACH_VIRT_GIC_VERSION); DO_TEST_FAILURE("aarch64-gic-host", - QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST); + QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT); DO_TEST_PARSE_ERROR("aarch64-gic-invalid", - QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST, + QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_MACH_VIRT_GIC_VERSION); DO_TEST_FAILURE("aarch64-gic-not-virt", - QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST, + QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_MACH_VIRT_GIC_VERSION); DO_TEST_FAILURE("aarch64-gic-not-arm", - QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_CPU_HOST, + QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_MACH_VIRT_GIC_VERSION); driver.caps->host.cpu->arch = VIR_ARCH_AARCH64; DO_TEST("aarch64-kvm-32-on-64", QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_DEVICE_VIRTIO_MMIO, - QEMU_CAPS_KVM, QEMU_CAPS_CPU_HOST, QEMU_CAPS_CPU_AARCH64_OFF); + QEMU_CAPS_KVM, QEMU_CAPS_CPU_AARCH64_OFF); DO_TEST_FAILURE("aarch64-kvm-32-on-64", QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_DEVICE_VIRTIO_MMIO, - QEMU_CAPS_KVM, QEMU_CAPS_CPU_HOST); + QEMU_CAPS_KVM); driver.caps->host.cpu->arch = cpuDefault->arch; DO_TEST("kvm-pit-device", QEMU_CAPS_KVM_PIT_TICK_POLICY); @@ -1787,7 +1786,7 @@ mymain(void) DO_TEST_FAILURE("shmem-small-size", QEMU_CAPS_PCIDEVICE, QEMU_CAPS_DEVICE_IVSHMEM); DO_TEST_PARSE_ERROR("shmem-msi-only", NONE); - DO_TEST("cpu-host-passthrough-features", QEMU_CAPS_KVM, QEMU_CAPS_CPU_HOST); + DO_TEST("cpu-host-passthrough-features", QEMU_CAPS_KVM); DO_TEST_FAILURE("memory-align-fail", NONE); DO_TEST_FAILURE("memory-hotplug-nonuma", QEMU_CAPS_DEVICE_PC_DIMM); -- 2.5.5

The only QEMU versions that don't have such capability are <0.11, which we no longer support anyway --- src/qemu/qemu_capabilities.c | 10 ++------- src/qemu/qemu_capabilities.h | 2 +- src/qemu/qemu_command.c | 11 ---------- tests/qemucapabilitiesdata/caps_1.2.2.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_1.3.1.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_1.4.2.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_1.6.50.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml | 1 - .../caps_2.6.0-gicv2.aarch64.xml | 1 - .../caps_2.6.0-gicv3.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_2.6.0.ppc64le.xml | 1 - tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml | 1 - tests/qemuhelptest.c | 8 ------- tests/qemuxml2argvtest.c | 25 +++++++++++----------- 18 files changed, 15 insertions(+), 54 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index e55e9d0..57cc947 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -1256,9 +1256,6 @@ virQEMUCapsComputeCmdFlags(const char *help, if (strstr(help, "-machine")) virQEMUCapsSet(qemuCaps, QEMU_CAPS_MACHINE_OPT); - if (version >= 11000) - virQEMUCapsSet(qemuCaps, QEMU_CAPS_VIRTIO_BLK_SG_IO); - /* While JSON mode was available in 0.12.0, it was too * incomplete to contemplate using. The 0.13.0 release * is good enough to use, even though it lacks one or @@ -3382,7 +3379,6 @@ virQEMUCapsInitQMPBasic(virQEMUCapsPtr qemuCaps) virQEMUCapsSet(qemuCaps, QEMU_CAPS_NO_SHUTDOWN); virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_CACHE_UNSAFE); virQEMUCapsSet(qemuCaps, QEMU_CAPS_FSDEV_READONLY); - virQEMUCapsSet(qemuCaps, QEMU_CAPS_VIRTIO_BLK_SG_IO); virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_COPY_ON_READ); virQEMUCapsSet(qemuCaps, QEMU_CAPS_FSDEV_WRITEOUT); virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_IOTUNE); @@ -4126,15 +4122,13 @@ virQEMUCapsFillDomainDeviceDiskCaps(virQEMUCapsPtr qemuCaps, /* QEMU supports all of these */ VIR_DOMAIN_CAPS_ENUM_SET(disk->diskDevice, VIR_DOMAIN_DISK_DEVICE_DISK, - VIR_DOMAIN_DISK_DEVICE_CDROM); + VIR_DOMAIN_DISK_DEVICE_CDROM, + VIR_DOMAIN_DISK_DEVICE_LUN); /* PowerPC pseries based VMs do not support floppy device */ if (!(ARCH_IS_PPC64(qemuCaps->arch) && STRPREFIX(machine, "pseries"))) VIR_DOMAIN_CAPS_ENUM_SET(disk->diskDevice, VIR_DOMAIN_DISK_DEVICE_FLOPPY); - if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_BLK_SG_IO)) - VIR_DOMAIN_CAPS_ENUM_SET(disk->diskDevice, VIR_DOMAIN_DISK_DEVICE_LUN); - VIR_DOMAIN_CAPS_ENUM_SET(disk->bus, VIR_DOMAIN_DISK_BUS_IDE, VIR_DOMAIN_DISK_BUS_SCSI, diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index 30e811f..0bb21e5 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -159,7 +159,7 @@ typedef enum { /* 80 */ QEMU_CAPS_VIRTIO_BLK_SCSI, /* virtio-blk-pci.scsi */ - QEMU_CAPS_VIRTIO_BLK_SG_IO, /* SG_IO commands, since 0.11 */ + X_QEMU_CAPS_VIRTIO_BLK_SG_IO, /* SG_IO commands */ QEMU_CAPS_DRIVE_COPY_ON_READ, /* -drive copy-on-read */ X_QEMU_CAPS_CPU_HOST, /* support for -cpu host */ QEMU_CAPS_FSDEV_WRITEOUT, /* -fsdev writeout supported */ diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index b68e32f..b9a0b63 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -1569,17 +1569,6 @@ qemuBuildDriveDevStr(const virDomainDef *def, if (qemuCheckDiskConfig(disk) < 0) goto error; - /* Live only checks */ - if (disk->device == VIR_DOMAIN_DISK_DEVICE_LUN) { - /* make sure that the qemu binary supports type='lun' (SG_IO). */ - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_BLK_SG_IO)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("disk device='lun' is not supported by " - "this QEMU")); - goto error; - } - } - if (!qemuCheckCCWS390AddressSupport(def, disk->info, qemuCaps, disk->dst)) goto error; diff --git a/tests/qemucapabilitiesdata/caps_1.2.2.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.2.2.x86_64.xml index 80b7ab8..96a109b 100644 --- a/tests/qemucapabilitiesdata/caps_1.2.2.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_1.2.2.x86_64.xml @@ -53,7 +53,6 @@ <flag name='no-acpi'/> <flag name='fsdev-readonly'/> <flag name='virtio-blk-pci.scsi'/> - <flag name='blk-sg-io'/> <flag name='drive-copy-on-read'/> <flag name='fsdev-writeout'/> <flag name='drive-iotune'/> diff --git a/tests/qemucapabilitiesdata/caps_1.3.1.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.3.1.x86_64.xml index 452b05f..9646035 100644 --- a/tests/qemucapabilitiesdata/caps_1.3.1.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_1.3.1.x86_64.xml @@ -55,7 +55,6 @@ <flag name='no-acpi'/> <flag name='fsdev-readonly'/> <flag name='virtio-blk-pci.scsi'/> - <flag name='blk-sg-io'/> <flag name='drive-copy-on-read'/> <flag name='fsdev-writeout'/> <flag name='drive-iotune'/> diff --git a/tests/qemucapabilitiesdata/caps_1.4.2.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.4.2.x86_64.xml index c185d9a..ee12473 100644 --- a/tests/qemucapabilitiesdata/caps_1.4.2.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_1.4.2.x86_64.xml @@ -55,7 +55,6 @@ <flag name='no-acpi'/> <flag name='fsdev-readonly'/> <flag name='virtio-blk-pci.scsi'/> - <flag name='blk-sg-io'/> <flag name='drive-copy-on-read'/> <flag name='fsdev-writeout'/> <flag name='drive-iotune'/> diff --git a/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml index 8bf550b..701d2ed 100644 --- a/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml @@ -54,7 +54,6 @@ <flag name='no-acpi'/> <flag name='fsdev-readonly'/> <flag name='virtio-blk-pci.scsi'/> - <flag name='blk-sg-io'/> <flag name='drive-copy-on-read'/> <flag name='fsdev-writeout'/> <flag name='drive-iotune'/> diff --git a/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml index d5664fa..fe05def 100644 --- a/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml @@ -55,7 +55,6 @@ <flag name='no-acpi'/> <flag name='fsdev-readonly'/> <flag name='virtio-blk-pci.scsi'/> - <flag name='blk-sg-io'/> <flag name='drive-copy-on-read'/> <flag name='fsdev-writeout'/> <flag name='drive-iotune'/> diff --git a/tests/qemucapabilitiesdata/caps_1.6.50.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.6.50.x86_64.xml index 6649196..a717308 100644 --- a/tests/qemucapabilitiesdata/caps_1.6.50.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_1.6.50.x86_64.xml @@ -55,7 +55,6 @@ <flag name='no-acpi'/> <flag name='fsdev-readonly'/> <flag name='virtio-blk-pci.scsi'/> - <flag name='blk-sg-io'/> <flag name='drive-copy-on-read'/> <flag name='fsdev-writeout'/> <flag name='drive-iotune'/> diff --git a/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml index 581b38c..6665215 100644 --- a/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml @@ -56,7 +56,6 @@ <flag name='no-acpi'/> <flag name='fsdev-readonly'/> <flag name='virtio-blk-pci.scsi'/> - <flag name='blk-sg-io'/> <flag name='drive-copy-on-read'/> <flag name='fsdev-writeout'/> <flag name='drive-iotune'/> diff --git a/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml index 15b6c34..b4b5b60 100644 --- a/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml @@ -55,7 +55,6 @@ <flag name='no-acpi'/> <flag name='fsdev-readonly'/> <flag name='virtio-blk-pci.scsi'/> - <flag name='blk-sg-io'/> <flag name='drive-copy-on-read'/> <flag name='fsdev-writeout'/> <flag name='drive-iotune'/> diff --git a/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml index 08b734d..df2c9b4 100644 --- a/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml @@ -55,7 +55,6 @@ <flag name='no-acpi'/> <flag name='fsdev-readonly'/> <flag name='virtio-blk-pci.scsi'/> - <flag name='blk-sg-io'/> <flag name='drive-copy-on-read'/> <flag name='fsdev-writeout'/> <flag name='drive-iotune'/> diff --git a/tests/qemucapabilitiesdata/caps_2.6.0-gicv2.aarch64.xml b/tests/qemucapabilitiesdata/caps_2.6.0-gicv2.aarch64.xml index a14b73d..619aa22 100644 --- a/tests/qemucapabilitiesdata/caps_2.6.0-gicv2.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_2.6.0-gicv2.aarch64.xml @@ -46,7 +46,6 @@ <flag name='ich9-ahci'/> <flag name='fsdev-readonly'/> <flag name='virtio-blk-pci.scsi'/> - <flag name='blk-sg-io'/> <flag name='drive-copy-on-read'/> <flag name='fsdev-writeout'/> <flag name='drive-iotune'/> diff --git a/tests/qemucapabilitiesdata/caps_2.6.0-gicv3.aarch64.xml b/tests/qemucapabilitiesdata/caps_2.6.0-gicv3.aarch64.xml index 72c908d..9ef9a91 100644 --- a/tests/qemucapabilitiesdata/caps_2.6.0-gicv3.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_2.6.0-gicv3.aarch64.xml @@ -46,7 +46,6 @@ <flag name='ich9-ahci'/> <flag name='fsdev-readonly'/> <flag name='virtio-blk-pci.scsi'/> - <flag name='blk-sg-io'/> <flag name='drive-copy-on-read'/> <flag name='fsdev-writeout'/> <flag name='drive-iotune'/> diff --git a/tests/qemucapabilitiesdata/caps_2.6.0.ppc64le.xml b/tests/qemucapabilitiesdata/caps_2.6.0.ppc64le.xml index 61c5754..56c661d 100644 --- a/tests/qemucapabilitiesdata/caps_2.6.0.ppc64le.xml +++ b/tests/qemucapabilitiesdata/caps_2.6.0.ppc64le.xml @@ -44,7 +44,6 @@ <flag name='ich9-ahci'/> <flag name='fsdev-readonly'/> <flag name='virtio-blk-pci.scsi'/> - <flag name='blk-sg-io'/> <flag name='drive-copy-on-read'/> <flag name='fsdev-writeout'/> <flag name='drive-iotune'/> diff --git a/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml index 9aac595..6f80d8e 100644 --- a/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml @@ -55,7 +55,6 @@ <flag name='no-acpi'/> <flag name='fsdev-readonly'/> <flag name='virtio-blk-pci.scsi'/> - <flag name='blk-sg-io'/> <flag name='drive-copy-on-read'/> <flag name='fsdev-writeout'/> <flag name='drive-iotune'/> diff --git a/tests/qemuhelptest.c b/tests/qemuhelptest.c index 6cd6883..f94f2d0 100644 --- a/tests/qemuhelptest.c +++ b/tests/qemuhelptest.c @@ -168,7 +168,6 @@ mymain(void) QEMU_CAPS_DRIVE_AIO, QEMU_CAPS_NO_SHUTDOWN, QEMU_CAPS_NO_ACPI, - QEMU_CAPS_VIRTIO_BLK_SG_IO, QEMU_CAPS_VNC); DO_TEST("qemu-kvm-0.12.1.2-rhel60", 12001, 1, 0, QEMU_CAPS_DRIVE_BOOT, @@ -203,7 +202,6 @@ mymain(void) QEMU_CAPS_USB_HUB, QEMU_CAPS_NO_SHUTDOWN, QEMU_CAPS_NO_ACPI, - QEMU_CAPS_VIRTIO_BLK_SG_IO, QEMU_CAPS_VNC, QEMU_CAPS_DEVICE_QXL, QEMU_CAPS_DEVICE_VGA, @@ -240,7 +238,6 @@ mymain(void) QEMU_CAPS_DRIVE_AIO, QEMU_CAPS_NO_SHUTDOWN, QEMU_CAPS_NO_ACPI, - QEMU_CAPS_VIRTIO_BLK_SG_IO, QEMU_CAPS_VNC); DO_TEST("qemu-kvm-0.13.0", 13000, 1, 0, QEMU_CAPS_DRIVE_BOOT, @@ -281,7 +278,6 @@ mymain(void) QEMU_CAPS_USB_HUB, QEMU_CAPS_NO_SHUTDOWN, QEMU_CAPS_NO_ACPI, - QEMU_CAPS_VIRTIO_BLK_SG_IO, QEMU_CAPS_SCSI_LSI, QEMU_CAPS_VNC, QEMU_CAPS_DEVICE_QXL, @@ -338,7 +334,6 @@ mymain(void) QEMU_CAPS_NO_SHUTDOWN, QEMU_CAPS_NO_ACPI, QEMU_CAPS_VIRTIO_BLK_SCSI, - QEMU_CAPS_VIRTIO_BLK_SG_IO, QEMU_CAPS_BLOCKIO, QEMU_CAPS_VNC, QEMU_CAPS_DEVICE_QXL, @@ -399,7 +394,6 @@ mymain(void) QEMU_CAPS_NO_SHUTDOWN, QEMU_CAPS_NO_ACPI, QEMU_CAPS_VIRTIO_BLK_SCSI, - QEMU_CAPS_VIRTIO_BLK_SG_IO, QEMU_CAPS_DRIVE_COPY_ON_READ, QEMU_CAPS_SCSI_CD, QEMU_CAPS_BLOCKIO, @@ -462,7 +456,6 @@ mymain(void) QEMU_CAPS_NO_ACPI, QEMU_CAPS_FSDEV_READONLY, QEMU_CAPS_VIRTIO_BLK_SCSI, - QEMU_CAPS_VIRTIO_BLK_SG_IO, QEMU_CAPS_FSDEV_WRITEOUT, QEMU_CAPS_SCSI_BLOCK, QEMU_CAPS_SCSI_CD, @@ -538,7 +531,6 @@ mymain(void) QEMU_CAPS_NO_ACPI, QEMU_CAPS_FSDEV_READONLY, QEMU_CAPS_VIRTIO_BLK_SCSI, - QEMU_CAPS_VIRTIO_BLK_SG_IO, QEMU_CAPS_DRIVE_COPY_ON_READ, QEMU_CAPS_FSDEV_WRITEOUT, QEMU_CAPS_DRIVE_IOTUNE, diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index 7760647..a40cfac 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -615,21 +615,21 @@ mymain(void) QEMU_CAPS_BOOTINDEX); DO_TEST_PARSE_ERROR("boot-dev+order", QEMU_CAPS_BOOTINDEX, - QEMU_CAPS_VIRTIO_BLK_SCSI, QEMU_CAPS_VIRTIO_BLK_SG_IO); + QEMU_CAPS_VIRTIO_BLK_SCSI); DO_TEST("boot-order", QEMU_CAPS_BOOTINDEX, - QEMU_CAPS_VIRTIO_BLK_SCSI, QEMU_CAPS_VIRTIO_BLK_SG_IO); + QEMU_CAPS_VIRTIO_BLK_SCSI); DO_TEST("boot-complex", QEMU_CAPS_DRIVE_BOOT, - QEMU_CAPS_VIRTIO_BLK_SCSI, QEMU_CAPS_VIRTIO_BLK_SG_IO); + QEMU_CAPS_VIRTIO_BLK_SCSI); DO_TEST("boot-complex-bootindex", QEMU_CAPS_DRIVE_BOOT, QEMU_CAPS_BOOTINDEX, - QEMU_CAPS_VIRTIO_BLK_SCSI, QEMU_CAPS_VIRTIO_BLK_SG_IO); + QEMU_CAPS_VIRTIO_BLK_SCSI); DO_TEST("boot-strict", QEMU_CAPS_DRIVE_BOOT, QEMU_CAPS_BOOTINDEX, QEMU_CAPS_BOOT_STRICT, - QEMU_CAPS_VIRTIO_BLK_SCSI, QEMU_CAPS_VIRTIO_BLK_SG_IO); + QEMU_CAPS_VIRTIO_BLK_SCSI); DO_TEST("reboot-timeout-disabled", QEMU_CAPS_REBOOT_TIMEOUT); DO_TEST("reboot-timeout-enabled", QEMU_CAPS_REBOOT_TIMEOUT); @@ -727,8 +727,7 @@ mymain(void) DO_TEST("disk-virtio-scsi-ccw", QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390); DO_TEST("disk-order", - QEMU_CAPS_DRIVE_BOOT, - QEMU_CAPS_VIRTIO_BLK_SCSI, QEMU_CAPS_VIRTIO_BLK_SG_IO); + QEMU_CAPS_DRIVE_BOOT, QEMU_CAPS_VIRTIO_BLK_SCSI); DO_TEST("disk-xenvbd", QEMU_CAPS_DRIVE_BOOT); DO_TEST("disk-drive-boot-disk", QEMU_CAPS_DRIVE_BOOT); @@ -771,7 +770,7 @@ mymain(void) DO_TEST("disk-drive-network-iscsi-auth", NONE); DO_TEST("disk-drive-network-iscsi-lun", QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_VIRTIO_SCSI, - QEMU_CAPS_VIRTIO_BLK_SG_IO, QEMU_CAPS_SCSI_BLOCK); + QEMU_CAPS_SCSI_BLOCK); DO_TEST("disk-drive-network-gluster", NONE); DO_TEST("disk-drive-network-rbd", NONE); DO_TEST("disk-drive-network-sheepdog", NONE); @@ -847,11 +846,11 @@ mymain(void) DO_TEST("disk-ioeventfd", QEMU_CAPS_VIRTIO_IOEVENTFD, QEMU_CAPS_VIRTIO_TX_ALG, - QEMU_CAPS_VIRTIO_BLK_SCSI, QEMU_CAPS_VIRTIO_BLK_SG_IO); + QEMU_CAPS_VIRTIO_BLK_SCSI); DO_TEST("disk-copy_on_read", QEMU_CAPS_DRIVE_COPY_ON_READ, QEMU_CAPS_VIRTIO_TX_ALG, - QEMU_CAPS_VIRTIO_BLK_SCSI, QEMU_CAPS_VIRTIO_BLK_SG_IO); + QEMU_CAPS_VIRTIO_BLK_SCSI); DO_TEST("disk-drive-discard", QEMU_CAPS_DRIVE_DISCARD); DO_TEST("disk-snapshot", NONE); @@ -861,11 +860,11 @@ mymain(void) DO_TEST("event_idx", QEMU_CAPS_VIRTIO_BLK_EVENT_IDX, QEMU_CAPS_VIRTIO_NET_EVENT_IDX, - QEMU_CAPS_VIRTIO_BLK_SCSI, QEMU_CAPS_VIRTIO_BLK_SG_IO); + QEMU_CAPS_VIRTIO_BLK_SCSI); DO_TEST("virtio-lun", - QEMU_CAPS_VIRTIO_BLK_SCSI, QEMU_CAPS_VIRTIO_BLK_SG_IO); + QEMU_CAPS_VIRTIO_BLK_SCSI); DO_TEST("disk-scsi-lun-passthrough", - QEMU_CAPS_SCSI_BLOCK, QEMU_CAPS_VIRTIO_BLK_SG_IO, + QEMU_CAPS_SCSI_BLOCK, QEMU_CAPS_SCSI_LSI, QEMU_CAPS_VIRTIO_SCSI); DO_TEST("disk-serial", QEMU_CAPS_KVM, -- 2.5.5

On Mon, May 16, 2016 at 12:01:37PM +0200, Andrea Bolognani wrote:
Differences from [v1]:
* Instead of unconditionally enable capabilities that are guaranteed to be available on any QEMU version we support, prefix them with X_ and remove all uses, as suggested by Pavel and Cole
[v1] https://www.redhat.com/archives/libvir-list/2016-May/msg00967.html
Andrea Bolognani (3): qemu: Drop QEMU_CAPS_PCI_ROMBAR qemu: Drop QEMU_CAPS_CPU_HOST qemu: Drop QEMU_CAPS_VIRTIO_BLK_SG_IO
src/qemu/qemu_capabilities.c | 36 ++--------- src/qemu/qemu_capabilities.h | 6 +- src/qemu/qemu_command.c | 32 ++-------- tests/qemucapabilitiesdata/caps_1.2.2.x86_64.xml | 2 - tests/qemucapabilitiesdata/caps_1.3.1.x86_64.xml | 3 - tests/qemucapabilitiesdata/caps_1.4.2.x86_64.xml | 3 - tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml | 3 - tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml | 3 - tests/qemucapabilitiesdata/caps_1.6.50.x86_64.xml | 3 - tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml | 3 - tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml | 3 - tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml | 3 - .../caps_2.6.0-gicv2.aarch64.xml | 2 - .../caps_2.6.0-gicv3.aarch64.xml | 2 - tests/qemucapabilitiesdata/caps_2.6.0.ppc64le.xml | 2 - tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml | 3 - tests/qemuhelptest.c | 24 ------- tests/qemuxml2argvtest.c | 73 +++++++++++----------- 18 files changed, 47 insertions(+), 159 deletions(-)
ACK series Jan

On Mon, 2016-05-16 at 17:38 +0200, Ján Tomko wrote:
Andrea Bolognani (3): qemu: Drop QEMU_CAPS_PCI_ROMBAR qemu: Drop QEMU_CAPS_CPU_HOST qemu: Drop QEMU_CAPS_VIRTIO_BLK_SG_IO
ACK series
Pushed, thanks :) -- Andrea Bolognani Software Engineer - Virtualization Team
participants (2)
-
Andrea Bolognani
-
Ján Tomko