Patchwork [15/15] ramblocks: No more being lazy about duplicate names

login
register
mail settings
Submitter Alex Williamson
Date June 24, 2010, 4:42 a.m.
Message ID <20100624044237.16168.54671.stgit@localhost.localdomain>
Download mbox | patch
Permalink /patch/56757/
State New
Headers show

Comments

Alex Williamson - June 24, 2010, 4:42 a.m.
Now that we have a working qemu_ram_free() and the primary runtime
user of it has been updated, don't be lenient about duplicate id strings.
We also shouldn't need to create them ondemand at the target.

Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
---

 arch_init.c |    5 +++--
 exec.c      |   13 +++----------
 2 files changed, 6 insertions(+), 12 deletions(-)

Patch

diff --git a/arch_init.c b/arch_init.c
index 2f082f3..47bb4b2 100644
--- a/arch_init.c
+++ b/arch_init.c
@@ -369,8 +369,9 @@  int ram_load(QEMUFile *f, void *opaque, int version_id)
                     }
 
                     if (!block) {
-                        if (!qemu_ram_alloc(NULL, id, length))
-                            return -ENOMEM;
+                        fprintf(stderr, "Unknown ramblock \"%s\", cannot "
+                                "accept migration\n", id);
+                        return -EINVAL;
                     }
 
                     total_ram_bytes -= length;
diff --git a/exec.c b/exec.c
index e8108d7..ef2a89d 100644
--- a/exec.c
+++ b/exec.c
@@ -2813,16 +2813,9 @@  ram_addr_t qemu_ram_alloc(DeviceState *dev, const char *name, ram_addr_t size)
 
     QLIST_FOREACH(block, &ram_list.blocks, next) {
         if (!strcmp(block->idstr, new_block->idstr)) {
-            if (block->length == new_block->length) {
-                fprintf(stderr, "RAMBlock \"%s\" exists, assuming lack of"
-                        "free.\n", new_block->idstr);
-                qemu_free(new_block);
-                return block->offset;
-            } else {
-                fprintf(stderr, "RAMBlock \"%s\" already registered with"
-                        "different size, abort\n", new_block->idstr);
-                abort();
-            }
+            fprintf(stderr, "RAMBlock \"%s\" already registered, abort!\n",
+                    new_block->idstr);
+            abort();
         }
     }