mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-23 04:55:18 +00:00
qemu: Relax check for memory device coldplug
When cold plugging a memory device we check whether there's enough free memory slots to accommodate new module. Well, this checks makes sense only for those memory devices that are plugged into DIMM slots (DIMM and NVDIMM models). Other memory device models, like VIRTIO_MEM, VIRTIO_PMEM or SGX_EPC are attached into PCI bus, or no bus at all. Resolves: https://issues.redhat.com/browse/RHEL-15480 Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
This commit is contained in:
parent
b41f730c33
commit
cab49d394f
@ -6631,9 +6631,23 @@ static int
|
||||
qemuDomainAttachMemoryConfig(virDomainDef *vmdef,
|
||||
virDomainMemoryDef **mem)
|
||||
{
|
||||
if (vmdef->nmems == vmdef->mem.memory_slots) {
|
||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
|
||||
_("no free memory device slot available"));
|
||||
switch ((*mem)->model) {
|
||||
case VIR_DOMAIN_MEMORY_MODEL_DIMM:
|
||||
case VIR_DOMAIN_MEMORY_MODEL_NVDIMM:
|
||||
if (vmdef->nmems == vmdef->mem.memory_slots) {
|
||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
|
||||
_("no free memory device slot available"));
|
||||
return -1;
|
||||
}
|
||||
break;
|
||||
|
||||
case VIR_DOMAIN_MEMORY_MODEL_VIRTIO_PMEM:
|
||||
case VIR_DOMAIN_MEMORY_MODEL_VIRTIO_MEM:
|
||||
case VIR_DOMAIN_MEMORY_MODEL_SGX_EPC:
|
||||
break;
|
||||
case VIR_DOMAIN_MEMORY_MODEL_NONE:
|
||||
case VIR_DOMAIN_MEMORY_MODEL_LAST:
|
||||
virReportEnumRangeError(virDomainMemoryModel, (*mem)->model);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user