exec: file_ram_alloc(): print error when prealloc fails
authorLuiz Capitulino <lcapitulino@redhat.com>
Mon, 8 Sep 2014 17:50:05 +0000 (13:50 -0400)
committerLuiz Capitulino <lcapitulino@redhat.com>
Fri, 12 Sep 2014 15:22:21 +0000 (11:22 -0400)
If memory allocation fails when using the -mem-prealloc command-line
option, QEMU exits without printing any error information to
the user:

 # qemu [...] -m 1G -mem-prealloc -mem-path /dev/hugepages
 # echo $?
 1

This commit adds an error message, so that we print instead:

 # qemu [...] -m 1G -mem-prealloc -mem-path /dev/hugepages
 qemu: unable to map backing store for hugepages: Cannot allocate memory

Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
exec.c

diff --git a/exec.c b/exec.c
index 7dddcc8..cb73d16 100644 (file)
--- a/exec.c
+++ b/exec.c
@@ -1130,6 +1130,7 @@ static void *file_ram_alloc(RAMBlock *block,
 
 error:
     if (mem_prealloc) {
+        error_report("%s\n", error_get_pretty(*errp));
         exit(1);
     }
     return NULL;