* by the host's amount of pCPUs.
*/
if (check_host) {
- unsigned int host_cpu = libxl_get_max_cpus(ctx);
+ unsigned int online_vcpus, host_cpu = libxl_get_max_cpus(ctx);
libxl_dominfo dominfo;
if (libxl_domain_info(ctx, &dominfo, domid))
return 1;
- if (max_vcpus > dominfo.vcpu_online && max_vcpus > host_cpu) {
+ online_vcpus = dominfo.vcpu_online;
+ libxl_dominfo_dispose(&dominfo);
+
+ if (max_vcpus > online_vcpus && max_vcpus > host_cpu) {
fprintf(stderr, "You are overcommmitting! You have %d physical" \
" CPUs and want %d vCPUs! Aborting, use --ignore-host to" \
" continue\n", host_cpu, max_vcpus);
- rc = 1;
- }
- libxl_dominfo_dispose(&dominfo);
- if (rc)
return 1;
+ }
}
rc = libxl_cpu_bitmap_alloc(ctx, &cpumap, max_vcpus);
if (rc) {