aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIgor Mammedov <imammedo@redhat.com>2019-06-26 03:42:28 -0400
committerEduardo Habkost <ehabkost@redhat.com>2019-07-05 17:08:03 -0300
commitcb79224b7e4b3d981c4080e60f20557739681000 (patch)
tree86804b57cede8e889f5f84d9f3b32813a70af706
parentd730b9d1f25b83e1b0a7e8b75aec02b93b78bdc7 (diff)
deprecate -mem-path fallback to anonymous RAM
Fallback might affect guest or worse whole host performance or functionality if backing file were used to share guest RAM with another process. Patch deprecates fallback so that we could remove it in future and ensure that QEMU will provide expected behavior and fail if it can't use user provided backing file. Signed-off-by: Igor Mammedov <imammedo@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Message-Id: <20190626074228.11558-1-imammedo@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
-rw-r--r--hw/core/numa.c6
-rw-r--r--qemu-deprecated.texi9
2 files changed, 13 insertions, 2 deletions
diff --git a/hw/core/numa.c b/hw/core/numa.c
index cb5fdbcb1e..dd5c6e2334 100644
--- a/hw/core/numa.c
+++ b/hw/core/numa.c
@@ -479,8 +479,10 @@ static void allocate_system_memory_nonnuma(MemoryRegion *mr, Object *owner,
if (mem_prealloc) {
exit(1);
}
- error_report("falling back to regular RAM allocation.");
-
+ warn_report("falling back to regular RAM allocation");
+ error_printf("This is deprecated. Make sure that -mem-path "
+ " specified path has sufficient resources to allocate"
+ " -m specified RAM amount");
/* Legacy behavior: if allocation failed, fall back to
* regular RAM allocation.
*/
diff --git a/qemu-deprecated.texi b/qemu-deprecated.texi
index 4a626f535d..e6891c3a93 100644
--- a/qemu-deprecated.texi
+++ b/qemu-deprecated.texi
@@ -112,6 +112,15 @@ QEMU using implicit generic or board specific splitting rule.
Use @option{memdev} with @var{memory-backend-ram} backend or @option{mem} (if
it's supported by used machine type) to define mapping explictly instead.
+@subsection -mem-path fallback to RAM (since 4.1)
+Currently if guest RAM allocation from file pointed by @option{mem-path}
+fails, QEMU falls back to allocating from RAM, which might result
+in unpredictable behavior since the backing file specified by the user
+is ignored. In the future, users will be responsible for making sure
+the backing storage specified with @option{-mem-path} can actually provide
+the guest RAM configured with @option{-m} and QEMU will fail to start up if
+RAM allocation is unsuccessful.
+
@section QEMU Machine Protocol (QMP) commands
@subsection block-dirty-bitmap-add "autoload" parameter (since 2.12.0)