From 4a194c55af68cf4f2fc8acc4a2ee8aa5a6926443 Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Mon, 19 Oct 2015 13:36:08 +0200 Subject: [PATCH] conf: Extract update of vcpu count if maxvcpus is decreased The code can be unified into the new accessor rather than being scattered accross the drivers. --- src/conf/domain_conf.c | 3 +++ src/libxl/libxl_driver.c | 3 --- src/qemu/qemu_driver.c | 3 --- src/test/test_driver.c | 3 --- src/xen/xm_internal.c | 3 --- 5 files changed, 3 insertions(+), 12 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 91b045d04a..5370a089f1 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -1288,6 +1288,9 @@ int virDomainDefSetVcpusMax(virDomainDefPtr def, unsigned int maxvcpus) { + if (maxvcpus < def->vcpus) + def->vcpus = maxvcpus; + def->maxvcpus = maxvcpus; return 0; diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c index 80f5907375..f65cfb221a 100644 --- a/src/libxl/libxl_driver.c +++ b/src/libxl/libxl_driver.c @@ -2188,9 +2188,6 @@ libxlDomainSetVcpusFlags(virDomainPtr dom, unsigned int nvcpus, case VIR_DOMAIN_VCPU_MAXIMUM | VIR_DOMAIN_VCPU_CONFIG: if (virDomainDefSetVcpusMax(def, nvcpus) < 0) goto cleanup; - - if (nvcpus < def->vcpus) - def->vcpus = nvcpus; break; case VIR_DOMAIN_VCPU_CONFIG: diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 5dc72436b5..6b59687f71 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -4981,9 +4981,6 @@ qemuDomainSetVcpusFlags(virDomainPtr dom, unsigned int nvcpus, if (flags & VIR_DOMAIN_VCPU_MAXIMUM) { if (virDomainDefSetVcpusMax(persistentDef, nvcpus) < 0) goto endjob; - - if (nvcpus < persistentDef->vcpus) - persistentDef->vcpus = nvcpus; } else { persistentDef->vcpus = nvcpus; } diff --git a/src/test/test_driver.c b/src/test/test_driver.c index de0043adf2..d4d8e56840 100644 --- a/src/test/test_driver.c +++ b/src/test/test_driver.c @@ -2379,9 +2379,6 @@ testDomainSetVcpusFlags(virDomainPtr domain, unsigned int nrCpus, if (flags & VIR_DOMAIN_VCPU_MAXIMUM) { if (virDomainDefSetVcpusMax(persistentDef, nrCpus) < 0) goto cleanup; - - if (nrCpus < persistentDef->vcpus) - persistentDef->vcpus = nrCpus; } else { persistentDef->vcpus = nrCpus; } diff --git a/src/xen/xm_internal.c b/src/xen/xm_internal.c index 7b0c30518b..c324fdc2c4 100644 --- a/src/xen/xm_internal.c +++ b/src/xen/xm_internal.c @@ -706,9 +706,6 @@ xenXMDomainSetVcpusFlags(virConnectPtr conn, if (flags & VIR_DOMAIN_VCPU_MAXIMUM) { if (virDomainDefSetVcpusMax(entry->def, vcpus) < 0) goto cleanup; - - if (entry->def->vcpus > vcpus) - entry->def->vcpus = vcpus; } else { entry->def->vcpus = vcpus; }