On 01/14/2016 11:26 AM, Peter Krempa wrote:
This should be the last offender.
---
src/qemu/qemu_process.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index 845d5e1..dec4572 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -2350,10 +2350,14 @@ qemuProcessSetSchedParams(int id,
static int
qemuProcessSetSchedulers(virDomainObjPtr vm)
{
- qemuDomainObjPrivatePtr priv = vm->privateData;
size_t i = 0;
- for (i = 0; i < priv->nvcpupids; i++) {
+ for (i = 0; i < virDomainDefGetVcpusMax(vm->def); i++) {
+ virDomainVcpuInfoPtr vcpu = virDomainDefGetVcpu(vm->def, i);
+
+ if (!vcpu->online)
+ continue;
+
if (qemuProcessSetSchedParams(i, qemuDomainGetVcpuPid(vm, i),
vm->def->cputune.nvcpusched,
vm->def->cputune.vcpusched) < 0)
Is the mapping of 'i' the same for the qemuProcessSetSchedParams? That
is, 'i' could be incremented for an 'offline' vcpu; whereas, prior to
this patch it wouldn't be.
Although qemuDomainGetVcpuPid and qemuProcessSetSchedParams do check if
(vcpu >= priv->nvcpupids, e.g. vcpu == i), does it necessarily mean the
3rd element of 8 elements in the vcpupids maps the same as the 3rd
element in def->vcpus?
John