[PATCH 4/6] hyperv: implement domainGetMaxVcpus

Michal Privoznik mprivozn at redhat.com
Thu Nov 12 13:46:47 UTC 2020


On 11/12/20 12:51 PM, Matt Coleman wrote:
> Co-authored-by: Sri Ramanujam <sramanujam at datto.com>
> Signed-off-by: Matt Coleman <matt at datto.com>
> ---
>   src/hyperv/hyperv_driver.c | 16 ++++++++++++++++
>   1 file changed, 16 insertions(+)
> 
> diff --git a/src/hyperv/hyperv_driver.c b/src/hyperv/hyperv_driver.c
> index 3c436d9465..0e35f18430 100644
> --- a/src/hyperv/hyperv_driver.c
> +++ b/src/hyperv/hyperv_driver.c
> @@ -42,6 +42,11 @@
>   
>   VIR_LOG_INIT("hyperv.hyperv_driver");
>   
> +/*
> + * Forward declarations
> + */
> +static int hypervDomainIsActive(virDomainPtr domain);
> +

I'm not a big fan of these declarations, because changing one place 
requires changing the other. Although in this case it doesn't matter 
really, because this declaration won't change as it's derived from 
public API. Anyway, might be worth shifting things around ..

>   /*
>    * WMI utility functions
>    *
> @@ -1184,6 +1189,16 @@ hypervDomainGetVcpus(virDomainPtr domain,
>   }
>   
>   
> +static int
> +hypervDomainGetMaxVcpus(virDomainPtr dom)
> +{
> +    if (hypervDomainIsActive(dom))
> +        return hypervDomainGetVcpusFlags(dom, (VIR_DOMAIN_VCPU_LIVE | VIR_DOMAIN_VCPU_MAXIMUM));
> +    else
> +        return hypervConnectGetMaxVcpus(dom->conn, NULL);
> +}


.. eg push this a bit further - after the hypervDomainIsActive() is 
implemented.

> +
> +
>   static char *
>   hypervDomainGetXMLDesc(virDomainPtr domain, unsigned int flags)
>   {
> @@ -1983,6 +1998,7 @@ static virHypervisorDriver hypervHypervisorDriver = {
>       .domainGetState = hypervDomainGetState, /* 0.9.5 */
>       .domainGetVcpusFlags = hypervDomainGetVcpusFlags, /* 6.10.0 */
>       .domainGetVcpus = hypervDomainGetVcpus, /* 6.10.0 */
> +    .domainGetMaxVcpus = hypervDomainGetMaxVcpus, /* 6.10.0 */
>       .domainGetXMLDesc = hypervDomainGetXMLDesc, /* 0.9.5 */
>       .connectListDefinedDomains = hypervConnectListDefinedDomains, /* 0.9.5 */
>       .connectNumOfDefinedDomains = hypervConnectNumOfDefinedDomains, /* 0.9.5 */
> 

Michal




More information about the libvir-list mailing list