const char *migrateFrom) {
#if HAVE_SCHED_GETAFFINITY
cpu_set_t mask;
- int i, maxcpu = QEMUD_CPUMASK_LEN;
+ int i, hostcpus, maxcpu = QEMUD_CPUMASK_LEN;
virNodeInfo nodeinfo;
if (nodeGetInfo(conn, &nodeinfo) < 0)
/* setaffinity fails if you set bits for CPUs which
* aren't present, so we have to limit ourselves */
- if (maxcpu > nodeinfo.cpus)
- maxcpu = nodeinfo.cpus;
+ hostcpus = VIR_NODEINFO_MAXCPUS(nodeinfo);
+ if (maxcpu > hostcpus)
+ maxcpu = hostcpus;
CPU_ZERO(&mask);
if (vm->def->cpumask) {
struct qemud_driver *driver = dom->conn->privateData;
virDomainObjPtr vm;
cpu_set_t mask;
- int i, maxcpu;
+ int i, maxcpu, hostcpus;
virNodeInfo nodeinfo;
int ret = -1;
if (nodeGetInfo(dom->conn, &nodeinfo) < 0)
goto cleanup;
+ hostcpus = VIR_NODEINFO_MAXCPUS(nodeinfo);
maxcpu = maplen * 8;
- if (maxcpu > nodeinfo.cpus)
- maxcpu = nodeinfo.cpus;
+ if (maxcpu > hostcpus)
+ maxcpu = hostcpus;
CPU_ZERO(&mask);
for (i = 0 ; i < maxcpu ; i++) {
- if ((cpumap[i/8] >> (i % 8)) & 1)
+ if (VIR_CPU_USABLE(cpumap, maplen, 0, i))
CPU_SET(i, &mask);
}
struct qemud_driver *driver = dom->conn->privateData;
virDomainObjPtr vm;
virNodeInfo nodeinfo;
- int i, v, maxcpu;
+ int i, v, maxcpu, hostcpus;
int ret = -1;
qemuDriverLock(driver);
if (nodeGetInfo(dom->conn, &nodeinfo) < 0)
goto cleanup;
+ hostcpus = VIR_NODEINFO_MAXCPUS(nodeinfo);
maxcpu = maplen * 8;
- if (maxcpu > nodeinfo.cpus)
- maxcpu = nodeinfo.cpus;
+ if (maxcpu > hostcpus)
+ maxcpu = hostcpus;
/* Clamp to actual number of vcpus */
if (maxinfo > vm->nvcpupids)