file_ram_alloc: propagate error to caller instead of terminating QEMU
authorIgor Mammedov <imammedo@redhat.com>
Mon, 19 Oct 2015 17:11:11 +0000 (19:11 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Mon, 2 Nov 2015 13:50:27 +0000 (14:50 +0100)
QEMU shouldn't exits from file_ram_alloc() if -mem-prealloc option is specified
and "object_add memory-backend-file,..." fails allocation during memory hotplug.

Propagate error to a caller and let it decide what to do with allocation failure.
That leaves QEMU alive if it can't create backend during hotplug time and
kills QEMU at startup time if backends or initial memory were misconfigured/
too large.

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <1445274671-17704-1-git-send-email-imammedo@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
exec.c

diff --git a/exec.c b/exec.c
index 8af2570..7431f2f 100644 (file)
--- a/exec.c
+++ b/exec.c
@@ -1282,10 +1282,6 @@ static void *file_ram_alloc(RAMBlock *block,
     return area;
 
 error:
-    if (mem_prealloc) {
-        error_report("%s", error_get_pretty(*errp));
-        exit(1);
-    }
     return NULL;
 }
 #endif