[libvirt] [PATCH 0/9] Deprecate more unused QEMU_CAPS

Cleaning up after QEMU_CAPS_DEVICE I noticed QEMU_CAPS_DRIVE_READONLY depends on it and QEMU_CAPS_PCIDEVICE did not really matter. Ján Tomko (9): qemu_command: assume QEMU_CAPS_DEVICE qemu: assume QEMU_CAPS_DEVICE almost everywhere tests: remove disk-drive-fat test tests: remove <readonly/> from IDE disks tests: always assume QEMU_CAPS_DRIVE_READONLY qemu: always assume QEMU_CAPS_DRIVE_READONLY Deprecate QEMU_CAPS_DRIVE_READONLY Deprecate QEMU_CAPS_DEVICE Deprecate QEMU_CAPS_PCIDEVICE src/qemu/qemu_capabilities.c | 46 +-- src/qemu/qemu_capabilities.h | 6 +- src/qemu/qemu_command.c | 425 ++++++--------------- src/qemu/qemu_command.h | 3 +- src/qemu/qemu_domain.c | 6 +- src/qemu/qemu_domain.h | 1 - src/qemu/qemu_hostdev.c | 4 +- src/qemu/qemu_hotplug.c | 61 +-- src/qemu/qemu_process.c | 8 +- tests/qemucapabilitiesdata/caps_1.2.2.x86_64.xml | 2 - tests/qemucapabilitiesdata/caps_1.3.1.x86_64.xml | 2 - tests/qemucapabilitiesdata/caps_1.4.2.x86_64.xml | 2 - tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml | 2 - tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml | 2 - tests/qemucapabilitiesdata/caps_1.6.50.x86_64.xml | 2 - tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml | 2 - tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml | 2 - tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml | 2 - .../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 | 2 - tests/qemuhelptest.c | 45 +-- tests/qemuhotplugtest.c | 2 - .../qemuxml2argvdata/qemuxml2argv-boot-cdrom.args | 3 +- .../qemuxml2argv-boot-complex-bootindex.args | 3 +- .../qemuxml2argv-boot-complex.args | 3 +- ...xml2argv-boot-menu-disable-drive-bootindex.args | 3 +- .../qemuxml2argv-boot-menu-disable-drive.args | 3 +- .../qemuxml2argv-boot-menu-disable.args | 3 +- ...qemuxml2argv-boot-menu-enable-with-timeout.args | 3 +- .../qemuxml2argv-boot-menu-enable.args | 3 +- .../qemuxml2argvdata/qemuxml2argv-boot-multi.args | 3 +- .../qemuxml2argvdata/qemuxml2argv-boot-order.args | 3 +- .../qemuxml2argvdata/qemuxml2argv-boot-strict.args | 3 +- .../qemuxml2argv-controller-order.args | 2 +- tests/qemuxml2argvdata/qemuxml2argv-disk-aio.args | 2 +- .../qemuxml2argv-disk-blockio.args | 3 +- .../qemuxml2argv-disk-cdrom-empty.args | 2 +- .../qemuxml2argv-disk-cdrom-network-ftp.args | 2 +- .../qemuxml2argv-disk-cdrom-network-ftps.args | 2 +- .../qemuxml2argv-disk-cdrom-network-http.args | 2 +- .../qemuxml2argv-disk-cdrom-network-https.args | 2 +- .../qemuxml2argv-disk-cdrom-network-tftp.args | 2 +- ...qemuxml2argv-disk-cdrom-tray-no-device-cap.args | 2 +- .../qemuxml2argv-disk-cdrom-tray.args | 4 +- .../qemuxml2argvdata/qemuxml2argv-disk-cdrom.args | 3 +- .../qemuxml2argv-disk-copy_on_read.args | 2 +- .../qemuxml2argv-disk-drive-boot-cdrom.args | 2 +- .../qemuxml2argv-disk-drive-boot-disk.args | 2 +- .../qemuxml2argv-disk-drive-cache-directsync.args | 2 +- .../qemuxml2argv-disk-drive-cache-unsafe.args | 2 +- .../qemuxml2argv-disk-drive-cache-v2-none.args | 2 +- .../qemuxml2argv-disk-drive-cache-v2-wb.args | 2 +- .../qemuxml2argv-disk-drive-cache-v2-wt.args | 2 +- .../qemuxml2argv-disk-drive-discard.args | 2 +- ...uxml2argv-disk-drive-error-policy-enospace.args | 2 +- .../qemuxml2argv-disk-drive-error-policy-stop.args | 2 +- ...gv-disk-drive-error-policy-wreport-rignore.args | 2 +- .../qemuxml2argv-disk-drive-fat.args | 22 -- .../qemuxml2argv-disk-drive-fat.xml | 31 -- .../qemuxml2argv-disk-drive-fmt-qcow.args | 2 +- .../qemuxml2argv-disk-drive-no-boot.args | 2 +- .../qemuxml2argv-disk-drive-shared.args | 2 +- .../qemuxml2argv-disk-ide-drive-split.args | 3 +- .../qemuxml2argv-disk-ioeventfd.args | 2 +- .../qemuxml2argvdata/qemuxml2argv-disk-order.args | 2 +- .../qemuxml2argv-disk-scsi-disk-split.args | 6 +- .../qemuxml2argv-disk-scsi-disk-vpd.args | 6 +- .../qemuxml2argv-disk-scsi-disk-wwn.args | 3 +- .../qemuxml2argv-disk-snapshot.args | 2 +- .../qemuxml2argv-disk-source-pool-mode.args | 5 +- .../qemuxml2argv-disk-source-pool.args | 5 +- .../qemuxml2argvdata/qemuxml2argv-disk-virtio.args | 2 +- tests/qemuxml2argvdata/qemuxml2argv-event_idx.args | 2 +- .../qemuxml2argv-floppy-drive-fat.args | 2 +- .../qemuxml2argv-graphics-spice-timeout.args | 2 +- .../qemuxml2argv-hugepages-numa.args | 2 +- .../qemuxml2argv-pci-autoadd-addr.args | 3 +- .../qemuxml2argv-pci-autoadd-idx.args | 3 +- tests/qemuxml2argvdata/qemuxml2argv-pci-many.args | 3 +- .../qemuxml2argv-seclabel-dynamic-override.xml | 1 - tests/qemuxml2argvtest.c | 43 +-- .../qemuxml2xmlout-seclabel-dynamic-override.xml | 1 - tests/qemuxml2xmltest.c | 2 - 85 files changed, 246 insertions(+), 631 deletions(-) delete mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-drive-fat.args delete mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-drive-fat.xml -- 2.7.3

Drop some checks that are no longer necessary as well as -usbdevice -pcidevice and -soundhw support. --- src/qemu/qemu_command.c | 384 +++++++++++++----------------------------------- 1 file changed, 102 insertions(+), 282 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index ce034b7..5590fb6 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -2775,9 +2775,6 @@ qemuBuildControllerDevCommandLine(virCommandPtr cmd, VIR_DOMAIN_CONTROLLER_TYPE_CCID, }; - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE)) - goto check_add_usb; - for (j = 0; j < ARRAY_CARDINALITY(contOrder); j++) { for (i = 0; i < def->ncontrollers; i++) { virDomainControllerDefPtr cont = def->controllers[i]; @@ -2846,7 +2843,6 @@ qemuBuildControllerDevCommandLine(virCommandPtr cmd, } } - check_add_usb: if (usbcontroller == 0 && !qemuDomainMachineIsQ35(def) && !ARCH_IS_S390(def->os.arch)) @@ -3549,25 +3545,12 @@ qemuBuildWatchdogCommandLine(virCommandPtr cmd, if (!def->watchdog) return 0; - if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE)) { - virCommandAddArg(cmd, "-device"); - - optstr = qemuBuildWatchdogDevStr(def, watchdog, qemuCaps); - if (!optstr) - return -1; - } else { - virCommandAddArg(cmd, "-watchdog"); + virCommandAddArg(cmd, "-device"); - const char *model = virDomainWatchdogModelTypeToString(watchdog->model); - if (!model) { - virReportError(VIR_ERR_INTERNAL_ERROR, - "%s", _("missing watchdog model")); - return -1; - } + optstr = qemuBuildWatchdogDevStr(def, watchdog, qemuCaps); + if (!optstr) + return -1; - if (VIR_STRDUP(optstr, model) < 0) - return -1; - } virCommandAddArg(cmd, optstr); VIR_FREE(optstr); @@ -3830,27 +3813,12 @@ qemuBuildInputCommandLine(virCommandPtr cmd, virDomainInputDefPtr input = def->inputs[i]; if (input->bus == VIR_DOMAIN_INPUT_BUS_USB) { - if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE)) { - char *optstr; - virCommandAddArg(cmd, "-device"); - if (!(optstr = qemuBuildUSBInputDevStr(def, input, qemuCaps))) - return -1; - virCommandAddArg(cmd, optstr); - VIR_FREE(optstr); - } else { - switch (input->type) { - case VIR_DOMAIN_INPUT_TYPE_MOUSE: - virCommandAddArgList(cmd, "-usbdevice", "mouse", NULL); - break; - case VIR_DOMAIN_INPUT_TYPE_TABLET: - virCommandAddArgList(cmd, "-usbdevice", "tablet", NULL); - break; - case VIR_DOMAIN_INPUT_TYPE_KBD: - virCommandAddArgList(cmd, "-usbdevice", "keyboard", - NULL); - break; - } - } + char *optstr; + virCommandAddArg(cmd, "-device"); + if (!(optstr = qemuBuildUSBInputDevStr(def, input, qemuCaps))) + return -1; + virCommandAddArg(cmd, optstr); + VIR_FREE(optstr); } else if (input->bus == VIR_DOMAIN_INPUT_BUS_VIRTIO) { char *optstr; virCommandAddArg(cmd, "-device"); @@ -3979,92 +3947,55 @@ qemuBuildSoundCommandLine(virCommandPtr cmd, { size_t i, j; - if (!def->nsounds) - return 0; + for (i = 0; i < def->nsounds; i++) { + virDomainSoundDefPtr sound = def->sounds[i]; + char *str = NULL; - if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE)) { - for (i = 0; i < def->nsounds; i++) { - virDomainSoundDefPtr sound = def->sounds[i]; - char *str = NULL; + /* Sadly pcspk device doesn't use -device syntax. Fortunately + * we don't need to set any PCI address on it, so we don't + * mind too much */ + if (sound->model == VIR_DOMAIN_SOUND_MODEL_PCSPK) { + virCommandAddArgList(cmd, "-soundhw", "pcspk", NULL); + } else { + virCommandAddArg(cmd, "-device"); + if (!(str = qemuBuildSoundDevStr(def, sound, qemuCaps))) + return -1; - /* Sadly pcspk device doesn't use -device syntax. Fortunately - * we don't need to set any PCI address on it, so we don't - * mind too much */ - if (sound->model == VIR_DOMAIN_SOUND_MODEL_PCSPK) { - virCommandAddArgList(cmd, "-soundhw", "pcspk", NULL); - } else { - virCommandAddArg(cmd, "-device"); - if (!(str = qemuBuildSoundDevStr(def, sound, qemuCaps))) - return -1; + virCommandAddArg(cmd, str); + VIR_FREE(str); + if (sound->model == VIR_DOMAIN_SOUND_MODEL_ICH6 || + sound->model == VIR_DOMAIN_SOUND_MODEL_ICH9) { + char *codecstr = NULL; - virCommandAddArg(cmd, str); - VIR_FREE(str); - if (sound->model == VIR_DOMAIN_SOUND_MODEL_ICH6 || - sound->model == VIR_DOMAIN_SOUND_MODEL_ICH9) { - char *codecstr = NULL; - - for (j = 0; j < sound->ncodecs; j++) { - virCommandAddArg(cmd, "-device"); - if (!(codecstr = - qemuBuildSoundCodecStr(sound, sound->codecs[j], - qemuCaps))) { - return -1; + for (j = 0; j < sound->ncodecs; j++) { + virCommandAddArg(cmd, "-device"); + if (!(codecstr = + qemuBuildSoundCodecStr(sound, sound->codecs[j], + qemuCaps))) { + return -1; - } - virCommandAddArg(cmd, codecstr); - VIR_FREE(codecstr); } - if (j == 0) { - virDomainSoundCodecDef codec = { - VIR_DOMAIN_SOUND_CODEC_TYPE_DUPLEX, - 0 - }; - virCommandAddArg(cmd, "-device"); - if (!(codecstr = - qemuBuildSoundCodecStr(sound, &codec, - qemuCaps))) { - return -1; + virCommandAddArg(cmd, codecstr); + VIR_FREE(codecstr); + } + if (j == 0) { + virDomainSoundCodecDef codec = { + VIR_DOMAIN_SOUND_CODEC_TYPE_DUPLEX, + 0 + }; + virCommandAddArg(cmd, "-device"); + if (!(codecstr = + qemuBuildSoundCodecStr(sound, &codec, + qemuCaps))) { + return -1; - } - virCommandAddArg(cmd, codecstr); - VIR_FREE(codecstr); } + virCommandAddArg(cmd, codecstr); + VIR_FREE(codecstr); } } } - } else { - int size = 100; - char *modstr; - if (VIR_ALLOC_N(modstr, size+1) < 0) - return -1; - - for (i = 0; i < def->nsounds && size > 0; i++) { - virDomainSoundDefPtr sound = def->sounds[i]; - const char *model = virDomainSoundModelTypeToString(sound->model); - if (!model) { - VIR_FREE(modstr); - virReportError(VIR_ERR_INTERNAL_ERROR, - "%s", _("invalid sound model")); - return -1; - } - - if (sound->model == VIR_DOMAIN_SOUND_MODEL_ICH6 || - sound->model == VIR_DOMAIN_SOUND_MODEL_ICH9) { - VIR_FREE(modstr); - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("this QEMU binary lacks hda support")); - return -1; - } - - strncat(modstr, model, size); - size -= strlen(model); - if (i < (def->nsounds - 1)) - strncat(modstr, ",", size--); - } - virCommandAddArgList(cmd, "-soundhw", modstr, NULL); - VIR_FREE(modstr); } - return 0; } @@ -4254,8 +4185,7 @@ qemuBuildVideoCommandLine(virCommandPtr cmd, const char *dev = qemuDeviceVideoTypeToString(primaryVideoType); if (def->videos[0]->type == VIR_DOMAIN_VIDEO_TYPE_QXL && - (def->videos[0]->vram || def->videos[0]->ram) && - virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE)) { + (def->videos[0]->vram || def->videos[0]->ram)) { unsigned int ram = def->videos[0]->ram; unsigned int vram = def->videos[0]->vram; unsigned int vram64 = def->videos[0]->vram64; @@ -4298,8 +4228,7 @@ qemuBuildVideoCommandLine(virCommandPtr cmd, } } - if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE) && - def->videos[0]->vram && + if (def->videos[0]->vram && ((primaryVideoType == VIR_DOMAIN_VIDEO_TYPE_VGA && virQEMUCapsGet(qemuCaps, QEMU_CAPS_VGA_VGAMEM)) || (primaryVideoType == VIR_DOMAIN_VIDEO_TYPE_VMVGA && @@ -4319,31 +4248,23 @@ qemuBuildVideoCommandLine(virCommandPtr cmd, } } - if (def->nvideos > 1) { - if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE)) { - for (i = 1; i < def->nvideos; i++) { - char *str; - if (def->videos[i]->type != VIR_DOMAIN_VIDEO_TYPE_QXL) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, - _("video type %s is only valid as primary video card"), - virDomainVideoTypeToString(def->videos[0]->type)); - return -1; - } - - virCommandAddArg(cmd, "-device"); + for (i = 1; i < def->nvideos; i++) { + char *str; + if (def->videos[i]->type != VIR_DOMAIN_VIDEO_TYPE_QXL) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("video type %s is only valid as primary video card"), + virDomainVideoTypeToString(def->videos[0]->type)); + return -1; + } - if (!(str = qemuBuildDeviceVideoStr(def, def->videos[i], - qemuCaps))) - return -1; + virCommandAddArg(cmd, "-device"); - virCommandAddArg(cmd, str); - VIR_FREE(str); - } - } else { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("only one video card is currently supported")); + if (!(str = qemuBuildDeviceVideoStr(def, def->videos[i], + qemuCaps))) return -1; - } + + virCommandAddArg(cmd, str); + VIR_FREE(str); } } @@ -4440,34 +4361,6 @@ qemuBuildPCIHostdevDevStr(const virDomainDef *def, } -static char * -qemuBuildPCIHostdevPCIDevStr(virDomainHostdevDefPtr dev, - virQEMUCapsPtr qemuCaps) -{ - char *ret = NULL; - virDomainHostdevSubsysPCIPtr pcisrc = &dev->source.subsys.u.pci; - - if (pcisrc->addr.domain) { - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_HOST_PCI_MULTIDOMAIN)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, - _("non-zero domain='%.4x' in host device PCI address " - "not supported in this QEMU binary"), - pcisrc->addr.domain); - goto cleanup; - } - ignore_value(virAsprintf(&ret, "host=%.4x:%.2x:%.2x.%.1x", - pcisrc->addr.domain, pcisrc->addr.bus, - pcisrc->addr.slot, pcisrc->addr.function)); - } else { - ignore_value(virAsprintf(&ret, "host=%.2x:%.2x.%.1x", - pcisrc->addr.bus, pcisrc->addr.slot, - pcisrc->addr.function)); - } - cleanup: - return ret; -} - - char * qemuBuildUSBHostdevDevStr(const virDomainDef *def, virDomainHostdevDefPtr dev, @@ -4564,28 +4457,6 @@ qemuBuildHubCommandLine(virCommandPtr cmd, static char * -qemuBuildUSBHostdevUSBDevStr(virDomainHostdevDefPtr dev) -{ - char *ret = NULL; - virDomainHostdevSubsysUSBPtr usbsrc = &dev->source.subsys.u.usb; - - if (dev->missing) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("This QEMU doesn't not support missing USB devices")); - return NULL; - } - - if (!usbsrc->bus && !usbsrc->device) { - virReportError(VIR_ERR_INTERNAL_ERROR, "%s", - _("USB host device is missing bus/device information")); - return NULL; - } - - ignore_value(virAsprintf(&ret, "host:%d.%d", usbsrc->bus, usbsrc->device)); - return ret; -} - -static char * qemuBuildSCSIHostHostdevDrvStr(virDomainHostdevDefPtr dev) { virDomainHostdevSubsysSCSIPtr scsisrc = &dev->source.subsys.u.scsi; @@ -4990,20 +4861,12 @@ qemuBuildHostdevCommandLine(virCommandPtr cmd, if (hostdev->mode == VIR_DOMAIN_HOSTDEV_MODE_SUBSYS && subsys->type == VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_USB) { - if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE)) { - virCommandAddArg(cmd, "-device"); - if (!(devstr = - qemuBuildUSBHostdevDevStr(def, hostdev, qemuCaps))) - return -1; - virCommandAddArg(cmd, devstr); - VIR_FREE(devstr); - } else { - virCommandAddArg(cmd, "-usbdevice"); - if (!(devstr = qemuBuildUSBHostdevUSBDevStr(hostdev))) - return -1; - virCommandAddArg(cmd, devstr); - VIR_FREE(devstr); - } + virCommandAddArg(cmd, "-device"); + if (!(devstr = + qemuBuildUSBHostdevDevStr(def, hostdev, qemuCaps))) + return -1; + virCommandAddArg(cmd, devstr); + VIR_FREE(devstr); } /* PCI */ @@ -5020,58 +4883,45 @@ qemuBuildHostdevCommandLine(virCommandPtr cmd, } } - if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE)) { - char *configfd_name = NULL; - unsigned int bootIndex = hostdev->info->bootIndex; - - /* bootNet will be non-0 if boot order was set and no other - * net devices were encountered - */ - if (hostdev->parent.type == VIR_DOMAIN_DEVICE_NET && - bootIndex == 0) { - bootIndex = *bootHostdevNet; - *bootHostdevNet = 0; - } - if ((backend != VIR_DOMAIN_HOSTDEV_PCI_BACKEND_VFIO) && - virQEMUCapsGet(qemuCaps, QEMU_CAPS_PCI_CONFIGFD)) { - int configfd = qemuOpenPCIConfig(hostdev); + char *configfd_name = NULL; + unsigned int bootIndex = hostdev->info->bootIndex; - if (configfd >= 0) { - if (virAsprintf(&configfd_name, "%d", configfd) < 0) { - VIR_FORCE_CLOSE(configfd); - return -1; - } - - virCommandPassFD(cmd, configfd, - VIR_COMMAND_PASS_FD_CLOSE_PARENT); + /* bootNet will be non-0 if boot order was set and no other + * net devices were encountered + */ + if (hostdev->parent.type == VIR_DOMAIN_DEVICE_NET && + bootIndex == 0) { + bootIndex = *bootHostdevNet; + *bootHostdevNet = 0; + } + if ((backend != VIR_DOMAIN_HOSTDEV_PCI_BACKEND_VFIO) && + virQEMUCapsGet(qemuCaps, QEMU_CAPS_PCI_CONFIGFD)) { + int configfd = qemuOpenPCIConfig(hostdev); + + if (configfd >= 0) { + if (virAsprintf(&configfd_name, "%d", configfd) < 0) { + VIR_FORCE_CLOSE(configfd); + return -1; } + + virCommandPassFD(cmd, configfd, + VIR_COMMAND_PASS_FD_CLOSE_PARENT); } - virCommandAddArg(cmd, "-device"); - devstr = qemuBuildPCIHostdevDevStr(def, hostdev, bootIndex, - configfd_name, qemuCaps); - VIR_FREE(configfd_name); - if (!devstr) - return -1; - virCommandAddArg(cmd, devstr); - VIR_FREE(devstr); - } else if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_PCIDEVICE)) { - virCommandAddArg(cmd, "-pcidevice"); - if (!(devstr = qemuBuildPCIHostdevPCIDevStr(hostdev, qemuCaps))) - return -1; - virCommandAddArg(cmd, devstr); - VIR_FREE(devstr); - } else { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("PCI device assignment is not supported by this version of qemu")); - return -1; } + virCommandAddArg(cmd, "-device"); + devstr = qemuBuildPCIHostdevDevStr(def, hostdev, bootIndex, + configfd_name, qemuCaps); + VIR_FREE(configfd_name); + if (!devstr) + return -1; + virCommandAddArg(cmd, devstr); + VIR_FREE(devstr); } /* SCSI */ if (hostdev->mode == VIR_DOMAIN_HOSTDEV_MODE_SUBSYS && subsys->type == VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_SCSI) { - if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE) && - virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_SCSI_GENERIC)) { + if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_SCSI_GENERIC)) { char *drvstr; virCommandAddArg(cmd, "-drive"); @@ -5765,11 +5615,6 @@ qemuBuildSgaCommandLine(virCommandPtr cmd, { /* Serial graphics adapter */ if (def->os.bios.useserial == VIR_TRISTATE_BOOL_YES) { - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE)) { - virReportError(VIR_ERR_INTERNAL_ERROR, "%s", - _("qemu does not support -device")); - return -1; - } if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_SGA)) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("qemu does not support SGA")); @@ -8490,8 +8335,7 @@ qemuBuildParallelsCommandLine(virLogManagerPtr logManager, char *devstr; /* Use -chardev with -device if they are available */ - if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_CHARDEV) && - virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE)) { + if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_CHARDEV)) { if (!(devstr = qemuBuildChrChardevStr(logManager, cmd, def, ¶llel->source, parallel->info.alias, @@ -8532,8 +8376,7 @@ qemuBuildChannelsCommandLine(virLogManagerPtr logManager, switch (channel->targetType) { case VIR_DOMAIN_CHR_CHANNEL_TARGET_TYPE_GUESTFWD: - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_CHARDEV) || - !virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE)) { + if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_CHARDEV)) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("guestfwd requires QEMU to support -chardev & -device")); return -1; @@ -8555,12 +8398,6 @@ qemuBuildChannelsCommandLine(virLogManagerPtr logManager, break; case VIR_DOMAIN_CHR_CHANNEL_TARGET_TYPE_VIRTIO: - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("virtio channel requires QEMU to support -device")); - return -1; - } - /* * TODO: Refactor so that we generate this (and onther * things) somewhere else then where we are building the @@ -8620,11 +8457,6 @@ qemuBuildConsoleCommandLine(virLogManagerPtr logManager, switch (console->targetType) { case VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_SCLP: case VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_SCLPLM: - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("sclp console requires QEMU to support -device")); - return -1; - } if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_SCLP_S390)) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("sclp console requires QEMU to support s390-sclp")); @@ -8645,12 +8477,6 @@ qemuBuildConsoleCommandLine(virLogManagerPtr logManager, break; case VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_VIRTIO: - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("virtio channel requires QEMU to support -device")); - return -1; - } - if (!(devstr = qemuBuildChrChardevStr(logManager, cmd, def, &console->source, console->info.alias, @@ -8790,12 +8616,6 @@ qemuBuildRedirdevCommandLine(virLogManagerPtr logManager, virCommandAddArg(cmd, devstr); VIR_FREE(devstr); - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("redirected devices are not supported by this QEMU")); - return -1; - } - virCommandAddArg(cmd, "-device"); if (!(devstr = qemuBuildRedirdevDevStr(def, redirdev, qemuCaps))) return -1; -- 2.7.3

Remove more checks that are no longer necessary. --- src/qemu/qemu_command.c | 2 +- src/qemu/qemu_domain.c | 6 +---- src/qemu/qemu_domain.h | 1 - src/qemu/qemu_hostdev.c | 4 +--- src/qemu/qemu_hotplug.c | 59 +++---------------------------------------------- src/qemu/qemu_process.c | 8 +++---- 6 files changed, 9 insertions(+), 71 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 5590fb6..acee310 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -7892,7 +7892,7 @@ qemuBuildInterfaceCommandLine(virCommandPtr cmd, goto cleanup; virCommandAddArgList(cmd, "-netdev", host, NULL); } - if (qemuDomainSupportsNicdev(def, qemuCaps, net)) { + if (qemuDomainSupportsNicdev(def, net)) { if (!(nic = qemuBuildNicDevStr(def, net, vlan, bootindex, vhostfdSize, qemuCaps))) goto cleanup; diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 65dfa37..061683c 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -5312,12 +5312,8 @@ qemuDomainDetectVcpuPids(virQEMUDriverPtr driver, bool qemuDomainSupportsNicdev(virDomainDefPtr def, - virQEMUCapsPtr qemuCaps, virDomainNetDefPtr net) { - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE)) - return false; - /* non-virtio ARM nics require legacy -net nic */ if (((def->os.arch == VIR_ARCH_ARMV7L) || (def->os.arch == VIR_ARCH_AARCH64)) && @@ -5333,7 +5329,7 @@ qemuDomainSupportsNetdev(virDomainDefPtr def, virQEMUCapsPtr qemuCaps, virDomainNetDefPtr net) { - if (!qemuDomainSupportsNicdev(def, qemuCaps, net)) + if (!qemuDomainSupportsNicdev(def, net)) return false; return virQEMUCapsGet(qemuCaps, QEMU_CAPS_NETDEV); } diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h index baf8bd8..f99f0bb 100644 --- a/src/qemu/qemu_domain.h +++ b/src/qemu/qemu_domain.h @@ -618,7 +618,6 @@ int qemuDomainDetectVcpuPids(virQEMUDriverPtr driver, virDomainObjPtr vm, int asyncJob); bool qemuDomainSupportsNicdev(virDomainDefPtr def, - virQEMUCapsPtr qemuCaps, virDomainNetDefPtr net); bool qemuDomainSupportsNetdev(virDomainDefPtr def, diff --git a/src/qemu/qemu_hostdev.c b/src/qemu/qemu_hostdev.c index ca38a06..e16d5fd 100644 --- a/src/qemu/qemu_hostdev.c +++ b/src/qemu/qemu_hostdev.c @@ -197,9 +197,7 @@ qemuHostdevPreparePCIDevicesCheckSupport(virDomainHostdevDefPtr *hostdevs, if (supportsPassthroughVFIO && virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_VFIO_PCI)) { *backend = VIR_DOMAIN_HOSTDEV_PCI_BACKEND_VFIO; - } else if (supportsPassthroughKVM && - (virQEMUCapsGet(qemuCaps, QEMU_CAPS_PCIDEVICE) || - virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE))) { + } else if (supportsPassthroughKVM) { *backend = VIR_DOMAIN_HOSTDEV_PCI_BACKEND_KVM; } else { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index aa897d2..fc1bf6e 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -1334,12 +1334,6 @@ int qemuDomainAttachRedirdevDevice(virQEMUDriverPtr driver, char *charAlias = NULL; char *devstr = NULL; - if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_DEVICE)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("redirected devices are not supported by this QEMU")); - return ret; - } - if (qemuAssignDeviceRedirdevAlias(vm->def, redirdev, -1) < 0) goto cleanup; @@ -1537,12 +1531,6 @@ int qemuDomainAttachChrDevice(virQEMUDriverPtr driver, char *charAlias = NULL; bool need_release = false; - if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_DEVICE)) { - virReportError(VIR_ERR_OPERATION_INVALID, "%s", - _("qemu does not support -device")); - goto cleanup; - } - if (qemuAssignDeviceChrAlias(vmdef, chr, -1) < 0) goto cleanup; @@ -1897,8 +1885,7 @@ qemuDomainAttachHostSCSIDevice(virConnectPtr conn, bool teardowncgroup = false; bool teardownlabel = false; - if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_DEVICE) || - !virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_DEVICE_SCSI_GENERIC)) { + if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_DEVICE_SCSI_GENERIC)) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("SCSI passthrough is not supported by this version of qemu")); return -1; @@ -3092,8 +3079,7 @@ qemuDomainRemoveNetDevice(virQEMUDriverPtr driver, goto cleanup; qemuDomainObjEnterMonitor(driver, vm); - if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_NETDEV) && - virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_DEVICE)) { + if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_NETDEV)) { if (qemuMonitorRemoveNetdev(priv->mon, hostnet_name) < 0) { if (qemuDomainObjExitMonitor(driver, vm) < 0) goto cleanup; @@ -3472,13 +3458,6 @@ qemuDomainDetachDiskDevice(virQEMUDriverPtr driver, int ret = -1; qemuDomainObjPrivatePtr priv = vm->privateData; - if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_DEVICE)) { - virReportError(VIR_ERR_OPERATION_FAILED, - _("Underlying qemu does not support %s disk removal"), - virDomainDiskBusTypeToString(detach->bus)); - goto cleanup; - } - if (detach->mirror) { virReportError(VIR_ERR_BLOCK_COPY_ACTIVE, _("disk '%s' is in an active block job"), @@ -3729,12 +3708,6 @@ qemuDomainDetachHostUSBDevice(virQEMUDriverPtr driver, return -1; } - if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_DEVICE)) { - virReportError(VIR_ERR_OPERATION_FAILED, - "%s", _("device cannot be detached with this QEMU version")); - return -1; - } - qemuDomainMarkDeviceForRemoval(vm, detach->info); qemuDomainObjEnterMonitor(driver, vm); @@ -3759,12 +3732,6 @@ qemuDomainDetachHostSCSIDevice(virQEMUDriverPtr driver, return -1; } - if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_DEVICE)) { - virReportError(VIR_ERR_OPERATION_FAILED, - "%s", _("device cannot be detached with this QEMU version")); - return -1; - } - qemuDomainMarkDeviceForRemoval(vm, detach->info); qemuDomainObjEnterMonitor(driver, vm); @@ -3781,11 +3748,9 @@ qemuDomainDetachThisHostDevice(virQEMUDriverPtr driver, virDomainObjPtr vm, virDomainHostdevDefPtr detach) { - qemuDomainObjPrivatePtr priv = vm->privateData; int ret = -1; - if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_DEVICE) && - !detach->info->alias) { + if (!detach->info->alias) { if (qemuAssignDeviceHostdevAlias(vm->def, &detach->info->alias, -1) < 0) return -1; } @@ -4111,12 +4076,6 @@ int qemuDomainDetachChrDevice(virQEMUDriverPtr driver, return ret; } - if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_DEVICE)) { - virReportError(VIR_ERR_OPERATION_INVALID, "%s", - _("qemu does not support -device")); - return ret; - } - if (!tmpChr->info.alias && qemuAssignDeviceChrAlias(vmdef, tmpChr, -1) < 0) return ret; @@ -4166,12 +4125,6 @@ qemuDomainDetachRNGDevice(virQEMUDriverPtr driver, tmpRNG = vm->def->rngs[idx]; - if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_DEVICE)) { - virReportError(VIR_ERR_OPERATION_INVALID, "%s", - _("qemu does not support -device")); - return -1; - } - if (!tmpRNG->info.alias) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("alias not set for RNG device")); @@ -4205,12 +4158,6 @@ qemuDomainDetachMemoryDevice(virQEMUDriverPtr driver, int rc; int ret = -1; - if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_DEVICE)) { - virReportError(VIR_ERR_OPERATION_INVALID, "%s", - _("qemu does not support -device")); - return -1; - } - qemuDomainMemoryDeviceAlignSize(vm->def, memdef); if ((idx = virDomainMemoryFindByDef(vm->def, memdef)) < 0) { diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 50a6f09..b2669c0 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -4857,11 +4857,9 @@ qemuProcessPrepareDomain(virConnectPtr conn, * we also need to populate the PCI address set cache for later * use in hotplug */ - if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_DEVICE)) { - VIR_DEBUG("Assigning domain PCI addresses"); - if ((qemuDomainAssignAddresses(vm->def, priv->qemuCaps, vm)) < 0) - goto cleanup; - } + VIR_DEBUG("Assigning domain PCI addresses"); + if ((qemuDomainAssignAddresses(vm->def, priv->qemuCaps, vm)) < 0) + goto cleanup; if (qemuAssignDeviceAliases(vm->def, priv->qemuCaps) < 0) goto cleanup; -- 2.7.3

This test requests a read-only virtual FAT drive on the IDE bus. Read-only IDE drives are unsupported, but libvirt only displays the error if it has the QEMU_CAPS_DRIVE_READONLY capability. Read-write FAT drives are also unsupported. --- .../qemuxml2argv-disk-drive-fat.args | 22 --------------- .../qemuxml2argv-disk-drive-fat.xml | 31 ---------------------- tests/qemuxml2argvtest.c | 2 -- tests/qemuxml2xmltest.c | 1 - 4 files changed, 56 deletions(-) delete mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-drive-fat.args delete mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-drive-fat.xml diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-fat.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-fat.args deleted file mode 100644 index 7e48e21..0000000 --- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-fat.args +++ /dev/null @@ -1,22 +0,0 @@ -LC_ALL=C \ -PATH=/bin \ -HOME=/home/test \ -USER=test \ -LOGNAME=test \ -QEMU_AUDIO_DRV=none \ -/usr/bin/qemu \ --name QEMUGuest1 \ --S \ --M pc \ --m 214 \ --smp 1 \ --uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \ --nographic \ --nodefaults \ --monitor unix:/tmp/lib/domain--1-QEMUGuest1/monitor.sock,server,nowait \ --no-acpi \ --boot c \ --usb \ --drive file=fat:/var/somefiles,if=none,id=drive-ide0-0-0 \ --device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \ --device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-fat.xml b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-fat.xml deleted file mode 100644 index b0d8bdc..0000000 --- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-fat.xml +++ /dev/null @@ -1,31 +0,0 @@ -<domain type='qemu'> - <name>QEMUGuest1</name> - <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid> - <memory unit='KiB'>219136</memory> - <currentMemory unit='KiB'>219136</currentMemory> - <vcpu placement='static'>1</vcpu> - <os> - <type arch='i686' machine='pc'>hvm</type> - <boot dev='hd'/> - </os> - <clock offset='utc'/> - <on_poweroff>destroy</on_poweroff> - <on_reboot>restart</on_reboot> - <on_crash>destroy</on_crash> - <devices> - <emulator>/usr/bin/qemu</emulator> - <disk type='dir' device='disk'> - <driver name='qemu' type='fat'/> - <source dir='/var/somefiles'/> - <target dev='hda' bus='ide'/> - <readonly/> - <address type='drive' controller='0' bus='0' target='0' unit='0'/> - </disk> - <controller type='usb' index='0'/> - <controller type='ide' index='0'/> - <controller type='pci' index='0' model='pci-root'/> - <input type='mouse' bus='ps2'/> - <input type='keyboard' bus='ps2'/> - <memballoon model='virtio'/> - </devices> -</domain> diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index 540b3de..b0481a3 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -758,8 +758,6 @@ mymain(void) QEMU_CAPS_DRIVE_BOOT); DO_TEST("floppy-drive-fat", QEMU_CAPS_DRIVE_BOOT); - DO_TEST("disk-drive-fat", - QEMU_CAPS_DRIVE_BOOT); DO_TEST("disk-drive-readonly-disk", QEMU_CAPS_DRIVE_READONLY, QEMU_CAPS_NODEFCONFIG); diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c index b8fac59..cd60a53 100644 --- a/tests/qemuxml2xmltest.c +++ b/tests/qemuxml2xmltest.c @@ -375,7 +375,6 @@ mymain(void) DO_TEST("disk-drive-error-policy-stop"); DO_TEST("disk-drive-error-policy-enospace"); DO_TEST("disk-drive-error-policy-wreport-rignore"); - DO_TEST("disk-drive-fat"); DO_TEST("disk-drive-fmt-qcow"); DO_TEST("disk-drive-copy-on-read"); DO_TEST("disk-drive-cache-v2-wt"); -- 2.7.3

Read-only IDE disks are not supported, but the error is raised only when QEMU_CAPS_DRIVE_READONLY is set. --- tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-override.xml | 1 - tests/qemuxml2xmloutdata/qemuxml2xmlout-seclabel-dynamic-override.xml | 1 - 2 files changed, 2 deletions(-) diff --git a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-override.xml b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-override.xml index ceab337..448ff3a 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-override.xml +++ b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-override.xml @@ -28,7 +28,6 @@ </seclabel> </source> <target dev='hdb' bus='ide'/> - <readonly/> <address type='drive' controller='0' bus='0' target='0' unit='0'/> </disk> <controller type='usb' index='0'/> diff --git a/tests/qemuxml2xmloutdata/qemuxml2xmlout-seclabel-dynamic-override.xml b/tests/qemuxml2xmloutdata/qemuxml2xmlout-seclabel-dynamic-override.xml index df736b9..f84b17c 100644 --- a/tests/qemuxml2xmloutdata/qemuxml2xmlout-seclabel-dynamic-override.xml +++ b/tests/qemuxml2xmloutdata/qemuxml2xmlout-seclabel-dynamic-override.xml @@ -28,7 +28,6 @@ </seclabel> </source> <target dev='hdb' bus='ide'/> - <readonly/> <address type='drive' controller='0' bus='0' target='0' unit='0'/> </disk> <controller type='usb' index='0'> -- 2.7.3

--- tests/qemuxml2argvdata/qemuxml2argv-boot-cdrom.args | 3 ++- tests/qemuxml2argvdata/qemuxml2argv-boot-complex-bootindex.args | 3 ++- tests/qemuxml2argvdata/qemuxml2argv-boot-complex.args | 3 ++- .../qemuxml2argv-boot-menu-disable-drive-bootindex.args | 3 ++- tests/qemuxml2argvdata/qemuxml2argv-boot-menu-disable-drive.args | 3 ++- tests/qemuxml2argvdata/qemuxml2argv-boot-menu-disable.args | 3 ++- .../qemuxml2argv-boot-menu-enable-with-timeout.args | 3 ++- tests/qemuxml2argvdata/qemuxml2argv-boot-menu-enable.args | 3 ++- tests/qemuxml2argvdata/qemuxml2argv-boot-multi.args | 3 ++- tests/qemuxml2argvdata/qemuxml2argv-boot-order.args | 3 ++- tests/qemuxml2argvdata/qemuxml2argv-boot-strict.args | 3 ++- tests/qemuxml2argvdata/qemuxml2argv-controller-order.args | 2 +- tests/qemuxml2argvdata/qemuxml2argv-disk-aio.args | 2 +- tests/qemuxml2argvdata/qemuxml2argv-disk-blockio.args | 3 ++- tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-empty.args | 2 +- tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-ftp.args | 2 +- tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-ftps.args | 2 +- tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-http.args | 2 +- tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-https.args | 2 +- tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-tftp.args | 2 +- .../qemuxml2argv-disk-cdrom-tray-no-device-cap.args | 2 +- tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-tray.args | 4 ++-- tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom.args | 3 ++- tests/qemuxml2argvdata/qemuxml2argv-disk-copy_on_read.args | 2 +- tests/qemuxml2argvdata/qemuxml2argv-disk-drive-boot-cdrom.args | 2 +- tests/qemuxml2argvdata/qemuxml2argv-disk-drive-boot-disk.args | 2 +- .../qemuxml2argvdata/qemuxml2argv-disk-drive-cache-directsync.args | 2 +- tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-unsafe.args | 2 +- tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-v2-none.args | 2 +- tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-v2-wb.args | 2 +- tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-v2-wt.args | 2 +- tests/qemuxml2argvdata/qemuxml2argv-disk-drive-discard.args | 2 +- .../qemuxml2argv-disk-drive-error-policy-enospace.args | 2 +- .../qemuxml2argvdata/qemuxml2argv-disk-drive-error-policy-stop.args | 2 +- .../qemuxml2argv-disk-drive-error-policy-wreport-rignore.args | 2 +- tests/qemuxml2argvdata/qemuxml2argv-disk-drive-fmt-qcow.args | 2 +- tests/qemuxml2argvdata/qemuxml2argv-disk-drive-no-boot.args | 2 +- tests/qemuxml2argvdata/qemuxml2argv-disk-drive-shared.args | 2 +- tests/qemuxml2argvdata/qemuxml2argv-disk-ide-drive-split.args | 3 ++- tests/qemuxml2argvdata/qemuxml2argv-disk-ioeventfd.args | 2 +- tests/qemuxml2argvdata/qemuxml2argv-disk-order.args | 2 +- tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-disk-split.args | 6 ++++-- tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-disk-vpd.args | 6 ++++-- tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-disk-wwn.args | 3 ++- tests/qemuxml2argvdata/qemuxml2argv-disk-snapshot.args | 2 +- tests/qemuxml2argvdata/qemuxml2argv-disk-source-pool-mode.args | 5 +++-- tests/qemuxml2argvdata/qemuxml2argv-disk-source-pool.args | 5 +++-- tests/qemuxml2argvdata/qemuxml2argv-disk-virtio.args | 2 +- tests/qemuxml2argvdata/qemuxml2argv-event_idx.args | 2 +- tests/qemuxml2argvdata/qemuxml2argv-floppy-drive-fat.args | 2 +- tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-timeout.args | 2 +- tests/qemuxml2argvdata/qemuxml2argv-hugepages-numa.args | 2 +- tests/qemuxml2argvdata/qemuxml2argv-pci-autoadd-addr.args | 3 ++- tests/qemuxml2argvdata/qemuxml2argv-pci-autoadd-idx.args | 3 ++- tests/qemuxml2argvdata/qemuxml2argv-pci-many.args | 3 ++- tests/qemuxml2argvtest.c | 1 + 56 files changed, 85 insertions(+), 60 deletions(-) diff --git a/tests/qemuxml2argvdata/qemuxml2argv-boot-cdrom.args b/tests/qemuxml2argvdata/qemuxml2argv-boot-cdrom.args index 44dbdf5..0296242 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-boot-cdrom.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-boot-cdrom.args @@ -17,5 +17,6 @@ QEMU_AUDIO_DRV=none \ -no-acpi \ -boot d \ -usb \ --drive file=/dev/cdrom,format=raw,if=none,media=cdrom,id=drive-ide0-1-0 \ +-drive file=/dev/cdrom,format=raw,if=none,media=cdrom,id=drive-ide0-1-0,\ +readonly=on \ -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 diff --git a/tests/qemuxml2argvdata/qemuxml2argv-boot-complex-bootindex.args b/tests/qemuxml2argvdata/qemuxml2argv-boot-complex-bootindex.args index cfc4ffc..051c139 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-boot-complex-bootindex.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-boot-complex-bootindex.args @@ -26,7 +26,8 @@ id=virtio-disk1 \ -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \ -drive file=/dev/HostVG/hdb,format=raw,if=none,id=drive-ide0-0-1 \ -device ide-drive,bus=ide.0,unit=1,drive=drive-ide0-0-1,id=ide0-0-1 \ --drive file=/dev/HostVG/hdc,format=raw,if=none,media=cdrom,id=drive-ide0-1-0 \ +-drive file=/dev/HostVG/hdc,format=raw,if=none,media=cdrom,id=drive-ide0-1-0,\ +readonly=on \ -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0,bootindex=1 \ -drive file=/dev/fd0,format=raw,if=none,id=drive-fdc0-0-0 \ -global isa-fdc.driveA=drive-fdc0-0-0 \ diff --git a/tests/qemuxml2argvdata/qemuxml2argv-boot-complex.args b/tests/qemuxml2argvdata/qemuxml2argv-boot-complex.args index 7913f51..fe7e225 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-boot-complex.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-boot-complex.args @@ -27,7 +27,8 @@ id=virtio-disk1 \ -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \ -drive file=/dev/HostVG/hdb,format=raw,if=none,id=drive-ide0-0-1 \ -device ide-drive,bus=ide.0,unit=1,drive=drive-ide0-0-1,id=ide0-0-1 \ --drive file=/dev/HostVG/hdc,format=raw,if=none,media=cdrom,id=drive-ide0-1-0 \ +-drive file=/dev/HostVG/hdc,format=raw,if=none,media=cdrom,id=drive-ide0-1-0,\ +readonly=on \ -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \ -drive file=/dev/fd0,format=raw,if=none,id=drive-fdc0-0-0 \ -global isa-fdc.driveA=drive-fdc0-0-0 \ diff --git a/tests/qemuxml2argvdata/qemuxml2argv-boot-menu-disable-drive-bootindex.args b/tests/qemuxml2argvdata/qemuxml2argv-boot-menu-disable-drive-bootindex.args index 3114b54..c2d4a7d 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-boot-menu-disable-drive-bootindex.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-boot-menu-disable-drive-bootindex.args @@ -17,6 +17,7 @@ QEMU_AUDIO_DRV=none \ -no-acpi \ -boot menu=off \ -usb \ --drive file=/dev/cdrom,format=raw,if=none,media=cdrom,id=drive-ide0-1-0 \ +-drive file=/dev/cdrom,format=raw,if=none,media=cdrom,id=drive-ide0-1-0,\ +readonly=on \ -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0,bootindex=1 \ -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 diff --git a/tests/qemuxml2argvdata/qemuxml2argv-boot-menu-disable-drive.args b/tests/qemuxml2argvdata/qemuxml2argv-boot-menu-disable-drive.args index 6bc5cef..3759677 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-boot-menu-disable-drive.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-boot-menu-disable-drive.args @@ -17,6 +17,7 @@ QEMU_AUDIO_DRV=none \ -no-acpi \ -boot order=d,menu=off \ -usb \ --drive file=/dev/cdrom,format=raw,if=none,media=cdrom,id=drive-ide0-1-0 \ +-drive file=/dev/cdrom,format=raw,if=none,media=cdrom,id=drive-ide0-1-0,\ +readonly=on \ -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \ -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 diff --git a/tests/qemuxml2argvdata/qemuxml2argv-boot-menu-disable.args b/tests/qemuxml2argvdata/qemuxml2argv-boot-menu-disable.args index 6bc5cef..3759677 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-boot-menu-disable.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-boot-menu-disable.args @@ -17,6 +17,7 @@ QEMU_AUDIO_DRV=none \ -no-acpi \ -boot order=d,menu=off \ -usb \ --drive file=/dev/cdrom,format=raw,if=none,media=cdrom,id=drive-ide0-1-0 \ +-drive file=/dev/cdrom,format=raw,if=none,media=cdrom,id=drive-ide0-1-0,\ +readonly=on \ -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \ -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 diff --git a/tests/qemuxml2argvdata/qemuxml2argv-boot-menu-enable-with-timeout.args b/tests/qemuxml2argvdata/qemuxml2argv-boot-menu-enable-with-timeout.args index 0c0bd05..74252f2 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-boot-menu-enable-with-timeout.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-boot-menu-enable-with-timeout.args @@ -17,6 +17,7 @@ QEMU_AUDIO_DRV=none \ -no-acpi \ -boot order=d,menu=on,splash-time=3000 \ -usb \ --drive file=/dev/cdrom,format=raw,if=none,media=cdrom,id=drive-ide0-1-0 \ +-drive file=/dev/cdrom,format=raw,if=none,media=cdrom,id=drive-ide0-1-0,\ +readonly=on \ -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \ -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 diff --git a/tests/qemuxml2argvdata/qemuxml2argv-boot-menu-enable.args b/tests/qemuxml2argvdata/qemuxml2argv-boot-menu-enable.args index 09765e9..6c9eda0 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-boot-menu-enable.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-boot-menu-enable.args @@ -17,6 +17,7 @@ QEMU_AUDIO_DRV=none \ -no-acpi \ -boot order=d,menu=on \ -usb \ --drive file=/dev/cdrom,format=raw,if=none,media=cdrom,id=drive-ide0-1-0 \ +-drive file=/dev/cdrom,format=raw,if=none,media=cdrom,id=drive-ide0-1-0,\ +readonly=on \ -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \ -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 diff --git a/tests/qemuxml2argvdata/qemuxml2argv-boot-multi.args b/tests/qemuxml2argvdata/qemuxml2argv-boot-multi.args index 542efaa..4050176 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-boot-multi.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-boot-multi.args @@ -17,6 +17,7 @@ QEMU_AUDIO_DRV=none \ -no-acpi \ -boot order=dcna,menu=on \ -usb \ --drive file=/dev/cdrom,format=raw,if=none,media=cdrom,id=drive-ide0-1-0 \ +-drive file=/dev/cdrom,format=raw,if=none,media=cdrom,id=drive-ide0-1-0,\ +readonly=on \ -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \ -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 diff --git a/tests/qemuxml2argvdata/qemuxml2argv-boot-order.args b/tests/qemuxml2argvdata/qemuxml2argv-boot-order.args index 65dddf0..6d2d030 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-boot-order.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-boot-order.args @@ -18,7 +18,8 @@ QEMU_AUDIO_DRV=none \ -usb \ -drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \ -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \ --drive file=/root/boot.iso,format=raw,if=none,media=cdrom,id=drive-ide0-1-0 \ +-drive file=/root/boot.iso,format=raw,if=none,media=cdrom,id=drive-ide0-1-0,\ +readonly=on \ -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0,bootindex=1 \ -drive file=sheepdog:example.org:6000:image,format=raw,if=none,\ id=drive-virtio-disk0 \ diff --git a/tests/qemuxml2argvdata/qemuxml2argv-boot-strict.args b/tests/qemuxml2argvdata/qemuxml2argv-boot-strict.args index f17358b..7de2ace 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-boot-strict.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-boot-strict.args @@ -27,7 +27,8 @@ id=virtio-disk1 \ -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \ -drive file=/dev/HostVG/hdb,format=raw,if=none,id=drive-ide0-0-1 \ -device ide-drive,bus=ide.0,unit=1,drive=drive-ide0-0-1,id=ide0-0-1 \ --drive file=/dev/HostVG/hdc,format=raw,if=none,media=cdrom,id=drive-ide0-1-0 \ +-drive file=/dev/HostVG/hdc,format=raw,if=none,media=cdrom,id=drive-ide0-1-0,\ +readonly=on \ -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0,bootindex=1 \ -drive file=/dev/fd0,format=raw,if=none,id=drive-fdc0-0-0 \ -global isa-fdc.driveA=drive-fdc0-0-0 \ diff --git a/tests/qemuxml2argvdata/qemuxml2argv-controller-order.args b/tests/qemuxml2argvdata/qemuxml2argv-controller-order.args index b46685f..9aaae37 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-controller-order.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-controller-order.args @@ -25,7 +25,7 @@ aio=native \ -device virtio-blk-pci,bus=pci.0,addr=0x5,drive=drive-virtio-disk0,\ id=virtio-disk0 \ -drive file=/tmp/Fedora-17-x86_64-Live-Desktop.iso,format=raw,if=none,\ -media=cdrom,id=drive-ide0-1-0 \ +media=cdrom,id=drive-ide0-1-0,readonly=on \ -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \ -device virtio-net-pci,vlan=0,id=net0,mac=52:54:00:4d:4b:19,bus=pci.0,addr=0x3 \ -net user,vlan=0,name=hostnet0 \ diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-aio.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-aio.args index b2e3039..70670da 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-disk-aio.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-aio.args @@ -21,6 +21,6 @@ QEMU_AUDIO_DRV=none \ cache=none,aio=native \ -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \ -drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,media=cdrom,\ -id=drive-ide0-1-0,aio=threads \ +id=drive-ide0-1-0,readonly=on,aio=threads \ -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \ -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-blockio.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-blockio.args index 72cd866..d220a31 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-disk-blockio.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-blockio.args @@ -18,7 +18,8 @@ QEMU_AUDIO_DRV=none \ -no-acpi \ -boot c \ -usb \ --drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-1 \ +-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-1,\ +readonly=on \ -device ide-cd,bus=ide.0,unit=1,drive=drive-ide0-0-1,id=ide0-0-1 \ -drive file=/tmp/idedisk.img,format=raw,if=none,id=drive-ide0-0-2 \ -device ide-hd,bus=ide.0,unit=2,drive=drive-ide0-0-2,id=ide0-0-2,\ diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-empty.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-empty.args index 5b53f52..ce5df64 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-empty.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-empty.args @@ -19,5 +19,5 @@ QEMU_AUDIO_DRV=none \ -usb \ -drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \ -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \ --drive if=none,media=cdrom,id=drive-ide0-1-0 \ +-drive if=none,media=cdrom,id=drive-ide0-1-0,readonly=on \ -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-ftp.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-ftp.args index f50ada4..253736d 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-ftp.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-ftp.args @@ -17,6 +17,6 @@ QEMU_AUDIO_DRV=none \ -boot d \ -usb \ -drive file=ftp://host.name:21/url/path/file.iso,format=raw,if=none,media=cdrom,\ -id=drive-ide0-1-0 \ +id=drive-ide0-1-0,readonly=on \ -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \ -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-ftps.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-ftps.args index b052fc7..bdedf1a 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-ftps.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-ftps.args @@ -17,6 +17,6 @@ QEMU_AUDIO_DRV=none \ -boot d \ -usb \ -drive file=ftps://host.name:990/url/path/file.iso,format=raw,if=none,\ -media=cdrom,id=drive-ide0-1-0 \ +media=cdrom,id=drive-ide0-1-0,readonly=on \ -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \ -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-http.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-http.args index f0366c8..fddb339 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-http.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-http.args @@ -17,6 +17,6 @@ QEMU_AUDIO_DRV=none \ -boot d \ -usb \ -drive file=http://host.name:80/url/path/file.iso,format=raw,if=none,media=cdrom,\ -id=drive-ide0-1-0 \ +id=drive-ide0-1-0,readonly=on \ -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \ -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-https.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-https.args index 6a50f55..a83b5a0 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-https.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-https.args @@ -17,6 +17,6 @@ QEMU_AUDIO_DRV=none \ -boot d \ -usb \ -drive file=https://host.name:443/url/path/file.iso,format=raw,if=none,\ -media=cdrom,id=drive-ide0-1-0 \ +media=cdrom,id=drive-ide0-1-0,readonly=on \ -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \ -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-tftp.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-tftp.args index 998651d..3efc64f 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-tftp.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-network-tftp.args @@ -17,6 +17,6 @@ QEMU_AUDIO_DRV=none \ -boot d \ -usb \ -drive file=tftp://host.name:69/url/path/file.iso,format=raw,if=none,media=cdrom,\ -id=drive-ide0-1-0 \ +id=drive-ide0-1-0,readonly=on \ -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \ -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-tray-no-device-cap.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-tray-no-device-cap.args index eb3c97b..020aac9 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-tray-no-device-cap.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-tray-no-device-cap.args @@ -19,6 +19,6 @@ QEMU_AUDIO_DRV=none \ -usb \ -drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \ -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \ --drive if=none,media=cdrom,id=drive-ide0-1-0 \ +-drive if=none,media=cdrom,id=drive-ide0-1-0,readonly=on \ -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \ -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-tray.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-tray.args index 90da288..3adcb1f 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-tray.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-tray.args @@ -22,8 +22,8 @@ id=drive-virtio-disk0 \ -device virtio-blk-pci,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,\ id=virtio-disk0 \ -drive file=/var/lib/libvirt/Fedora-14-x86_64-Live-KDE.iso,format=raw,if=none,\ -media=cdrom,id=drive-ide0-1-0 \ +media=cdrom,id=drive-ide0-1-0,readonly=on \ -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \ --drive if=none,media=cdrom,id=drive-ide0-1-1 \ +-drive if=none,media=cdrom,id=drive-ide0-1-1,readonly=on \ -device ide-drive,bus=ide.1,unit=1,drive=drive-ide0-1-1,id=ide0-1-1 \ -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom.args index 034d4b3..26b10aa 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom.args @@ -19,5 +19,6 @@ QEMU_AUDIO_DRV=none \ -usb \ -drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \ -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \ --drive file=/root/boot.iso,format=raw,if=none,media=cdrom,id=drive-ide0-1-0 \ +-drive file=/root/boot.iso,format=raw,if=none,media=cdrom,id=drive-ide0-1-0,\ +readonly=on \ -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-copy_on_read.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-copy_on_read.args index 0d1b59a..37074b8 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-disk-copy_on_read.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-copy_on_read.args @@ -23,7 +23,7 @@ id=drive-virtio-disk0,copy-on-read=on \ -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,\ id=virtio-disk0 \ -drive file=/var/lib/libvirt/Fedora-14-x86_64-Live-KDE.iso,format=raw,if=none,\ -media=cdrom,id=drive-ide0-1-0 \ +media=cdrom,id=drive-ide0-1-0,readonly=on \ -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \ -device virtio-net-pci,tx=bh,vlan=0,id=net0,mac=52:54:00:e5:48:58,bus=pci.0,\ addr=0x3 \ diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-boot-cdrom.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-boot-cdrom.args index fe013af..1a1925c 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-boot-cdrom.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-boot-cdrom.args @@ -20,5 +20,5 @@ QEMU_AUDIO_DRV=none \ -drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \ -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \ -drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,media=cdrom,\ -id=drive-ide0-1-0 \ +id=drive-ide0-1-0,readonly=on \ -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-boot-disk.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-boot-disk.args index 1a830a6..4bab779 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-boot-disk.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-boot-disk.args @@ -20,5 +20,5 @@ QEMU_AUDIO_DRV=none \ -drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \ -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \ -drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,media=cdrom,\ -id=drive-ide0-1-0 \ +id=drive-ide0-1-0,readonly=on \ -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-directsync.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-directsync.args index 72442cc..152dbf7 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-directsync.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-directsync.args @@ -21,5 +21,5 @@ QEMU_AUDIO_DRV=none \ cache=directsync \ -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \ -drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,media=cdrom,\ -id=drive-ide0-1-0 \ +id=drive-ide0-1-0,readonly=on \ -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-unsafe.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-unsafe.args index 25b14db..8a66e06 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-unsafe.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-unsafe.args @@ -21,5 +21,5 @@ QEMU_AUDIO_DRV=none \ cache=unsafe \ -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \ -drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,media=cdrom,\ -id=drive-ide0-1-0 \ +id=drive-ide0-1-0,readonly=on \ -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-v2-none.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-v2-none.args index 14dfa3a..6118eba 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-v2-none.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-v2-none.args @@ -21,5 +21,5 @@ QEMU_AUDIO_DRV=none \ cache=none \ -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \ -drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,media=cdrom,\ -id=drive-ide0-1-0 \ +id=drive-ide0-1-0,readonly=on \ -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-v2-wb.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-v2-wb.args index f5712da..aced6be 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-v2-wb.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-v2-wb.args @@ -21,5 +21,5 @@ QEMU_AUDIO_DRV=none \ cache=writeback \ -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \ -drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,media=cdrom,\ -id=drive-ide0-1-0 \ +id=drive-ide0-1-0,readonly=on \ -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-v2-wt.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-v2-wt.args index 036f1d5..af697a8 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-v2-wt.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-cache-v2-wt.args @@ -21,5 +21,5 @@ QEMU_AUDIO_DRV=none \ cache=writethrough \ -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \ -drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,media=cdrom,\ -id=drive-ide0-1-0 \ +id=drive-ide0-1-0,readonly=on \ -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-discard.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-discard.args index 5c377dc..ab016ea 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-discard.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-discard.args @@ -22,6 +22,6 @@ id=drive-virtio-disk0,discard=unmap \ -device virtio-blk-pci,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,\ id=virtio-disk0 \ -drive file=/var/lib/libvirt/Fedora-14-x86_64-Live-KDE.iso,format=raw,if=none,\ -media=cdrom,id=drive-ide0-1-0,discard=ignore \ +media=cdrom,id=drive-ide0-1-0,readonly=on,discard=ignore \ -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \ -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-error-policy-enospace.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-error-policy-enospace.args index 713a897..79a8324 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-error-policy-enospace.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-error-policy-enospace.args @@ -21,5 +21,5 @@ QEMU_AUDIO_DRV=none \ cache=none,werror=enospc \ -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \ -drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,media=cdrom,\ -id=drive-ide0-1-0 \ +id=drive-ide0-1-0,readonly=on \ -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-error-policy-stop.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-error-policy-stop.args index eaf4aaa..df5ac59 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-error-policy-stop.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-error-policy-stop.args @@ -21,5 +21,5 @@ QEMU_AUDIO_DRV=none \ cache=none,werror=stop,rerror=stop \ -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \ -drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,media=cdrom,\ -id=drive-ide0-1-0 \ +id=drive-ide0-1-0,readonly=on \ -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-error-policy-wreport-rignore.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-error-policy-wreport-rignore.args index 96620ab..1042943 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-error-policy-wreport-rignore.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-error-policy-wreport-rignore.args @@ -21,5 +21,5 @@ QEMU_AUDIO_DRV=none \ cache=none,werror=report,rerror=ignore \ -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \ -drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,media=cdrom,\ -id=drive-ide0-1-0 \ +id=drive-ide0-1-0,readonly=on \ -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-fmt-qcow.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-fmt-qcow.args index 740fb5e..5862916 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-fmt-qcow.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-fmt-qcow.args @@ -20,5 +20,5 @@ QEMU_AUDIO_DRV=none \ -drive file=/dev/HostVG/QEMUGuest1,format=qcow2,if=none,id=drive-ide0-0-0 \ -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \ -drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,media=cdrom,\ -id=drive-ide0-1-0 \ +id=drive-ide0-1-0,readonly=on \ -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-no-boot.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-no-boot.args index 3c98b2e..27c20cd 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-no-boot.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-no-boot.args @@ -19,7 +19,7 @@ QEMU_AUDIO_DRV=none \ -drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \ -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=2 \ -drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,media=cdrom,\ -id=drive-ide0-1-0 \ +id=drive-ide0-1-0,readonly=on \ -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0,bootindex=1 \ -drive file=/dev/fd0,format=raw,if=none,id=drive-fdc0-0-0 \ -global isa-fdc.driveA=drive-fdc0-0-0 \ diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-shared.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-shared.args index e8f47e2..b81e470 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-shared.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-shared.args @@ -21,6 +21,6 @@ QEMU_AUDIO_DRV=none \ serial=XYZXYZXYZYXXYZYZYXYZY,cache=none \ -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \ -drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,media=cdrom,\ -id=drive-ide0-1-0 \ +id=drive-ide0-1-0,readonly=on \ -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \ -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-ide-drive-split.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-ide-drive-split.args index 9c13f53..8adf82b 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-disk-ide-drive-split.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-ide-drive-split.args @@ -18,7 +18,8 @@ QEMU_AUDIO_DRV=none \ -no-acpi \ -boot c \ -usb \ --drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-1 \ +-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-1,\ +readonly=on \ -device ide-cd,bus=ide.0,unit=1,drive=drive-ide0-0-1,id=ide0-0-1 \ -drive file=/tmp/idedisk.img,format=raw,if=none,id=drive-ide0-0-2 \ -device ide-hd,bus=ide.0,unit=2,drive=drive-ide0-0-2,id=ide0-0-2 \ diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-ioeventfd.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-ioeventfd.args index a28741a..73b064c 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-disk-ioeventfd.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-ioeventfd.args @@ -23,7 +23,7 @@ id=drive-virtio-disk0 \ -device virtio-blk-pci,ioeventfd=on,scsi=off,bus=pci.0,addr=0x4,\ drive=drive-virtio-disk0,id=virtio-disk0 \ -drive file=/var/lib/libvirt/Fedora-14-x86_64-Live-KDE.iso,format=raw,if=none,\ -media=cdrom,id=drive-ide0-1-0 \ +media=cdrom,id=drive-ide0-1-0,readonly=on \ -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \ -device virtio-net-pci,tx=bh,ioeventfd=off,vlan=0,id=net0,mac=52:54:00:e5:48:58,\ bus=pci.0,addr=0x3 \ diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-order.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-order.args index 327e299..f3729fb 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-disk-order.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-order.args @@ -20,7 +20,7 @@ QEMU_AUDIO_DRV=none \ -drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \ -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \ -drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,media=cdrom,\ -id=drive-ide0-1-0 \ +id=drive-ide0-1-0,readonly=on \ -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \ -drive file=/tmp/data.img,format=raw,if=none,id=drive-virtio-disk0 \ -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x3,drive=drive-virtio-disk0,\ diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-disk-split.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-disk-split.args index aaad74e..5bf5089 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-disk-split.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-disk-split.args @@ -22,10 +22,12 @@ QEMU_AUDIO_DRV=none \ -device lsi,id=scsi2,bus=pci.0,addr=0x5 \ -device virtio-scsi-pci,id=scsi3,bus=pci.0,addr=0x6 \ -usb \ --drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-scsi0-0-1-0 \ +-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-scsi0-0-1-0,\ +readonly=on \ -device scsi-cd,bus=scsi0.0,channel=0,scsi-id=1,lun=0,drive=drive-scsi0-0-1-0,\ id=scsi0-0-1-0 \ --drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,id=drive-scsi0-0-0-0 \ +-drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,id=drive-scsi0-0-0-0,\ +readonly=on \ -device scsi-cd,bus=scsi0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,\ id=scsi0-0-0-0 \ -drive file=/tmp/scsidisk.img,format=raw,if=none,id=drive-scsi0-0-0-1 \ diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-disk-vpd.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-disk-vpd.args index 1831ebd..9b41043 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-disk-vpd.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-disk-vpd.args @@ -20,10 +20,12 @@ QEMU_AUDIO_DRV=none \ -device virtio-scsi-pci,id=scsi0,bus=pci.0,addr=0x3 \ -device lsi,id=scsi1,bus=pci.0,addr=0x4 \ -usb \ --drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-scsi0-0-0-0 \ +-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-scsi0-0-0-0,\ +readonly=on \ -device scsi-cd,bus=scsi0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,\ id=scsi0-0-0-0,vendor=SEAGATE,product=ST3146707LC \ --drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,id=drive-scsi1-0-0 \ +-drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,id=drive-scsi1-0-0,\ +readonly=on \ -device 'scsi-hd,bus=scsi1.0,scsi-id=0,drive=drive-scsi1-0-0,id=scsi1-0-0,\ vendor=SEA GATE,product=ST67 807GD' \ -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5 diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-disk-wwn.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-disk-wwn.args index 1eed267..eb0841a 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-disk-wwn.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-scsi-disk-wwn.args @@ -20,7 +20,8 @@ QEMU_AUDIO_DRV=none \ -device virtio-scsi-pci,id=scsi0,bus=pci.0,addr=0x3 \ -device lsi,id=scsi1,bus=pci.0,addr=0x4 \ -usb \ --drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-scsi0-0-1-0 \ +-drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-scsi0-0-1-0,\ +readonly=on \ -device scsi-cd,bus=scsi0.0,channel=0,scsi-id=1,lun=0,drive=drive-scsi0-0-1-0,\ id=scsi0-0-1-0,wwn=0x5000c50015ea71ac \ -drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,id=drive-scsi0-0-0-0 \ diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-snapshot.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-snapshot.args index 2fbcf59..8d2a41c 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-disk-snapshot.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-snapshot.args @@ -24,6 +24,6 @@ cache=none \ cache=none \ -device ide-drive,bus=ide.2,unit=0,drive=drive-ide0-2-0,id=ide0-2-0 \ -drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,media=cdrom,\ -id=drive-ide0-1-0 \ +id=drive-ide0-1-0,readonly=on \ -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \ -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-source-pool-mode.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-source-pool-mode.args index 304a6c8..a34f7e7 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-disk-source-pool-mode.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-source-pool-mode.args @@ -18,10 +18,11 @@ QEMU_AUDIO_DRV=none \ -no-acpi \ -boot c \ -usb \ --drive file=/some/block/device/unit:0:0:1,if=none,media=cdrom,id=drive-ide0-0-1 \ +-drive file=/some/block/device/unit:0:0:1,if=none,media=cdrom,id=drive-ide0-0-1,\ +readonly=on \ -device ide-drive,bus=ide.0,unit=1,drive=drive-ide0-0-1,id=ide0-0-1 \ -drive file=iscsi://iscsi.example.com:3260/demo-target/2,if=none,media=cdrom,\ -id=drive-ide0-0-2 \ +id=drive-ide0-0-2,readonly=on \ -device ide-drive,bus=ide.0,unit=2,drive=drive-ide0-0-2,id=ide0-0-2 \ -drive file=/tmp/idedisk.img,format=raw,if=none,id=drive-ide0-0-3 \ -device ide-drive,bus=ide.0,unit=3,drive=drive-ide0-0-3,id=ide0-0-3 \ diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-source-pool.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-source-pool.args index 298a964..7ad458a 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-disk-source-pool.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-source-pool.args @@ -18,9 +18,10 @@ QEMU_AUDIO_DRV=none \ -no-acpi \ -boot c \ -usb \ --drive file=/some/block/device/cdrom,if=none,media=cdrom,id=drive-ide0-0-1 \ +-drive file=/some/block/device/cdrom,if=none,media=cdrom,id=drive-ide0-0-1,\ +readonly=on \ -device ide-drive,bus=ide.0,unit=1,drive=drive-ide0-0-1,id=ide0-0-1 \ --drive if=none,media=cdrom,id=drive-ide0-1-0 \ +-drive if=none,media=cdrom,id=drive-ide0-1-0,readonly=on \ -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \ -drive file=/tmp/idedisk.img,format=raw,if=none,id=drive-ide0-0-2 \ -device ide-drive,bus=ide.0,unit=2,drive=drive-ide0-0-2,id=ide0-0-2 \ diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio.args index faa3474..8e7f7a3 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio.args @@ -20,7 +20,7 @@ QEMU_AUDIO_DRV=none \ -drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \ -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \ -drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,media=cdrom,\ -id=drive-ide0-1-0 \ +id=drive-ide0-1-0,readonly=on \ -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \ -drive file=/tmp/data.img,format=raw,if=none,id=drive-virtio-disk0 \ -device virtio-blk-pci,bus=pci.0,addr=0x3,drive=drive-virtio-disk0,\ diff --git a/tests/qemuxml2argvdata/qemuxml2argv-event_idx.args b/tests/qemuxml2argvdata/qemuxml2argv-event_idx.args index bec49c6..89247c5 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-event_idx.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-event_idx.args @@ -23,7 +23,7 @@ id=drive-virtio-disk0 \ -device virtio-blk-pci,event_idx=on,scsi=off,bus=pci.0,addr=0x4,\ drive=drive-virtio-disk0,id=virtio-disk0 \ -drive file=/var/lib/libvirt/Fedora-14-x86_64-Live-KDE.iso,format=raw,if=none,\ -media=cdrom,id=drive-ide0-1-0 \ +media=cdrom,id=drive-ide0-1-0,readonly=on \ -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \ -device virtio-net-pci,event_idx=off,vlan=0,id=net0,mac=52:54:00:e5:48:58,\ bus=pci.0,addr=0x3 \ diff --git a/tests/qemuxml2argvdata/qemuxml2argv-floppy-drive-fat.args b/tests/qemuxml2argvdata/qemuxml2argv-floppy-drive-fat.args index b1d4d53..136408e 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-floppy-drive-fat.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-floppy-drive-fat.args @@ -17,6 +17,6 @@ QEMU_AUDIO_DRV=none \ -no-acpi \ -boot a \ -usb \ --drive file=fat:floppy:/var/somefiles,if=none,id=drive-fdc0-0-0 \ +-drive file=fat:floppy:/var/somefiles,if=none,id=drive-fdc0-0-0,readonly=on \ -global isa-fdc.driveA=drive-fdc0-0-0 \ -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 diff --git a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-timeout.args b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-timeout.args index 100a94e..c0be4ee 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-timeout.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-timeout.args @@ -23,7 +23,7 @@ id=drive-virtio-disk0 \ -device virtio-blk-pci,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,\ id=virtio-disk0 \ -drive file=/var/lib/libvirt/Fedora-14-x86_64-Live-KDE.iso,format=raw,if=none,\ -media=cdrom,id=drive-ide0-1-0 \ +media=cdrom,id=drive-ide0-1-0,readonly=on \ -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \ -device rtl8139,vlan=0,id=net0,mac=52:54:00:71:70:89,bus=pci.0,addr=0x7 \ -net tap,fd=3,vlan=0,name=hostnet0 \ diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hugepages-numa.args b/tests/qemuxml2argvdata/qemuxml2argv-hugepages-numa.args index ae8ef71..c5a9e53 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-hugepages-numa.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-hugepages-numa.args @@ -35,7 +35,7 @@ addr=0x6 \ id=drive-virtio-disk0 \ -device virtio-blk-pci,bus=pci.0,addr=0x7,drive=drive-virtio-disk0,\ id=virtio-disk0 \ --drive if=none,media=cdrom,id=drive-ide0-0-0 \ +-drive if=none,media=cdrom,id=drive-ide0-0-0,readonly=on \ -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \ -serial pty \ -chardev socket,id=charchannel0,\ diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pci-autoadd-addr.args b/tests/qemuxml2argvdata/qemuxml2argv-pci-autoadd-addr.args index c02d880..1bd0e82 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-pci-autoadd-addr.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-pci-autoadd-addr.args @@ -23,7 +23,8 @@ QEMU_AUDIO_DRV=none \ -device pci-bridge,chassis_nr=6,id=pci.6,bus=pci.0,addr=0x8 \ -device pci-bridge,chassis_nr=7,id=pci.7,bus=pci.0,addr=0x9 \ -usb \ --drive file=/var/iso/f18kde.iso,format=raw,if=none,media=cdrom,id=drive-ide0-1-0 \ +-drive file=/var/iso/f18kde.iso,format=raw,if=none,media=cdrom,id=drive-ide0-1-0,\ +readonly=on \ -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \ -vga cirrus \ -device virtio-balloon-pci,id=balloon0,bus=pci.7,addr=0x6 diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pci-autoadd-idx.args b/tests/qemuxml2argvdata/qemuxml2argv-pci-autoadd-idx.args index 3a8e2cb..b35d9d9 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-pci-autoadd-idx.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-pci-autoadd-idx.args @@ -24,7 +24,8 @@ QEMU_AUDIO_DRV=none \ -device pci-bridge,chassis_nr=6,id=pci.6,bus=pci.0,addr=0x9 \ -device pci-bridge,chassis_nr=7,id=pci.7,bus=pci.0,addr=0xa \ -usb \ --drive file=/var/iso/f18kde.iso,format=raw,if=none,media=cdrom,id=drive-ide0-1-0 \ +-drive file=/var/iso/f18kde.iso,format=raw,if=none,media=cdrom,id=drive-ide0-1-0,\ +readonly=on \ -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \ -vga cirrus \ -device virtio-balloon-pci,id=balloon0,bus=pci.4,addr=0x6 diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pci-many.args b/tests/qemuxml2argvdata/qemuxml2argv-pci-many.args index 685319a..0a3b4f7 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-pci-many.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-pci-many.args @@ -16,7 +16,8 @@ QEMU_AUDIO_DRV=none \ -monitor unix:/tmp/lib/domain--1-fdr-br/monitor.sock,server,nowait \ -boot c \ -usb \ --drive file=/var/iso/f18kde.iso,format=raw,if=none,media=cdrom,id=drive-ide0-1-0 \ +-drive file=/var/iso/f18kde.iso,format=raw,if=none,media=cdrom,id=drive-ide0-1-0,\ +readonly=on \ -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \ -drive file=/var/lib/libvirt/images/test.img,format=raw,if=none,\ id=drive-virtio-disk0 \ diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index b0481a3..3c52315 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -300,6 +300,7 @@ static int testCompareXMLToArgvFiles(const char *xml, virQEMUCapsSetList(extraFlags, QEMU_CAPS_NO_ACPI, QEMU_CAPS_DEVICE, + QEMU_CAPS_DRIVE_READONLY, QEMU_CAPS_LAST); if (STREQ(vm->def->os.machine, "pc") && -- 2.7.3

We have been always setting the capability on if qemu has QEMU_CAPS_DEVICE. --- src/qemu/qemu_capabilities.c | 19 +++++++------------ src/qemu/qemu_command.c | 39 +++++++-------------------------------- src/qemu/qemu_command.h | 3 +-- src/qemu/qemu_hotplug.c | 2 +- 4 files changed, 16 insertions(+), 47 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 13427ed..1e8450d 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -4079,8 +4079,7 @@ virQEMUCapsGetDefaultMachine(virQEMUCapsPtr qemuCaps) static int -virQEMUCapsFillDomainLoaderCaps(virQEMUCapsPtr qemuCaps, - virDomainCapsLoaderPtr capsLoader, +virQEMUCapsFillDomainLoaderCaps(virDomainCapsLoaderPtr capsLoader, char **loader, size_t nloader) { @@ -4112,25 +4111,22 @@ virQEMUCapsFillDomainLoaderCaps(virQEMUCapsPtr qemuCaps, VIR_DOMAIN_LOADER_TYPE_PFLASH); - if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DRIVE_READONLY)) - VIR_DOMAIN_CAPS_ENUM_SET(capsLoader->readonly, - VIR_TRISTATE_BOOL_YES, - VIR_TRISTATE_BOOL_NO); + VIR_DOMAIN_CAPS_ENUM_SET(capsLoader->readonly, + VIR_TRISTATE_BOOL_YES, + VIR_TRISTATE_BOOL_NO); return 0; } static int -virQEMUCapsFillDomainOSCaps(virQEMUCapsPtr qemuCaps, - virDomainCapsOSPtr os, +virQEMUCapsFillDomainOSCaps(virDomainCapsOSPtr os, char **loader, size_t nloader) { virDomainCapsLoaderPtr capsLoader = &os->loader; os->supported = true; - if (virQEMUCapsFillDomainLoaderCaps(qemuCaps, capsLoader, - loader, nloader) < 0) + if (virQEMUCapsFillDomainLoaderCaps(capsLoader, loader, nloader) < 0) return -1; return 0; } @@ -4358,8 +4354,7 @@ virQEMUCapsFillDomainCaps(virDomainCapsPtr domCaps, domCaps->maxvcpus = maxvcpus; - if (virQEMUCapsFillDomainOSCaps(qemuCaps, os, - loader, nloader) < 0 || + if (virQEMUCapsFillDomainOSCaps(os, loader, nloader) < 0 || virQEMUCapsFillDomainDeviceDiskCaps(qemuCaps, domCaps->machine, disk) < 0 || virQEMUCapsFillDomainDeviceGraphicsCaps(qemuCaps, graphics) < 0 || diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index acee310..48a6658 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -1283,8 +1283,7 @@ qemuBuildDriveStr(virDomainDiskDefPtr disk, disk->device == VIR_DOMAIN_DISK_DEVICE_LUN) && disk->bus != VIR_DOMAIN_DISK_BUS_IDE) virBufferAddLit(&opt, ",boot=on"); - if (disk->src->readonly && - virQEMUCapsGet(qemuCaps, QEMU_CAPS_DRIVE_READONLY)) { + if (disk->src->readonly) { if (disk->device == VIR_DOMAIN_DISK_DEVICE_DISK) { if (disk->bus == VIR_DOMAIN_DISK_BUS_IDE) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", @@ -2064,16 +2063,8 @@ qemuBuildFSStr(virDomainFSDefPtr fs, virBufferAsprintf(&opt, ",id=%s%s", QEMU_FSDEV_HOST_PREFIX, fs->info.alias); virBufferAsprintf(&opt, ",path=%s", fs->src); - if (fs->readonly) { - if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_FSDEV_READONLY)) { - virBufferAddLit(&opt, ",readonly"); - } else { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("readonly filesystem is not supported by this " - "QEMU binary")); - goto error; - } - } + if (fs->readonly) + virBufferAddLit(&opt, ",readonly"); if (virBufferCheckError(&opt) < 0) goto error; @@ -4493,8 +4484,7 @@ qemuBuildSCSIiSCSIHostdevDrvStr(virDomainHostdevDefPtr dev) } char * -qemuBuildSCSIHostdevDrvStr(virDomainHostdevDefPtr dev, - virQEMUCapsPtr qemuCaps) +qemuBuildSCSIHostdevDrvStr(virDomainHostdevDefPtr dev) { virBuffer buf = VIR_BUFFER_INITIALIZER; char *source = NULL; @@ -4513,16 +4503,8 @@ qemuBuildSCSIHostdevDrvStr(virDomainHostdevDefPtr dev, virDomainDeviceAddressTypeToString(dev->info->type), dev->info->alias); - if (dev->readonly) { - if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DRIVE_READONLY)) { - virBufferAddLit(&buf, ",readonly=on"); - } else { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("this qemu doesn't support 'readonly' " - "for -drive")); - goto error; - } - } + if (dev->readonly) + virBufferAddLit(&buf, ",readonly=on"); if (virBufferCheckError(&buf) < 0) goto error; @@ -4925,7 +4907,7 @@ qemuBuildHostdevCommandLine(virCommandPtr cmd, char *drvstr; virCommandAddArg(cmd, "-drive"); - if (!(drvstr = qemuBuildSCSIHostdevDrvStr(hostdev, qemuCaps))) + if (!(drvstr = qemuBuildSCSIHostdevDrvStr(hostdev))) return -1; virCommandAddArg(cmd, drvstr); VIR_FREE(drvstr); @@ -8660,13 +8642,6 @@ qemuBuildDomainLoaderCommandLine(virCommandPtr cmd, unit++; if (loader->readonly) { - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DRIVE_READONLY)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("this qemu doesn't support passing " - "readonly attribute")); - goto cleanup; - } - virBufferAsprintf(&buf, ",readonly=%s", virTristateSwitchTypeToString(loader->readonly)); } diff --git a/src/qemu/qemu_command.h b/src/qemu/qemu_command.h index c777701..1c22705 100644 --- a/src/qemu/qemu_command.h +++ b/src/qemu/qemu_command.h @@ -161,8 +161,7 @@ char *qemuBuildUSBHostdevDevStr(const virDomainDef *def, virDomainHostdevDefPtr dev, virQEMUCapsPtr qemuCaps); -char *qemuBuildSCSIHostdevDrvStr(virDomainHostdevDefPtr dev, - virQEMUCapsPtr qemuCaps); +char *qemuBuildSCSIHostdevDrvStr(virDomainHostdevDefPtr dev); char *qemuBuildSCSIHostdevDevStr(const virDomainDef *def, virDomainHostdevDefPtr dev, diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index fc1bf6e..5f34a76 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -1928,7 +1928,7 @@ qemuDomainAttachHostSCSIDevice(virConnectPtr conn, if (qemuDomainSecretHostdevPrepare(conn, priv, hostdev) < 0) goto cleanup; - if (!(drvstr = qemuBuildSCSIHostdevDrvStr(hostdev, priv->qemuCaps))) + if (!(drvstr = qemuBuildSCSIHostdevDrvStr(hostdev))) goto cleanup; if (!(devstr = qemuBuildSCSIHostdevDevStr(vm->def, hostdev, priv->qemuCaps))) -- 2.7.3

On 05/20/2016 08:44 AM, Ján Tomko wrote:
We have been always setting the capability on if qemu has QEMU_CAPS_DEVICE. --- src/qemu/qemu_capabilities.c | 19 +++++++------------ src/qemu/qemu_command.c | 39 +++++++-------------------------------- src/qemu/qemu_command.h | 3 +-- src/qemu/qemu_hotplug.c | 2 +- 4 files changed, 16 insertions(+), 47 deletions(-)
[...]
index acee310..48a6658 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -1283,8 +1283,7 @@ qemuBuildDriveStr(virDomainDiskDefPtr disk, disk->device == VIR_DOMAIN_DISK_DEVICE_LUN) && disk->bus != VIR_DOMAIN_DISK_BUS_IDE) virBufferAddLit(&opt, ",boot=on"); - if (disk->src->readonly && - virQEMUCapsGet(qemuCaps, QEMU_CAPS_DRIVE_READONLY)) { + if (disk->src->readonly) { if (disk->device == VIR_DOMAIN_DISK_DEVICE_DISK) { if (disk->bus == VIR_DOMAIN_DISK_BUS_IDE) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", @@ -2064,16 +2063,8 @@ qemuBuildFSStr(virDomainFSDefPtr fs, virBufferAsprintf(&opt, ",id=%s%s", QEMU_FSDEV_HOST_PREFIX, fs->info.alias); virBufferAsprintf(&opt, ",path=%s", fs->src);
- if (fs->readonly) { - if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_FSDEV_READONLY)) { - virBufferAddLit(&opt, ",readonly"); - } else { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("readonly filesystem is not supported by this " - "QEMU binary")); - goto error; - } - } + if (fs->readonly) + virBufferAddLit(&opt, ",readonly");
^^ Was this unintentional? FSDEV_READONLY is different than DRIVE_READONLY John
if (virBufferCheckError(&opt) < 0) goto error; @@ -4493,8 +4484,7 @@ qemuBuildSCSIiSCSIHostdevDrvStr(virDomainHostdevDefPtr dev) }
char *
[...]

We have been assuming its support if qemu supports -device, which all the supported versions do. --- src/qemu/qemu_capabilities.c | 11 +---------- src/qemu/qemu_capabilities.h | 2 +- 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 - tests/qemucapabilitiesdata/caps_2.6.0-gicv2.aarch64.xml | 1 - tests/qemucapabilitiesdata/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 | 9 +++------ 17 files changed, 5 insertions(+), 38 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 1e8450d..656162c 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -1134,8 +1134,6 @@ virQEMUCapsComputeCmdFlags(const char *help, if (memmem(cache, p - cache, "unsafe", sizeof("unsafe") - 1)) virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_CACHE_UNSAFE); } - if (strstr(help, "readonly=")) - virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_READONLY); if (strstr(help, "aio=threads|native")) virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_AIO); if (strstr(help, "copy-on-read=on|off")) @@ -1173,14 +1171,8 @@ virQEMUCapsComputeCmdFlags(const char *help, if (strstr(help, "-chardev spiceport")) virQEMUCapsSet(qemuCaps, QEMU_CAPS_CHARDEV_SPICEPORT); } - if (strstr(help, "-device")) { + if (strstr(help, "-device")) virQEMUCapsSet(qemuCaps, QEMU_CAPS_DEVICE); - /* - * When -device was introduced, qemu already supported drive's - * readonly option but didn't advertise that. - */ - virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_READONLY); - } if (strstr(help, "-nodefconfig")) virQEMUCapsSet(qemuCaps, QEMU_CAPS_NODEFCONFIG); if (strstr(help, "-no-user-config")) @@ -3392,7 +3384,6 @@ virQEMUCapsInitQMPBasic(virQEMUCapsPtr qemuCaps) virQEMUCapsSet(qemuCaps, QEMU_CAPS_BOOT_MENU); virQEMUCapsSet(qemuCaps, QEMU_CAPS_FSDEV); virQEMUCapsSet(qemuCaps, QEMU_CAPS_NAME_PROCESS); - virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_READONLY); virQEMUCapsSet(qemuCaps, QEMU_CAPS_SMBIOS_TYPE); virQEMUCapsSet(qemuCaps, QEMU_CAPS_VGA_NONE); virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_AIO); diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index b6e0f8a..ed87b13 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -105,7 +105,7 @@ typedef enum { QEMU_CAPS_FSDEV, /* -fstype filesystem passthrough */ QEMU_CAPS_NESTING, /* -enable-nesting (SVM/VMX) */ QEMU_CAPS_NAME_PROCESS, /* Is -name process= available */ - QEMU_CAPS_DRIVE_READONLY, /* -drive readonly=on|off */ + X_QEMU_CAPS_DRIVE_READONLY, /* -drive readonly=on|off */ QEMU_CAPS_SMBIOS_TYPE, /* Is -smbios type= available */ /* 45 */ diff --git a/tests/qemucapabilitiesdata/caps_1.2.2.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.2.2.x86_64.xml index 96a109b..724291b 100644 --- a/tests/qemucapabilitiesdata/caps_1.2.2.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_1.2.2.x86_64.xml @@ -20,7 +20,6 @@ <flag name='boot-menu'/> <flag name='fsdev'/> <flag name='name-process'/> - <flag name='drive-readonly'/> <flag name='smbios-type'/> <flag name='vga-qxl'/> <flag name='spice'/> diff --git a/tests/qemucapabilitiesdata/caps_1.3.1.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.3.1.x86_64.xml index 9646035..4eb66af 100644 --- a/tests/qemucapabilitiesdata/caps_1.3.1.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_1.3.1.x86_64.xml @@ -21,7 +21,6 @@ <flag name='boot-menu'/> <flag name='fsdev'/> <flag name='name-process'/> - <flag name='drive-readonly'/> <flag name='smbios-type'/> <flag name='vga-qxl'/> <flag name='spice'/> diff --git a/tests/qemucapabilitiesdata/caps_1.4.2.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.4.2.x86_64.xml index ee12473..72ea76f 100644 --- a/tests/qemucapabilitiesdata/caps_1.4.2.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_1.4.2.x86_64.xml @@ -21,7 +21,6 @@ <flag name='boot-menu'/> <flag name='fsdev'/> <flag name='name-process'/> - <flag name='drive-readonly'/> <flag name='smbios-type'/> <flag name='vga-qxl'/> <flag name='spice'/> diff --git a/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml index 701d2ed..1702208 100644 --- a/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml @@ -21,7 +21,6 @@ <flag name='boot-menu'/> <flag name='fsdev'/> <flag name='name-process'/> - <flag name='drive-readonly'/> <flag name='smbios-type'/> <flag name='vga-qxl'/> <flag name='spice'/> diff --git a/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml index fe05def..4e01f3f 100644 --- a/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml @@ -21,7 +21,6 @@ <flag name='boot-menu'/> <flag name='fsdev'/> <flag name='name-process'/> - <flag name='drive-readonly'/> <flag name='smbios-type'/> <flag name='vga-qxl'/> <flag name='spice'/> diff --git a/tests/qemucapabilitiesdata/caps_1.6.50.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.6.50.x86_64.xml index a717308..2063f9f 100644 --- a/tests/qemucapabilitiesdata/caps_1.6.50.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_1.6.50.x86_64.xml @@ -21,7 +21,6 @@ <flag name='boot-menu'/> <flag name='fsdev'/> <flag name='name-process'/> - <flag name='drive-readonly'/> <flag name='smbios-type'/> <flag name='vga-qxl'/> <flag name='spice'/> diff --git a/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml index 3570a63..954aa09 100644 --- a/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml @@ -21,7 +21,6 @@ <flag name='boot-menu'/> <flag name='fsdev'/> <flag name='name-process'/> - <flag name='drive-readonly'/> <flag name='smbios-type'/> <flag name='vga-qxl'/> <flag name='spice'/> diff --git a/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml index 4850587..1361d32 100644 --- a/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml @@ -21,7 +21,6 @@ <flag name='boot-menu'/> <flag name='fsdev'/> <flag name='name-process'/> - <flag name='drive-readonly'/> <flag name='smbios-type'/> <flag name='vga-qxl'/> <flag name='spice'/> diff --git a/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml index 3e490cd..a01e90a 100644 --- a/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml @@ -21,7 +21,6 @@ <flag name='boot-menu'/> <flag name='fsdev'/> <flag name='name-process'/> - <flag name='drive-readonly'/> <flag name='smbios-type'/> <flag name='vga-qxl'/> <flag name='spice'/> diff --git a/tests/qemucapabilitiesdata/caps_2.6.0-gicv2.aarch64.xml b/tests/qemucapabilitiesdata/caps_2.6.0-gicv2.aarch64.xml index ad81f24..5816993 100644 --- a/tests/qemucapabilitiesdata/caps_2.6.0-gicv2.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_2.6.0-gicv2.aarch64.xml @@ -18,7 +18,6 @@ <flag name='boot-menu'/> <flag name='fsdev'/> <flag name='name-process'/> - <flag name='drive-readonly'/> <flag name='smbios-type'/> <flag name='vga-none'/> <flag name='boot-index'/> diff --git a/tests/qemucapabilitiesdata/caps_2.6.0-gicv3.aarch64.xml b/tests/qemucapabilitiesdata/caps_2.6.0-gicv3.aarch64.xml index ebffcaa..83a7817 100644 --- a/tests/qemucapabilitiesdata/caps_2.6.0-gicv3.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_2.6.0-gicv3.aarch64.xml @@ -18,7 +18,6 @@ <flag name='boot-menu'/> <flag name='fsdev'/> <flag name='name-process'/> - <flag name='drive-readonly'/> <flag name='smbios-type'/> <flag name='vga-none'/> <flag name='boot-index'/> diff --git a/tests/qemucapabilitiesdata/caps_2.6.0.ppc64le.xml b/tests/qemucapabilitiesdata/caps_2.6.0.ppc64le.xml index 6768061..caa2ce3 100644 --- a/tests/qemucapabilitiesdata/caps_2.6.0.ppc64le.xml +++ b/tests/qemucapabilitiesdata/caps_2.6.0.ppc64le.xml @@ -18,7 +18,6 @@ <flag name='boot-menu'/> <flag name='fsdev'/> <flag name='name-process'/> - <flag name='drive-readonly'/> <flag name='smbios-type'/> <flag name='vga-none'/> <flag name='boot-index'/> diff --git a/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml index 1773ce4..41675f1 100644 --- a/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml @@ -21,7 +21,6 @@ <flag name='boot-menu'/> <flag name='fsdev'/> <flag name='name-process'/> - <flag name='drive-readonly'/> <flag name='smbios-type'/> <flag name='vga-qxl'/> <flag name='spice'/> diff --git a/tests/qemuhelptest.c b/tests/qemuhelptest.c index f94f2d0..31fe871 100644 --- a/tests/qemuhelptest.c +++ b/tests/qemuhelptest.c @@ -153,7 +153,6 @@ mymain(void) DO_TEST("qemu-0.12.1", 12001, 0, 0, QEMU_CAPS_DRIVE_SERIAL, - QEMU_CAPS_DRIVE_READONLY, QEMU_CAPS_ENABLE_KVM, QEMU_CAPS_SDL, QEMU_CAPS_CHARDEV, @@ -173,7 +172,6 @@ mymain(void) QEMU_CAPS_DRIVE_BOOT, QEMU_CAPS_KVM, QEMU_CAPS_DRIVE_SERIAL, - QEMU_CAPS_DRIVE_READONLY, QEMU_CAPS_PCIDEVICE, QEMU_CAPS_MEM_PATH, QEMU_CAPS_CHARDEV, @@ -218,7 +216,6 @@ mymain(void) QEMU_CAPS_DRIVE_BOOT, QEMU_CAPS_KVM, QEMU_CAPS_DRIVE_SERIAL, - QEMU_CAPS_DRIVE_READONLY, QEMU_CAPS_PCIDEVICE, QEMU_CAPS_MEM_PATH, QEMU_CAPS_SDL, @@ -244,7 +241,6 @@ mymain(void) QEMU_CAPS_DRIVE_CACHE_UNSAFE, QEMU_CAPS_KVM, QEMU_CAPS_DRIVE_SERIAL, - QEMU_CAPS_DRIVE_READONLY, QEMU_CAPS_PCIDEVICE, QEMU_CAPS_MEM_PATH, QEMU_CAPS_SDL, @@ -299,7 +295,6 @@ mymain(void) QEMU_CAPS_DRIVE_CACHE_UNSAFE, QEMU_CAPS_KVM, QEMU_CAPS_DRIVE_SERIAL, - QEMU_CAPS_DRIVE_READONLY, QEMU_CAPS_PCIDEVICE, QEMU_CAPS_MEM_PATH, QEMU_CAPS_CHARDEV, @@ -351,7 +346,6 @@ mymain(void) QEMU_CAPS_DRIVE_CACHE_UNSAFE, QEMU_CAPS_KVM, QEMU_CAPS_DRIVE_SERIAL, - QEMU_CAPS_DRIVE_READONLY, QEMU_CAPS_PCIDEVICE, QEMU_CAPS_MEM_PATH, QEMU_CAPS_CHARDEV, @@ -410,7 +404,6 @@ mymain(void) DO_TEST("qemu-1.0", 1000000, 0, 0, QEMU_CAPS_DRIVE_CACHE_UNSAFE, QEMU_CAPS_DRIVE_SERIAL, - QEMU_CAPS_DRIVE_READONLY, QEMU_CAPS_MEM_PATH, QEMU_CAPS_SDL, QEMU_CAPS_CHARDEV, @@ -485,7 +478,6 @@ mymain(void) DO_TEST("qemu-1.1.0", 1001000, 0, 0, QEMU_CAPS_DRIVE_CACHE_UNSAFE, QEMU_CAPS_DRIVE_SERIAL, - QEMU_CAPS_DRIVE_READONLY, QEMU_CAPS_MEM_PATH, QEMU_CAPS_SDL, QEMU_CAPS_CHARDEV, diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index 3c52315..45b91f7 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -300,7 +300,6 @@ static int testCompareXMLToArgvFiles(const char *xml, virQEMUCapsSetList(extraFlags, QEMU_CAPS_NO_ACPI, QEMU_CAPS_DEVICE, - QEMU_CAPS_DRIVE_READONLY, QEMU_CAPS_LAST); if (STREQ(vm->def->os.machine, "pc") && @@ -661,8 +660,7 @@ mymain(void) DO_TEST_FAILURE("reboot-timeout-enabled", NONE); DO_TEST("bios", QEMU_CAPS_SGA); - DO_TEST("bios-nvram", - QEMU_CAPS_DRIVE_READONLY); + DO_TEST("bios-nvram", NONE); DO_TEST("clock-utc", QEMU_CAPS_NODEFCONFIG); DO_TEST("clock-localtime", NONE); DO_TEST("clock-localtime-basis-localtime", QEMU_CAPS_RTC); @@ -760,10 +758,9 @@ mymain(void) DO_TEST("floppy-drive-fat", QEMU_CAPS_DRIVE_BOOT); DO_TEST("disk-drive-readonly-disk", - QEMU_CAPS_DRIVE_READONLY, QEMU_CAPS_NODEFCONFIG); DO_TEST("disk-drive-readonly-no-device", - QEMU_CAPS_DRIVE_READONLY, QEMU_CAPS_NODEFCONFIG); + QEMU_CAPS_NODEFCONFIG); DO_TEST("disk-drive-fmt-qcow", QEMU_CAPS_DRIVE_BOOT); DO_TEST("disk-drive-shared", @@ -1644,7 +1641,7 @@ mymain(void) QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_DEVICE_SCSI_GENERIC); DO_TEST("hostdev-scsi-readonly", - QEMU_CAPS_DRIVE_READONLY, QEMU_CAPS_VIRTIO_SCSI, + QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_DEVICE_SCSI_GENERIC); DO_TEST("hostdev-scsi-virtio-scsi", QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_VIRTIO_SCSI, -- 2.7.3

We support qemu version 0.12.0+, which has it. --- src/qemu/qemu_capabilities.c | 16 +++-------- src/qemu/qemu_capabilities.h | 2 +- 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 | 32 ++++++++-------------- tests/qemuhotplugtest.c | 2 -- tests/qemuxml2argvtest.c | 1 - tests/qemuxml2xmltest.c | 1 - 19 files changed, 16 insertions(+), 51 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 656162c..509b7ed 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -1171,8 +1171,6 @@ virQEMUCapsComputeCmdFlags(const char *help, if (strstr(help, "-chardev spiceport")) virQEMUCapsSet(qemuCaps, QEMU_CAPS_CHARDEV_SPICEPORT); } - if (strstr(help, "-device")) - virQEMUCapsSet(qemuCaps, QEMU_CAPS_DEVICE); if (strstr(help, "-nodefconfig")) virQEMUCapsSet(qemuCaps, QEMU_CAPS_NODEFCONFIG); if (strstr(help, "-no-user-config")) @@ -3331,8 +3329,7 @@ virQEMUCapsInitHelp(virQEMUCapsPtr qemuCaps, uid_t runUid, gid_t runGid, const c /* virQEMUCapsExtractDeviceStr will only set additional caps if qemu * understands the 0.13.0+ notion of "-device driver,". */ - if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE) && - strstr(help, "-device driver,?") && + if (strstr(help, "-device driver,?") && virQEMUCapsExtractDeviceStr(qemuCaps->binary, qemuCaps, runUid, runGid) < 0) { goto cleanup; @@ -3374,7 +3371,6 @@ virQEMUCapsInitQMPBasic(virQEMUCapsPtr qemuCaps) virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_SERIAL); virQEMUCapsSet(qemuCaps, QEMU_CAPS_CHARDEV); virQEMUCapsSet(qemuCaps, QEMU_CAPS_MONITOR_JSON); - virQEMUCapsSet(qemuCaps, QEMU_CAPS_DEVICE); virQEMUCapsSet(qemuCaps, QEMU_CAPS_SDL); virQEMUCapsSet(qemuCaps, QEMU_CAPS_SMP_TOPOLOGY); virQEMUCapsSet(qemuCaps, QEMU_CAPS_NETDEV); @@ -4011,8 +4007,7 @@ virQEMUCapsSupportsChardev(const virDomainDef *def, virQEMUCapsPtr qemuCaps, virDomainChrDefPtr chr) { - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_CHARDEV) || - !virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE)) + if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_CHARDEV)) return false; if ((def->os.arch == VIR_ARCH_PPC) || ARCH_IS_PPC64(def->os.arch)) { @@ -4214,8 +4209,7 @@ virQEMUCapsFillDomainDeviceHostdevCaps(virQEMUCapsPtr qemuCaps, VIR_DOMAIN_CAPS_ENUM_SET(hostdev->subsysType, VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_USB, VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI); - if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE) && - virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_SCSI_GENERIC)) + if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_SCSI_GENERIC)) VIR_DOMAIN_CAPS_ENUM_SET(hostdev->subsysType, VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_SCSI); @@ -4230,9 +4224,7 @@ virQEMUCapsFillDomainDeviceHostdevCaps(virQEMUCapsPtr qemuCaps, VIR_DOMAIN_HOSTDEV_PCI_BACKEND_VFIO); } - if (supportsPassthroughKVM && - (virQEMUCapsGet(qemuCaps, QEMU_CAPS_PCIDEVICE) || - virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE))) { + if (supportsPassthroughKVM) { VIR_DOMAIN_CAPS_ENUM_SET(hostdev->pciBackend, VIR_DOMAIN_HOSTDEV_PCI_BACKEND_DEFAULT, VIR_DOMAIN_HOSTDEV_PCI_BACKEND_KVM); diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index ed87b13..1ee0646 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -82,7 +82,7 @@ typedef enum { /* 25 */ X_QEMU_CAPS_BALLOON, /* -balloon available */ - QEMU_CAPS_DEVICE, /* Is the new -device arg available */ + X_QEMU_CAPS_DEVICE, /* Is the -device arg available */ QEMU_CAPS_SDL, /* Is the new -sdl arg available */ QEMU_CAPS_SMP_TOPOLOGY, /* -smp has sockets/cores/threads */ QEMU_CAPS_NETDEV, /* -netdev flag & netdev_add/remove */ diff --git a/tests/qemucapabilitiesdata/caps_1.2.2.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.2.2.x86_64.xml index 724291b..bab364b 100644 --- a/tests/qemucapabilitiesdata/caps_1.2.2.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_1.2.2.x86_64.xml @@ -8,7 +8,6 @@ <flag name='chardev'/> <flag name='enable-kvm'/> <flag name='monitor-json'/> - <flag name='device'/> <flag name='sdl'/> <flag name='smp-topology'/> <flag name='netdev'/> diff --git a/tests/qemucapabilitiesdata/caps_1.3.1.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.3.1.x86_64.xml index 4eb66af..ce2e02f 100644 --- a/tests/qemucapabilitiesdata/caps_1.3.1.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_1.3.1.x86_64.xml @@ -8,7 +8,6 @@ <flag name='chardev'/> <flag name='enable-kvm'/> <flag name='monitor-json'/> - <flag name='device'/> <flag name='sdl'/> <flag name='smp-topology'/> <flag name='netdev'/> diff --git a/tests/qemucapabilitiesdata/caps_1.4.2.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.4.2.x86_64.xml index 72ea76f..c8e60bb 100644 --- a/tests/qemucapabilitiesdata/caps_1.4.2.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_1.4.2.x86_64.xml @@ -8,7 +8,6 @@ <flag name='chardev'/> <flag name='enable-kvm'/> <flag name='monitor-json'/> - <flag name='device'/> <flag name='sdl'/> <flag name='smp-topology'/> <flag name='netdev'/> diff --git a/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml index 1702208..ee5ecd4 100644 --- a/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml @@ -8,7 +8,6 @@ <flag name='chardev'/> <flag name='enable-kvm'/> <flag name='monitor-json'/> - <flag name='device'/> <flag name='sdl'/> <flag name='smp-topology'/> <flag name='netdev'/> diff --git a/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml index 4e01f3f..45155d6 100644 --- a/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml @@ -8,7 +8,6 @@ <flag name='chardev'/> <flag name='enable-kvm'/> <flag name='monitor-json'/> - <flag name='device'/> <flag name='sdl'/> <flag name='smp-topology'/> <flag name='netdev'/> diff --git a/tests/qemucapabilitiesdata/caps_1.6.50.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.6.50.x86_64.xml index 2063f9f..296f769 100644 --- a/tests/qemucapabilitiesdata/caps_1.6.50.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_1.6.50.x86_64.xml @@ -8,7 +8,6 @@ <flag name='chardev'/> <flag name='enable-kvm'/> <flag name='monitor-json'/> - <flag name='device'/> <flag name='sdl'/> <flag name='smp-topology'/> <flag name='netdev'/> diff --git a/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml index 954aa09..65027a6 100644 --- a/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml @@ -8,7 +8,6 @@ <flag name='chardev'/> <flag name='enable-kvm'/> <flag name='monitor-json'/> - <flag name='device'/> <flag name='sdl'/> <flag name='smp-topology'/> <flag name='netdev'/> diff --git a/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml index 1361d32..b4b9a88 100644 --- a/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml @@ -8,7 +8,6 @@ <flag name='chardev'/> <flag name='enable-kvm'/> <flag name='monitor-json'/> - <flag name='device'/> <flag name='sdl'/> <flag name='smp-topology'/> <flag name='netdev'/> diff --git a/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml index a01e90a..c08f7cc 100644 --- a/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml @@ -8,7 +8,6 @@ <flag name='chardev'/> <flag name='enable-kvm'/> <flag name='monitor-json'/> - <flag name='device'/> <flag name='sdl'/> <flag name='smp-topology'/> <flag name='netdev'/> diff --git a/tests/qemucapabilitiesdata/caps_2.6.0-gicv2.aarch64.xml b/tests/qemucapabilitiesdata/caps_2.6.0-gicv2.aarch64.xml index 5816993..8b68291 100644 --- a/tests/qemucapabilitiesdata/caps_2.6.0-gicv2.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_2.6.0-gicv2.aarch64.xml @@ -8,7 +8,6 @@ <flag name='chardev'/> <flag name='enable-kvm'/> <flag name='monitor-json'/> - <flag name='device'/> <flag name='sdl'/> <flag name='smp-topology'/> <flag name='netdev'/> diff --git a/tests/qemucapabilitiesdata/caps_2.6.0-gicv3.aarch64.xml b/tests/qemucapabilitiesdata/caps_2.6.0-gicv3.aarch64.xml index 83a7817..d65523e 100644 --- a/tests/qemucapabilitiesdata/caps_2.6.0-gicv3.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_2.6.0-gicv3.aarch64.xml @@ -8,7 +8,6 @@ <flag name='chardev'/> <flag name='enable-kvm'/> <flag name='monitor-json'/> - <flag name='device'/> <flag name='sdl'/> <flag name='smp-topology'/> <flag name='netdev'/> diff --git a/tests/qemucapabilitiesdata/caps_2.6.0.ppc64le.xml b/tests/qemucapabilitiesdata/caps_2.6.0.ppc64le.xml index caa2ce3..771d209 100644 --- a/tests/qemucapabilitiesdata/caps_2.6.0.ppc64le.xml +++ b/tests/qemucapabilitiesdata/caps_2.6.0.ppc64le.xml @@ -8,7 +8,6 @@ <flag name='chardev'/> <flag name='enable-kvm'/> <flag name='monitor-json'/> - <flag name='device'/> <flag name='sdl'/> <flag name='smp-topology'/> <flag name='netdev'/> diff --git a/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml index 41675f1..9bdcb76 100644 --- a/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml @@ -8,7 +8,6 @@ <flag name='chardev'/> <flag name='enable-kvm'/> <flag name='monitor-json'/> - <flag name='device'/> <flag name='sdl'/> <flag name='smp-topology'/> <flag name='netdev'/> diff --git a/tests/qemuhelptest.c b/tests/qemuhelptest.c index 31fe871..d430fda 100644 --- a/tests/qemuhelptest.c +++ b/tests/qemuhelptest.c @@ -70,19 +70,17 @@ static int testHelpStrParsing(const void *data) virQEMUCapsSet(flags, QEMU_CAPS_MONITOR_JSON); # endif - if (virQEMUCapsGet(info->flags, QEMU_CAPS_DEVICE)) { - VIR_FREE(path); - VIR_FREE(help); - if (virAsprintf(&path, "%s/qemuhelpdata/%s-device", abs_srcdir, - info->name) < 0) - goto cleanup; - - if (virtTestLoadFile(path, &help) < 0) - goto cleanup; - - if (virQEMUCapsParseDeviceStr(flags, help) < 0) - goto cleanup; - } + VIR_FREE(path); + VIR_FREE(help); + if (virAsprintf(&path, "%s/qemuhelpdata/%s-device", abs_srcdir, + info->name) < 0) + goto cleanup; + + if (virtTestLoadFile(path, &help) < 0) + goto cleanup; + + if (virQEMUCapsParseDeviceStr(flags, help) < 0) + goto cleanup; got = virQEMUCapsFlagsString(flags); expected = virQEMUCapsFlagsString(info->flags); @@ -156,7 +154,6 @@ mymain(void) QEMU_CAPS_ENABLE_KVM, QEMU_CAPS_SDL, QEMU_CAPS_CHARDEV, - QEMU_CAPS_DEVICE, QEMU_CAPS_SMP_TOPOLOGY, QEMU_CAPS_RTC, QEMU_CAPS_NO_HPET, @@ -177,7 +174,6 @@ mymain(void) QEMU_CAPS_CHARDEV, QEMU_CAPS_ENABLE_KVM, QEMU_CAPS_MONITOR_JSON, - QEMU_CAPS_DEVICE, QEMU_CAPS_SMP_TOPOLOGY, QEMU_CAPS_NETDEV, QEMU_CAPS_RTC, @@ -220,7 +216,6 @@ mymain(void) QEMU_CAPS_MEM_PATH, QEMU_CAPS_SDL, QEMU_CAPS_CHARDEV, - QEMU_CAPS_DEVICE, QEMU_CAPS_SMP_TOPOLOGY, QEMU_CAPS_RTC, QEMU_CAPS_VHOST_NET, @@ -247,7 +242,6 @@ mymain(void) QEMU_CAPS_CHARDEV, QEMU_CAPS_ENABLE_KVM, QEMU_CAPS_MONITOR_JSON, - QEMU_CAPS_DEVICE, QEMU_CAPS_SMP_TOPOLOGY, QEMU_CAPS_NETDEV, QEMU_CAPS_RTC, @@ -300,7 +294,6 @@ mymain(void) QEMU_CAPS_CHARDEV, QEMU_CAPS_ENABLE_KVM, QEMU_CAPS_MONITOR_JSON, - QEMU_CAPS_DEVICE, QEMU_CAPS_SMP_TOPOLOGY, QEMU_CAPS_NETDEV, QEMU_CAPS_RTC, @@ -351,7 +344,6 @@ mymain(void) QEMU_CAPS_CHARDEV, QEMU_CAPS_ENABLE_KVM, QEMU_CAPS_MONITOR_JSON, - QEMU_CAPS_DEVICE, QEMU_CAPS_SMP_TOPOLOGY, QEMU_CAPS_NETDEV, QEMU_CAPS_RTC, @@ -409,7 +401,6 @@ mymain(void) QEMU_CAPS_CHARDEV, QEMU_CAPS_ENABLE_KVM, QEMU_CAPS_MONITOR_JSON, - QEMU_CAPS_DEVICE, QEMU_CAPS_SMP_TOPOLOGY, QEMU_CAPS_NETDEV, QEMU_CAPS_RTC, @@ -483,7 +474,6 @@ mymain(void) QEMU_CAPS_CHARDEV, QEMU_CAPS_ENABLE_KVM, QEMU_CAPS_MONITOR_JSON, - QEMU_CAPS_DEVICE, QEMU_CAPS_SMP_TOPOLOGY, QEMU_CAPS_NETDEV, QEMU_CAPS_RTC, diff --git a/tests/qemuhotplugtest.c b/tests/qemuhotplugtest.c index ea6dc36..689adc3 100644 --- a/tests/qemuhotplugtest.c +++ b/tests/qemuhotplugtest.c @@ -71,8 +71,6 @@ qemuHotplugCreateObjects(virDomainXMLOptionPtr xmlopt, if (!(priv->qemuCaps = virQEMUCapsNew())) goto cleanup; - /* for attach & detach qemu must support -device */ - virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_DEVICE); virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_VIRTIO_SCSI); virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_DEVICE_USB_STORAGE); if (event) diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index 45b91f7..f73c085 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -299,7 +299,6 @@ static int testCompareXMLToArgvFiles(const char *xml, virQEMUCapsSetList(extraFlags, QEMU_CAPS_NO_ACPI, - QEMU_CAPS_DEVICE, QEMU_CAPS_LAST); if (STREQ(vm->def->os.machine, "pc") && diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c index cd60a53..00cf628 100644 --- a/tests/qemuxml2xmltest.c +++ b/tests/qemuxml2xmltest.c @@ -201,7 +201,6 @@ testInfoSet(struct testInfo *info, goto error; virQEMUCapsSetList(info->qemuCaps, - QEMU_CAPS_DEVICE, QEMU_CAPS_LAST); if (testQemuCapsSetGIC(info->qemuCaps, gic) < 0) -- 2.7.3

Before removal of QEMU_CAPS_DEVICE, its only usage was or'd with QEMU_CAPS_DEVICE. Now it's unused. --- src/qemu/qemu_capabilities.c | 2 -- src/qemu/qemu_capabilities.h | 2 +- tests/qemuhelptest.c | 5 ----- tests/qemuxml2argvtest.c | 32 ++++++++++++++------------------ 4 files changed, 15 insertions(+), 26 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 509b7ed..d32e71f 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -1158,8 +1158,6 @@ virQEMUCapsComputeCmdFlags(const char *help, virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_BOOT); if (strstr(help, "serial=s")) virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_SERIAL); - if (strstr(help, "-pcidevice")) - virQEMUCapsSet(qemuCaps, QEMU_CAPS_PCIDEVICE); if (strstr(help, "host=[seg:]bus")) virQEMUCapsSet(qemuCaps, QEMU_CAPS_HOST_PCI_MULTIDOMAIN); if (strstr(help, "-mem-path")) diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index 1ee0646..368996a 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -69,7 +69,7 @@ typedef enum { /* 15 */ X_QEMU_CAPS_VGA, /* Is -vga avail */ X_QEMU_CAPS_0_10, /* features added in qemu-0.10.0 or later */ - QEMU_CAPS_PCIDEVICE, /* PCI device assignment supported */ + X_QEMU_CAPS_PCIDEVICE, /* PCI device assignment supported */ QEMU_CAPS_MEM_PATH, /* mmap'ped guest backing supported */ QEMU_CAPS_DRIVE_SERIAL, /* -driver serial= available */ diff --git a/tests/qemuhelptest.c b/tests/qemuhelptest.c index d430fda..e159b6e 100644 --- a/tests/qemuhelptest.c +++ b/tests/qemuhelptest.c @@ -169,7 +169,6 @@ mymain(void) QEMU_CAPS_DRIVE_BOOT, QEMU_CAPS_KVM, QEMU_CAPS_DRIVE_SERIAL, - QEMU_CAPS_PCIDEVICE, QEMU_CAPS_MEM_PATH, QEMU_CAPS_CHARDEV, QEMU_CAPS_ENABLE_KVM, @@ -212,7 +211,6 @@ mymain(void) QEMU_CAPS_DRIVE_BOOT, QEMU_CAPS_KVM, QEMU_CAPS_DRIVE_SERIAL, - QEMU_CAPS_PCIDEVICE, QEMU_CAPS_MEM_PATH, QEMU_CAPS_SDL, QEMU_CAPS_CHARDEV, @@ -236,7 +234,6 @@ mymain(void) QEMU_CAPS_DRIVE_CACHE_UNSAFE, QEMU_CAPS_KVM, QEMU_CAPS_DRIVE_SERIAL, - QEMU_CAPS_PCIDEVICE, QEMU_CAPS_MEM_PATH, QEMU_CAPS_SDL, QEMU_CAPS_CHARDEV, @@ -289,7 +286,6 @@ mymain(void) QEMU_CAPS_DRIVE_CACHE_UNSAFE, QEMU_CAPS_KVM, QEMU_CAPS_DRIVE_SERIAL, - QEMU_CAPS_PCIDEVICE, QEMU_CAPS_MEM_PATH, QEMU_CAPS_CHARDEV, QEMU_CAPS_ENABLE_KVM, @@ -339,7 +335,6 @@ mymain(void) QEMU_CAPS_DRIVE_CACHE_UNSAFE, QEMU_CAPS_KVM, QEMU_CAPS_DRIVE_SERIAL, - QEMU_CAPS_PCIDEVICE, QEMU_CAPS_MEM_PATH, QEMU_CAPS_CHARDEV, QEMU_CAPS_ENABLE_KVM, diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index f73c085..a2318ef 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -675,7 +675,7 @@ mymain(void) DO_TEST("cpu-eoi-disabled", QEMU_CAPS_ENABLE_KVM); DO_TEST("cpu-eoi-enabled", QEMU_CAPS_ENABLE_KVM); - DO_TEST("controller-order", QEMU_CAPS_PCIDEVICE, + DO_TEST("controller-order", QEMU_CAPS_KVM, QEMU_CAPS_ENABLE_KVM, QEMU_CAPS_BOOT_MENU, QEMU_CAPS_PIIX3_USB_UHCI, QEMU_CAPS_PCI_MULTIFUNCTION, QEMU_CAPS_DRIVE_AIO, @@ -995,21 +995,19 @@ mymain(void) DO_TEST("net-mcast", NONE); DO_TEST("net-udp", NONE); DO_TEST("net-hostdev", - QEMU_CAPS_PCIDEVICE, QEMU_CAPS_NODEFCONFIG); + QEMU_CAPS_NODEFCONFIG); DO_TEST("net-hostdev-multidomain", - QEMU_CAPS_PCIDEVICE, QEMU_CAPS_NODEFCONFIG, + QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_HOST_PCI_MULTIDOMAIN); DO_TEST_FAILURE("net-hostdev-multidomain", - QEMU_CAPS_PCIDEVICE, QEMU_CAPS_NODEFCONFIG); DO_TEST("net-hostdev-vfio", - QEMU_CAPS_PCIDEVICE, QEMU_CAPS_NODEFCONFIG, + QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_DEVICE_VFIO_PCI); DO_TEST("net-hostdev-vfio-multidomain", - QEMU_CAPS_PCIDEVICE, QEMU_CAPS_NODEFCONFIG, + QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_DEVICE_VFIO_PCI, QEMU_CAPS_HOST_PCI_MULTIDOMAIN); DO_TEST_FAILURE("net-hostdev-vfio-multidomain", - QEMU_CAPS_PCIDEVICE, QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_DEVICE_VFIO_PCI); DO_TEST("serial-vc", NONE); @@ -1241,20 +1239,19 @@ mymain(void) DO_TEST("hostdev-usb-address-device-boot", QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_BOOTINDEX, QEMU_CAPS_USB_HOST_BOOTINDEX); - DO_TEST("hostdev-pci-address", QEMU_CAPS_PCIDEVICE); + DO_TEST("hostdev-pci-address", NONE); DO_TEST("hostdev-pci-address-device", - QEMU_CAPS_PCIDEVICE, QEMU_CAPS_NODEFCONFIG); + QEMU_CAPS_NODEFCONFIG); DO_TEST("hostdev-vfio", - QEMU_CAPS_PCIDEVICE, QEMU_CAPS_NODEFCONFIG, + QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_DEVICE_VFIO_PCI); DO_TEST("hostdev-vfio-multidomain", - QEMU_CAPS_PCIDEVICE, QEMU_CAPS_NODEFCONFIG, + QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_DEVICE_VFIO_PCI, QEMU_CAPS_HOST_PCI_MULTIDOMAIN); DO_TEST_FAILURE("hostdev-vfio-multidomain", - QEMU_CAPS_PCIDEVICE, QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_DEVICE_VFIO_PCI); DO_TEST("pci-rom", - QEMU_CAPS_PCIDEVICE, QEMU_CAPS_NODEFCONFIG); + QEMU_CAPS_NODEFCONFIG); DO_TEST_FULL("restore-v2", "exec:cat", 7, 0, 0, GIC_NONE, NONE); DO_TEST_FULL("restore-v2-fd", "stdio", 7, 0, 0, GIC_NONE, NONE); @@ -1842,14 +1839,13 @@ mymain(void) DO_TEST("fips-enabled", QEMU_CAPS_ENABLE_FIPS); - DO_TEST("shmem", QEMU_CAPS_PCIDEVICE, - QEMU_CAPS_DEVICE_IVSHMEM); + DO_TEST("shmem", QEMU_CAPS_DEVICE_IVSHMEM); DO_TEST_FAILURE("shmem", NONE); - DO_TEST_FAILURE("shmem-invalid-size", QEMU_CAPS_PCIDEVICE, + DO_TEST_FAILURE("shmem-invalid-size", QEMU_CAPS_DEVICE_IVSHMEM); - DO_TEST_FAILURE("shmem-invalid-address", QEMU_CAPS_PCIDEVICE, + DO_TEST_FAILURE("shmem-invalid-address", QEMU_CAPS_DEVICE_IVSHMEM); - DO_TEST_FAILURE("shmem-small-size", QEMU_CAPS_PCIDEVICE, + DO_TEST_FAILURE("shmem-small-size", QEMU_CAPS_DEVICE_IVSHMEM); DO_TEST_PARSE_ERROR("shmem-msi-only", NONE); DO_TEST("cpu-host-passthrough-features", QEMU_CAPS_KVM); -- 2.7.3

On 05/20/2016 08:44 AM, Ján Tomko wrote:
Cleaning up after QEMU_CAPS_DEVICE I noticed QEMU_CAPS_DRIVE_READONLY depends on it and QEMU_CAPS_PCIDEVICE did not really matter.
Ján Tomko (9): qemu_command: assume QEMU_CAPS_DEVICE qemu: assume QEMU_CAPS_DEVICE almost everywhere tests: remove disk-drive-fat test tests: remove <readonly/> from IDE disks tests: always assume QEMU_CAPS_DRIVE_READONLY qemu: always assume QEMU_CAPS_DRIVE_READONLY Deprecate QEMU_CAPS_DRIVE_READONLY Deprecate QEMU_CAPS_DEVICE Deprecate QEMU_CAPS_PCIDEVICE
src/qemu/qemu_capabilities.c | 46 +-- src/qemu/qemu_capabilities.h | 6 +- src/qemu/qemu_command.c | 425 ++++++--------------- src/qemu/qemu_command.h | 3 +- src/qemu/qemu_domain.c | 6 +- src/qemu/qemu_domain.h | 1 - src/qemu/qemu_hostdev.c | 4 +- src/qemu/qemu_hotplug.c | 61 +-- src/qemu/qemu_process.c | 8 +- tests/qemucapabilitiesdata/caps_1.2.2.x86_64.xml | 2 - tests/qemucapabilitiesdata/caps_1.3.1.x86_64.xml | 2 - tests/qemucapabilitiesdata/caps_1.4.2.x86_64.xml | 2 - tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml | 2 - tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml | 2 - tests/qemucapabilitiesdata/caps_1.6.50.x86_64.xml | 2 - tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml | 2 - tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml | 2 - tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml | 2 - .../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 | 2 - tests/qemuhelptest.c | 45 +-- tests/qemuhotplugtest.c | 2 - .../qemuxml2argvdata/qemuxml2argv-boot-cdrom.args | 3 +- .../qemuxml2argv-boot-complex-bootindex.args | 3 +- .../qemuxml2argv-boot-complex.args | 3 +- ...xml2argv-boot-menu-disable-drive-bootindex.args | 3 +- .../qemuxml2argv-boot-menu-disable-drive.args | 3 +- .../qemuxml2argv-boot-menu-disable.args | 3 +- ...qemuxml2argv-boot-menu-enable-with-timeout.args | 3 +- .../qemuxml2argv-boot-menu-enable.args | 3 +- .../qemuxml2argvdata/qemuxml2argv-boot-multi.args | 3 +- .../qemuxml2argvdata/qemuxml2argv-boot-order.args | 3 +- .../qemuxml2argvdata/qemuxml2argv-boot-strict.args | 3 +- .../qemuxml2argv-controller-order.args | 2 +- tests/qemuxml2argvdata/qemuxml2argv-disk-aio.args | 2 +- .../qemuxml2argv-disk-blockio.args | 3 +- .../qemuxml2argv-disk-cdrom-empty.args | 2 +- .../qemuxml2argv-disk-cdrom-network-ftp.args | 2 +- .../qemuxml2argv-disk-cdrom-network-ftps.args | 2 +- .../qemuxml2argv-disk-cdrom-network-http.args | 2 +- .../qemuxml2argv-disk-cdrom-network-https.args | 2 +- .../qemuxml2argv-disk-cdrom-network-tftp.args | 2 +- ...qemuxml2argv-disk-cdrom-tray-no-device-cap.args | 2 +- .../qemuxml2argv-disk-cdrom-tray.args | 4 +- .../qemuxml2argvdata/qemuxml2argv-disk-cdrom.args | 3 +- .../qemuxml2argv-disk-copy_on_read.args | 2 +- .../qemuxml2argv-disk-drive-boot-cdrom.args | 2 +- .../qemuxml2argv-disk-drive-boot-disk.args | 2 +- .../qemuxml2argv-disk-drive-cache-directsync.args | 2 +- .../qemuxml2argv-disk-drive-cache-unsafe.args | 2 +- .../qemuxml2argv-disk-drive-cache-v2-none.args | 2 +- .../qemuxml2argv-disk-drive-cache-v2-wb.args | 2 +- .../qemuxml2argv-disk-drive-cache-v2-wt.args | 2 +- .../qemuxml2argv-disk-drive-discard.args | 2 +- ...uxml2argv-disk-drive-error-policy-enospace.args | 2 +- .../qemuxml2argv-disk-drive-error-policy-stop.args | 2 +- ...gv-disk-drive-error-policy-wreport-rignore.args | 2 +- .../qemuxml2argv-disk-drive-fat.args | 22 -- .../qemuxml2argv-disk-drive-fat.xml | 31 -- .../qemuxml2argv-disk-drive-fmt-qcow.args | 2 +- .../qemuxml2argv-disk-drive-no-boot.args | 2 +- .../qemuxml2argv-disk-drive-shared.args | 2 +- .../qemuxml2argv-disk-ide-drive-split.args | 3 +- .../qemuxml2argv-disk-ioeventfd.args | 2 +- .../qemuxml2argvdata/qemuxml2argv-disk-order.args | 2 +- .../qemuxml2argv-disk-scsi-disk-split.args | 6 +- .../qemuxml2argv-disk-scsi-disk-vpd.args | 6 +- .../qemuxml2argv-disk-scsi-disk-wwn.args | 3 +- .../qemuxml2argv-disk-snapshot.args | 2 +- .../qemuxml2argv-disk-source-pool-mode.args | 5 +- .../qemuxml2argv-disk-source-pool.args | 5 +- .../qemuxml2argvdata/qemuxml2argv-disk-virtio.args | 2 +- tests/qemuxml2argvdata/qemuxml2argv-event_idx.args | 2 +- .../qemuxml2argv-floppy-drive-fat.args | 2 +- .../qemuxml2argv-graphics-spice-timeout.args | 2 +- .../qemuxml2argv-hugepages-numa.args | 2 +- .../qemuxml2argv-pci-autoadd-addr.args | 3 +- .../qemuxml2argv-pci-autoadd-idx.args | 3 +- tests/qemuxml2argvdata/qemuxml2argv-pci-many.args | 3 +- .../qemuxml2argv-seclabel-dynamic-override.xml | 1 - tests/qemuxml2argvtest.c | 43 +-- .../qemuxml2xmlout-seclabel-dynamic-override.xml | 1 - tests/qemuxml2xmltest.c | 2 - 85 files changed, 246 insertions(+), 631 deletions(-) delete mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-drive-fat.args delete mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-drive-fat.xml
Other than the unexpected removal of FSDEV_READONLY in patch 6, looks good - ACK series modulo addressing that John

On Fri, May 20, 2016 at 10:52:20AM -0400, John Ferlan wrote:
On 05/20/2016 08:44 AM, Ján Tomko wrote:
Cleaning up after QEMU_CAPS_DEVICE I noticed QEMU_CAPS_DRIVE_READONLY depends on it and QEMU_CAPS_PCIDEVICE did not really matter.
Ján Tomko (9): qemu_command: assume QEMU_CAPS_DEVICE qemu: assume QEMU_CAPS_DEVICE almost everywhere tests: remove disk-drive-fat test tests: remove <readonly/> from IDE disks tests: always assume QEMU_CAPS_DRIVE_READONLY qemu: always assume QEMU_CAPS_DRIVE_READONLY Deprecate QEMU_CAPS_DRIVE_READONLY Deprecate QEMU_CAPS_DEVICE Deprecate QEMU_CAPS_PCIDEVICE
85 files changed, 246 insertions(+), 631 deletions(-) delete mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-drive-fat.args delete mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-drive-fat.xml
Other than the unexpected removal of FSDEV_READONLY in patch 6, looks good - ACK series modulo addressing that
Thanks, I have removed the FSDEV_READONLY change and pushed the series. Jan
participants (2)
-
John Ferlan
-
Ján Tomko