[libvirt] [PATCH 07/13] qemu_process: move capabilities check for iothreads

Peter Krempa pkrempa at redhat.com
Mon Feb 20 14:57:21 UTC 2017


On Fri, Feb 17, 2017 at 15:49:11 +0100, Pavel Hrdina wrote:
> Signed-off-by: Pavel Hrdina <phrdina at 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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20170220/3fbbe7b9/attachment-0001.sig>


More information about the libvir-list mailing list