mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-12 13:17:58 +03:00
virsh: report error if vcpu number exceed the guest maxvcpu number
Commit id '81dd81e' caused a regression when attempting to print a specific vcpuid that is out of the range of the maximum vcpus for the guest, such as: $ virsh vcpupin $dom 1000 VCPU: CPU Affinity ---------------------------------- $ Rather than just recover the old message, let's adjust the message based on what would be displayed for a similar failure in the set path, such as: $ virsh vcpupin $dom 1000 error: vcpu 1000 is out of range of persistent cpu count 2 $ virsh vcpupin $dom 1000 --live error: vcpu 1000 is out of range of live cpu count 2 $ Signed-off-by: Luyao Huang <lhuang@redhat.com>
This commit is contained in:
parent
a188c57d54
commit
848ab685f7
@ -6497,6 +6497,20 @@ cmdVcpuPin(vshControl *ctl, const vshCmd *cmd)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if (got_vcpu && vcpu >= ncpus) {
|
||||
if (flags & VIR_DOMAIN_AFFECT_LIVE ||
|
||||
(flags & VIR_DOMAIN_AFFECT_CURRENT &&
|
||||
virDomainIsActive(dom) == 1))
|
||||
vshError(ctl,
|
||||
_("vcpu %d is out of range of live cpu count %d"),
|
||||
vcpu, ncpus);
|
||||
else
|
||||
vshError(ctl,
|
||||
_("vcpu %d is out of range of persistent cpu count %d"),
|
||||
vcpu, ncpus);
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
cpumaplen = VIR_CPU_MAPLEN(maxcpu);
|
||||
cpumap = vshMalloc(ctl, ncpus * cpumaplen);
|
||||
if ((ncpus = virDomainGetVcpuPinInfo(dom, ncpus, cpumap,
|
||||
|
Loading…
Reference in New Issue
Block a user