On 6/26/19 9:42 AM, Igor Mammedov wrote: > 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 <imamm...@redhat.com> > Reviewed-by: Daniel P. Berrangé <berra...@redhat.com> > Reviewed-by: Markus Armbruster <arm...@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <phi...@redhat.com> > --- > v2: > * improve text language > (Markus Armbruster <arm...@redhat.com>) > v3: > * drop confusing 'or QEMU will fail to start' in error message > * fix up grammar error > (Markus Armbruster <arm...@redhat.com>) > > numa.c | 6 ++++-- > qemu-deprecated.texi | 9 +++++++++ > 2 files changed, 13 insertions(+), 2 deletions(-) > > diff --git a/numa.c b/numa.c > index 91a29138a2..1994ab0655 100644 > --- a/numa.c > +++ b/numa.c > @@ -494,8 +494,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 2fe9b72121..9cba82d5ec 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) >