mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
conf: convert def->vcpus to a array of pointers
This commit is contained in:
parent
7615917a0a
commit
990b06de03
@ -1306,14 +1306,26 @@ void virDomainLeaseDefFree(virDomainLeaseDefPtr def)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static virDomainVcpuDefPtr
|
||||||
|
virDomainVcpuDefNew(void)
|
||||||
|
{
|
||||||
|
virDomainVcpuDefPtr ret;
|
||||||
|
|
||||||
|
ignore_value(VIR_ALLOC(ret));
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
virDomainVcpuDefClear(virDomainVcpuDefPtr info)
|
virDomainVcpuDefFree(virDomainVcpuDefPtr info)
|
||||||
{
|
{
|
||||||
if (!info)
|
if (!info)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
virBitmapFree(info->cpumask);
|
virBitmapFree(info->cpumask);
|
||||||
info->cpumask = NULL;
|
info->cpumask = NULL;
|
||||||
|
VIR_FREE(info);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1321,6 +1333,7 @@ int
|
|||||||
virDomainDefSetVcpusMax(virDomainDefPtr def,
|
virDomainDefSetVcpusMax(virDomainDefPtr def,
|
||||||
unsigned int maxvcpus)
|
unsigned int maxvcpus)
|
||||||
{
|
{
|
||||||
|
size_t oldmax = def->maxvcpus;
|
||||||
size_t i;
|
size_t i;
|
||||||
|
|
||||||
if (def->maxvcpus == maxvcpus)
|
if (def->maxvcpus == maxvcpus)
|
||||||
@ -1329,9 +1342,14 @@ virDomainDefSetVcpusMax(virDomainDefPtr def,
|
|||||||
if (def->maxvcpus < maxvcpus) {
|
if (def->maxvcpus < maxvcpus) {
|
||||||
if (VIR_EXPAND_N(def->vcpus, def->maxvcpus, maxvcpus - def->maxvcpus) < 0)
|
if (VIR_EXPAND_N(def->vcpus, def->maxvcpus, maxvcpus - def->maxvcpus) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
|
for (i = oldmax; i < def->maxvcpus; i++) {
|
||||||
|
if (!(def->vcpus[i] = virDomainVcpuDefNew()))
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
for (i = maxvcpus; i < def->maxvcpus; i++)
|
for (i = maxvcpus; i < def->maxvcpus; i++)
|
||||||
virDomainVcpuDefClear(&def->vcpus[i]);
|
virDomainVcpuDefFree(def->vcpus[i]);
|
||||||
|
|
||||||
VIR_SHRINK_N(def->vcpus, def->maxvcpus, def->maxvcpus - maxvcpus);
|
VIR_SHRINK_N(def->vcpus, def->maxvcpus, def->maxvcpus - maxvcpus);
|
||||||
}
|
}
|
||||||
@ -1346,7 +1364,7 @@ virDomainDefHasVcpusOffline(const virDomainDef *def)
|
|||||||
size_t i;
|
size_t i;
|
||||||
|
|
||||||
for (i = 0; i < def->maxvcpus; i++) {
|
for (i = 0; i < def->maxvcpus; i++) {
|
||||||
if (!def->vcpus[i].online)
|
if (!def->vcpus[i]->online)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1375,10 +1393,10 @@ virDomainDefSetVcpus(virDomainDefPtr def,
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < vcpus; i++)
|
for (i = 0; i < vcpus; i++)
|
||||||
def->vcpus[i].online = true;
|
def->vcpus[i]->online = true;
|
||||||
|
|
||||||
for (i = vcpus; i < def->maxvcpus; i++)
|
for (i = vcpus; i < def->maxvcpus; i++)
|
||||||
def->vcpus[i].online = false;
|
def->vcpus[i]->online = false;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -1391,7 +1409,7 @@ virDomainDefGetVcpus(const virDomainDef *def)
|
|||||||
unsigned int ret = 0;
|
unsigned int ret = 0;
|
||||||
|
|
||||||
for (i = 0; i < def->maxvcpus; i++) {
|
for (i = 0; i < def->maxvcpus; i++) {
|
||||||
if (def->vcpus[i].online)
|
if (def->vcpus[i]->online)
|
||||||
ret++;
|
ret++;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1415,7 +1433,7 @@ virDomainDefGetOnlineVcpumap(const virDomainDef *def)
|
|||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
for (i = 0; i < def->maxvcpus; i++) {
|
for (i = 0; i < def->maxvcpus; i++) {
|
||||||
if (def->vcpus[i].online)
|
if (def->vcpus[i]->online)
|
||||||
ignore_value(virBitmapSetBit(ret, i));
|
ignore_value(virBitmapSetBit(ret, i));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1430,7 +1448,7 @@ virDomainDefGetVcpu(virDomainDefPtr def,
|
|||||||
if (vcpu >= def->maxvcpus)
|
if (vcpu >= def->maxvcpus)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
return &def->vcpus[vcpu];
|
return def->vcpus[vcpu];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1459,7 +1477,7 @@ virDomainDefHasVcpuPin(const virDomainDef *def)
|
|||||||
size_t i;
|
size_t i;
|
||||||
|
|
||||||
for (i = 0; i < def->maxvcpus; i++) {
|
for (i = 0; i < def->maxvcpus; i++) {
|
||||||
if (def->vcpus[i].cpumask)
|
if (def->vcpus[i]->cpumask)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2518,7 +2536,7 @@ void virDomainDefFree(virDomainDefPtr def)
|
|||||||
virDomainResourceDefFree(def->resource);
|
virDomainResourceDefFree(def->resource);
|
||||||
|
|
||||||
for (i = 0; i < def->maxvcpus; i++)
|
for (i = 0; i < def->maxvcpus; i++)
|
||||||
virDomainVcpuDefClear(&def->vcpus[i]);
|
virDomainVcpuDefFree(def->vcpus[i]);
|
||||||
VIR_FREE(def->vcpus);
|
VIR_FREE(def->vcpus);
|
||||||
|
|
||||||
/* hostdevs must be freed before nets (or any future "intelligent
|
/* hostdevs must be freed before nets (or any future "intelligent
|
||||||
@ -18514,8 +18532,8 @@ virDomainDefVcpuCheckAbiStability(virDomainDefPtr src,
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < src->maxvcpus; i++) {
|
for (i = 0; i < src->maxvcpus; i++) {
|
||||||
virDomainVcpuDefPtr svcpu = &src->vcpus[i];
|
virDomainVcpuDefPtr svcpu = src->vcpus[i];
|
||||||
virDomainVcpuDefPtr dvcpu = &dst->vcpus[i];
|
virDomainVcpuDefPtr dvcpu = dst->vcpus[i];
|
||||||
|
|
||||||
if (svcpu->online != dvcpu->online) {
|
if (svcpu->online != dvcpu->online) {
|
||||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
||||||
@ -22713,7 +22731,7 @@ virDomainCputuneDefFormat(virBufferPtr buf,
|
|||||||
|
|
||||||
for (i = 0; i < def->maxvcpus; i++) {
|
for (i = 0; i < def->maxvcpus; i++) {
|
||||||
char *cpumask;
|
char *cpumask;
|
||||||
virDomainVcpuDefPtr vcpu = def->vcpus + i;
|
virDomainVcpuDefPtr vcpu = def->vcpus[i];
|
||||||
|
|
||||||
if (!vcpu->cpumask)
|
if (!vcpu->cpumask)
|
||||||
continue;
|
continue;
|
||||||
|
@ -2117,7 +2117,7 @@ struct _virDomainDef {
|
|||||||
virDomainBlkiotune blkio;
|
virDomainBlkiotune blkio;
|
||||||
virDomainMemtune mem;
|
virDomainMemtune mem;
|
||||||
|
|
||||||
virDomainVcpuDefPtr vcpus;
|
virDomainVcpuDefPtr *vcpus;
|
||||||
size_t maxvcpus;
|
size_t maxvcpus;
|
||||||
int placement_mode;
|
int placement_mode;
|
||||||
virBitmapPtr cpumask;
|
virBitmapPtr cpumask;
|
||||||
|
Loading…
Reference in New Issue
Block a user