[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 02/12] numa: check for busy memory backend
From: |
Michael S. Tsirkin |
Subject: |
[Qemu-devel] [PULL 02/12] numa: check for busy memory backend |
Date: |
Mon, 7 Jul 2014 15:40:06 +0300 |
From: Hu Tao <address@hidden>
Specifying the same memory backend twice leads to an assert:
./x86_64-softmmu/qemu-system-x86_64 -m 512M -enable-kvm -object
memory-backend-ram,size=256M,id=ram0 -numa node,nodeid=0,memdev=ram0
-numa node,nodeid=1,memdev=ram0
qemu-system-x86_64: /scm/qemu/memory.c:1506:
memory_region_add_subregion_common: Assertion `!subregion->container'
failed.
Aborted (core dumped)
Detect and exit with an error message instead.
Reviewed-by: Igor Mammedov <address@hidden>
Signed-off-by: Hu Tao <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
---
numa.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/numa.c b/numa.c
index 2fde740..7bf7834 100644
--- a/numa.c
+++ b/numa.c
@@ -301,6 +301,14 @@ void memory_region_allocate_system_memory(MemoryRegion
*mr, Object *owner,
exit(1);
}
+ if (memory_region_is_mapped(seg)) {
+ char *path = object_get_canonical_path_component(OBJECT(backend));
+ error_report("memory backend %s is used multiple times. Each "
+ "-numa option must use a different memdev value.",
+ path);
+ exit(1);
+ }
+
memory_region_add_subregion(mr, addr, seg);
vmstate_register_ram_global(seg);
addr += size;
--
MST
- [Qemu-devel] [PULL 00/12] pc,vhost,virtio fixes, test, Michael S. Tsirkin, 2014/07/07
- [Qemu-devel] [PULL 01/12] qtest: enable vhost-user-test, Michael S. Tsirkin, 2014/07/07
- [Qemu-devel] [PULL 02/12] numa: check for busy memory backend,
Michael S. Tsirkin <=
- [Qemu-devel] [PULL 03/12] pc-dimm: error out if memory hotplug is not enabled, Michael S. Tsirkin, 2014/07/07
- [Qemu-devel] [PULL 12/12] qemu-char: add chr_add_watch support in mux chardev, Michael S. Tsirkin, 2014/07/07
- [Qemu-devel] [PULL 10/12] qdev: Fix crash when using non-device class name on -global, Michael S. Tsirkin, 2014/07/07
- [Qemu-devel] [PULL 06/12] pci: assign devfn to pci_dev before calling pci_device_iommu_address_space(), Michael S. Tsirkin, 2014/07/07
- [Qemu-devel] [PULL 08/12] hw/virtio: enable common virtio feature for mmio device, Michael S. Tsirkin, 2014/07/07
- [Qemu-devel] [PULL 07/12] acpi: fix typo in memory hotplug MMIO region name, Michael S. Tsirkin, 2014/07/07
- [Qemu-devel] [PULL 05/12] Handle G_IO_HUP in tcp_chr_read for tcp chardev, Michael S. Tsirkin, 2014/07/07
- [Qemu-devel] [PULL 11/12] virtio-pci: fix MSI memory region use after free, Michael S. Tsirkin, 2014/07/07
- [Qemu-devel] [PULL 09/12] qdev: Don't abort() in case globals can't be set, Michael S. Tsirkin, 2014/07/07
- [Qemu-devel] [PULL 04/12] virtio: move common virtio properties to bus class device, Michael S. Tsirkin, 2014/07/07