Before, it only returned -1 on failure to shrink the array.
Since the switch to VIR_DELETE_ELEMENT in commit 2133441,
it returns either 0 or 0.
---
src/conf/domain_conf.c | 11 ++---------
src/conf/domain_conf.h | 2 +-
src/libxl/libxl_driver.c | 7 +------
src/qemu/qemu_driver.c | 16 +++-------------
4 files changed, 7 insertions(+), 29 deletions(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index cb0df3d..57eb215 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -14510,27 +14510,20 @@ virDomainVcpuPinAdd(virDomainVcpuPinDefPtr **vcpupin_list,
return -1;
}
-int
+void
virDomainVcpuPinDel(virDomainDefPtr def, int vcpu)
{
int n;
virDomainVcpuPinDefPtr *vcpupin_list = def->cputune.vcpupin;
- /* No vcpupin exists yet */
- if (!def->cputune.nvcpupin) {
- return 0;
- }
-
for (n = 0; n < def->cputune.nvcpupin; n++) {
if (vcpupin_list[n]->vcpuid == vcpu) {
virBitmapFree(vcpupin_list[n]->cpumask);
VIR_FREE(vcpupin_list[n]);
VIR_DELETE_ELEMENT(vcpupin_list, n, def->cputune.nvcpupin);
- break;
+ return;
}
}
-
- return 0;
}
int
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index 3426c48..c1cc854 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -2300,7 +2300,7 @@ int virDomainVcpuPinAdd(virDomainVcpuPinDefPtr **vcpupin_list,
int maplen,
int vcpu);
-int virDomainVcpuPinDel(virDomainDefPtr def, int vcpu);
+void virDomainVcpuPinDel(virDomainDefPtr def, int vcpu);
int virDomainEmulatorPinAdd(virDomainDefPtr def,
unsigned char *cpumap,
diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c
index b3f8df6..a6ae8a1 100644
--- a/src/libxl/libxl_driver.c
+++ b/src/libxl/libxl_driver.c
@@ -1945,12 +1945,7 @@ libxlDomainPinVcpuFlags(virDomainPtr dom, unsigned int vcpu,
/* full bitmap means reset the settings (if any). */
if (virBitmapIsAllSet(pcpumap)) {
- if (virDomainVcpuPinDel(targetDef, vcpu) < 0) {
- virReportError(VIR_ERR_INTERNAL_ERROR,
- _("Failed to delete vcpupin xml for vcpu
'%d'"),
- vcpu);
- goto endjob;
- }
+ virDomainVcpuPinDel(targetDef, vcpu);
goto done;
}
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 3fbaa62..6996b80 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -4130,7 +4130,7 @@ static int qemuDomainHotplugVcpus(virQEMUDriverPtr driver,
}
/* Free vcpupin setting */
- ignore_value(virDomainVcpuPinDel(vm->def, i));
+ virDomainVcpuPinDel(vm->def, i);
}
}
@@ -4423,12 +4423,7 @@ qemuDomainPinVcpuFlags(virDomainPtr dom,
}
if (doReset) {
- if (virDomainVcpuPinDel(vm->def, vcpu) < 0) {
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("failed to delete vcpupin xml of "
- "a running domain"));
- goto cleanup;
- }
+ virDomainVcpuPinDel(vm->def, vcpu);
} else {
if (vm->def->cputune.vcpupin)
virDomainVcpuPinDefArrayFree(vm->def->cputune.vcpupin,
vm->def->cputune.nvcpupin);
@@ -4448,12 +4443,7 @@ qemuDomainPinVcpuFlags(virDomainPtr dom,
if (flags & VIR_DOMAIN_AFFECT_CONFIG) {
if (doReset) {
- if (virDomainVcpuPinDel(persistentDef, vcpu) < 0) {
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("failed to delete vcpupin xml of "
- "a persistent domain"));
- goto cleanup;
- }
+ virDomainVcpuPinDel(persistentDef, vcpu);
} else {
if (!persistentDef->cputune.vcpupin) {
if (VIR_ALLOC(persistentDef->cputune.vcpupin) < 0)
--
1.8.3.2