On Thu, 23 Jan 2020 12:38:40 +0100 Igor Mammedov <imamm...@redhat.com> wrote:
> Function will report error that will mention global mem_path, > which was valid the only if legacy -mem-path was used and > only in case of main RAM. > > However it doesn't work with hostmem backends > (for example: > " > qemu: -object memory-backend-file,id=ram0,size=128M,mem-path=foo: > backing store (null) size 0x200000 does not match 'size' option 0x8000000 > ") > and couldn't possibly work in general FD case the function > is supposed to handle. > > Taking in account that main RAM was converted into > memory-backend-foo object, there is no point in printing > file name (from inappropriate place) as failing path is > a part of backend's error message. > > Hence drop bogus mem_path usage from qemu_ram_alloc_from_fd(), > it's a job of its user to add file name to error message if applicable. > > Signed-off-by: Igor Mammedov <imamm...@redhat.com> Marc-André, git blames you as the one who introduced it, could you take a look at this patch probably I should add here as well Fixes: 8d37b030fe ("exec: split file_ram_alloc()") > --- > CC: pbonz...@redhat.com > CC: r...@twiddle.net > --- > exec.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/exec.c b/exec.c > index 809987c..dc844fd 100644 > --- a/exec.c > +++ b/exec.c > @@ -2308,9 +2308,9 @@ RAMBlock *qemu_ram_alloc_from_fd(ram_addr_t size, > MemoryRegion *mr, > size = HOST_PAGE_ALIGN(size); > file_size = get_file_size(fd); > if (file_size > 0 && file_size < size) { > - error_setg(errp, "backing store %s size 0x%" PRIx64 > + error_setg(errp, "backing store size 0x%" PRIx64 > " does not match 'size' option 0x" RAM_ADDR_FMT, > - mem_path, file_size, size); > + file_size, size); > return NULL; > } >