<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-size:large"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">ср, 3 мар. 2021 г. в 15:54, Peter Krempa <<a href="mailto:pkrempa@redhat.com">pkrempa@redhat.com</a>>:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Mon, Jan 11, 2021 at 12:49:55 +0300, Nikolay Shirokovskiy wrote:<br>
> It can also be used for validation of input in qemuDomainSetBlockIoTune.<br>
> <br>
> Signed-off-by: Nikolay Shirokovskiy <<a href="mailto:nshirokovskiy@virtuozzo.com" target="_blank">nshirokovskiy@virtuozzo.com</a>><br>
> ---<br>
>  src/qemu/qemu_validate.c | 100 ++++++++++++++++++++++++++---------------------<br>
>  src/qemu/qemu_validate.h |   4 ++<br>
>  2 files changed, 60 insertions(+), 44 deletions(-)<br>
> <br>
> diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c<br>
> index eadf3af..6a27565 100644<br>
> --- a/src/qemu/qemu_validate.c<br>
> +++ b/src/qemu/qemu_validate.c<br>
> @@ -2696,6 +2696,61 @@ qemuValidateDomainDeviceDefDiskFrontend(const virDomainDiskDef *disk,<br>
>  }<br>
>  <br>
>  <br>
> +int<br>
> +qemuValidateDomainBlkdeviotune(const virDomainBlockIoTuneInfo *iotune,<br>
> +                               virQEMUCapsPtr qemuCaps)<br>
> +{<br>
<br>
The check that group_name must be set along with other fields :<br>
<br>
    /* group_name by itself is ignored by qemu */<br>
    if (disk->blkdeviotune.group_name &&<br>
        !virDomainBlockIoTuneInfoHasAny(&disk->blkdeviotune)) {<br>
        virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",<br>
                       _("group_name can be configured only together with "<br>
                         "settings"));<br>
        return -1;<br>
    }<br>
<br>
<br>
also belongs here.<br></blockquote><div><br></div><div><div class="gmail_default" style="font-size:large">I cannot put this check into qemuValidateDomainBlkdeviotune. The thing is I'm going to reuse this function</div><div class="gmail_default" style="font-size:large">in qemuDomainSetBlockIoTune and in qemuDomainSetBlockIoTune is it fine to have group_name only in input.</div><div class="gmail_default" style="font-size:large">This means "move this disk to that io tune group" or "create io tune group and put this disk into it" depending</div><div class="gmail_default" style="font-size:large">on whether io tune with that name exists or not (this is what qemuDomainSetBlockIoTuneDefaults do).</div><div class="gmail_default" style="font-size:large"><br></div><br></div><div><div class="gmail_default" style="font-size:large">Nikolay</div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
<br>
> +    if (iotune->total_bytes_sec > QEMU_BLOCK_IOTUNE_MAX ||<br>
> +        iotune->read_bytes_sec > QEMU_BLOCK_IOTUNE_MAX ||<br>
> +        iotune->write_bytes_sec > QEMU_BLOCK_IOTUNE_MAX ||<br>
> +        iotune->total_iops_sec > QEMU_BLOCK_IOTUNE_MAX ||<br>
> +        iotune->read_iops_sec > QEMU_BLOCK_IOTUNE_MAX ||<br>
> +        iotune->write_iops_sec > QEMU_BLOCK_IOTUNE_MAX ||<br>
> +        iotune->total_bytes_sec_max > QEMU_BLOCK_IOTUNE_MAX ||<br>
> +        iotune->read_bytes_sec_max > QEMU_BLOCK_IOTUNE_MAX ||<br>
> +        iotune->write_bytes_sec_max > QEMU_BLOCK_IOTUNE_MAX ||<br>
> +        iotune->total_iops_sec_max > QEMU_BLOCK_IOTUNE_MAX ||<br>
> +        iotune->read_iops_sec_max > QEMU_BLOCK_IOTUNE_MAX ||<br>
> +        iotune->write_iops_sec_max > QEMU_BLOCK_IOTUNE_MAX ||<br>
> +        iotune->size_iops_sec > QEMU_BLOCK_IOTUNE_MAX) {<br>
> +        virReportError(VIR_ERR_ARGUMENT_UNSUPPORTED,<br>
> +                       _("block I/O throttle limit must "<br>
> +                         "be no more than %llu using QEMU"),<br>
> +                       QEMU_BLOCK_IOTUNE_MAX);<br>
> +        return -1;<br>
> +    }<br>
<br>
We also nowadays prefer if the error detail strings are not broken up,<br>
but that's not a required change.<br>
<br>
With the group name check moved too:<br>
<br>
Reviewed-by: Peter Krempa <<a href="mailto:pkrempa@redhat.com" target="_blank">pkrempa@redhat.com</a>><br>
<br>
</blockquote></div></div>