Commit cb79224b authored by Igor Mammedov's avatar Igor Mammedov Committed by Eduardo Habkost
Browse files

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: default avatarIgor Mammedov <imammedo@redhat.com>
Reviewed-by: default avatarDaniel P. Berrangé <berrange@redhat.com>
Reviewed-by: default avatarMarkus Armbruster <armbru@redhat.com>
Message-Id: <20190626074228.11558-1-imammedo@redhat.com>
Reviewed-by: default avatarPhilippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: default avatarEduardo Habkost <ehabkost@redhat.com>
parent d730b9d1
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -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.
             */
+9 −0
Original line number Diff line number Diff line
@@ -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)