]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
hyperv: implement domainGetMaxVcpus
authorMatt Coleman <mcoleman@datto.com>
Thu, 12 Nov 2020 17:10:32 +0000 (12:10 -0500)
committerMichal Privoznik <mprivozn@redhat.com>
Thu, 12 Nov 2020 17:58:57 +0000 (18:58 +0100)
Co-authored-by: Sri Ramanujam <sramanujam@datto.com>
Signed-off-by: Matt Coleman <matt@datto.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
src/hyperv/hyperv_driver.c

index 3c436d94652f8b1c2080148fb7614bd4c9b5f218..44ef4c53e000ca19bb4b5c973e1df31d4243a121 100644 (file)
@@ -1627,6 +1627,16 @@ hypervDomainIsActive(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);
+}
+
+
 static int
 hypervDomainIsPersistent(virDomainPtr domain G_GNUC_UNUSED)
 {
@@ -1983,6 +1993,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 */