Currently the code would exit without reporting an error as
virBitmapParse reports one only if it fails to parse the bitmap, whereas
the code was jumping to the error label even in case 0 cpus were
correctly parsed in the map.
}
if (virBitmapParse(tmp, 0, &def->cells[cur_cell].cpumask,
- VIR_DOMAIN_CPUMASK_LEN) <= 0)
+ VIR_DOMAIN_CPUMASK_LEN) < 0)
goto cleanup;
+ if (virBitmapIsAllClear(def->cells[cur_cell].cpumask)) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+ _("NUMA cell %d has no vCPUs assigned"), cur_cell);
+ goto cleanup;
+ }
VIR_FREE(tmp);
ctxt->node = nodes[i];