hostmem-memfd: honour share=on/off property

The share=on/off property is used to modified mmap() MAP_SHARED
setting. Make it on by default for convenience and compatibility
reasons.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Marc-André Lureau 2018-08-28 17:38:40 +02:00 committed by Paolo Bonzini
parent 15ffb43cbf
commit 36ea397956
2 changed files with 6 additions and 2 deletions

View File

@ -59,7 +59,8 @@ memfd_backend_memory_alloc(HostMemoryBackend *backend, Error **errp)
name = object_get_canonical_path(OBJECT(backend)); name = object_get_canonical_path(OBJECT(backend));
memory_region_init_ram_from_fd(&backend->mr, OBJECT(backend), memory_region_init_ram_from_fd(&backend->mr, OBJECT(backend),
name, backend->size, true, fd, errp); name, backend->size,
backend->share, fd, errp);
g_free(name); g_free(name);
} }
@ -131,6 +132,7 @@ memfd_backend_instance_init(Object *obj)
/* default to sealed file */ /* default to sealed file */
m->seal = true; m->seal = true;
MEMORY_BACKEND(m)->share = true;
} }
static void static void

View File

@ -4025,7 +4025,7 @@ Memory backend objects offer more control than the @option{-m} option that is
traditionally used to define guest RAM. Please refer to traditionally used to define guest RAM. Please refer to
@option{memory-backend-file} for a description of the options. @option{memory-backend-file} for a description of the options.
@item -object memory-backend-memfd,id=@var{id},merge=@var{on|off},dump=@var{on|off},prealloc=@var{on|off},size=@var{size},host-nodes=@var{host-nodes},policy=@var{default|preferred|bind|interleave},seal=@var{on|off},hugetlb=@var{on|off},hugetlbsize=@var{size} @item -object memory-backend-memfd,id=@var{id},merge=@var{on|off},dump=@var{on|off},share=@var{on|off},prealloc=@var{on|off},size=@var{size},host-nodes=@var{host-nodes},policy=@var{default|preferred|bind|interleave},seal=@var{on|off},hugetlb=@var{on|off},hugetlbsize=@var{size}
Creates an anonymous memory file backend object, which allows QEMU to Creates an anonymous memory file backend object, which allows QEMU to
share the memory with an external process (e.g. when using share the memory with an external process (e.g. when using
@ -4047,6 +4047,8 @@ with the @option{seal} option (requires at least Linux 4.16).
Please refer to @option{memory-backend-file} for a description of the Please refer to @option{memory-backend-file} for a description of the
other options. other options.
The @option{share} boolean option is @var{on} by default with memfd.
@item -object rng-random,id=@var{id},filename=@var{/dev/random} @item -object rng-random,id=@var{id},filename=@var{/dev/random}
Creates a random number generator backend which obtains entropy from Creates a random number generator backend which obtains entropy from