virCheckDomainReturn(domain, -1);
virCheckReadOnlyGoto(domain->conn->flags, error);
+ VIR_REQUIRE_FLAG_GOTO(VIR_DOMAIN_VCPU_MAXIMUM,
+ VIR_DOMAIN_AFFECT_CONFIG,
+ error);
+
+ VIR_EXCLUSIVE_FLAGS_GOTO(VIR_DOMAIN_AFFECT_CURRENT,
+ VIR_DOMAIN_AFFECT_LIVE,
+ error);
+ VIR_EXCLUSIVE_FLAGS_GOTO(VIR_DOMAIN_AFFECT_CURRENT,
+ VIR_DOMAIN_AFFECT_CONFIG,
+ error);
VIR_EXCLUSIVE_FLAGS_GOTO(VIR_DOMAIN_VCPU_GUEST,
- VIR_DOMAIN_VCPU_MAXIMUM,
+ VIR_DOMAIN_AFFECT_CONFIG,
error);
virCheckNonZeroArgGoto(nvcpus, error);
goto endjob;
}
- /* MAXIMUM cannot be mixed with LIVE. */
- if ((flags & VIR_DOMAIN_VCPU_MAXIMUM) && (flags & VIR_DOMAIN_AFFECT_LIVE)) {
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("cannot adjust maximum vcpus on running domain"));
- goto endjob;
- }
-
if (flags & VIR_DOMAIN_AFFECT_LIVE)
maxvcpus = vm->def->maxvcpus;
if (flags & VIR_DOMAIN_AFFECT_CONFIG) {
}
if (flags & VIR_DOMAIN_VCPU_GUEST) {
- if (flags & VIR_DOMAIN_AFFECT_CONFIG) {
- virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
- _("setting vcpus via guest agent isn't supported "
- "on offline domain"));
- goto endjob;
- }
-
if (!qemuDomainAgentAvailable(vm, true))
goto endjob;