
On Fri, Feb 17, 2017 at 15:49:11 +0100, Pavel Hrdina wrote:
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- src/qemu/qemu_command.c | 31 +++++-------------------------- src/qemu/qemu_process.c | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 26 deletions(-)
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index c00a47a91a..7152ef9322 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -2586,23 +2586,11 @@ qemuBuildUSBControllerDevStr(virDomainControllerDefPtr def, */ static bool qemuCheckSCSIControllerIOThreads(const virDomainDef *domainDef, - virDomainControllerDefPtr def, - virQEMUCapsPtr qemuCaps) + virDomainControllerDefPtr def)
I think that this complete function could be moved ... [...]
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 2a65e9043c..4710d4ca28 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -4584,6 +4584,37 @@ qemuProcessStartValidateVideo(virDomainObjPtr vm,
static int +qemuProcessStartValidateIOThreads(virDomainObjPtr vm, + virQEMUCapsPtr qemuCaps) +{ + size_t i; + + if (vm->def->niothreadids > 0 && + !virQEMUCapsGet(qemuCaps, QEMU_CAPS_OBJECT_IOTHREAD)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("IOThreads not supported for this QEMU")); + return -1; + } + + for (i = 0; i < vm->def->ncontrollers; i++) { + virDomainControllerDefPtr cont = vm->def->controllers[i]; + + if (cont->type == VIR_DOMAIN_CONTROLLER_TYPE_SCSI && + cont->model == VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VIRTIO_SCSI && + cont->iothread > 0 &&
... somewhere here.
+ !virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_SCSI_IOTHREAD)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("IOThreads for virtio-scsi not supported for " + "this QEMU")); + return -1; + } + } + + return 0; +}
ACK to what you have here though