mirror of https://github.com/xemu-project/xemu.git
hostmem: no need to check for host_memory_backend_mr_inited() in alloc()
memfd_backend_memory_alloc/file_backend_memory_alloc both needlessly are are calling host_memory_backend_mr_inited() which creates an illusion that alloc could be called multiple times but it isn't, it's called once from UserCreatable complete(). Suggested-by: Igor Mammedov <imammedo@redhat.com> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Igor Mammedov <imammedo@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
36ea397956
commit
86100290cb
|
@ -42,6 +42,9 @@ static void
|
||||||
file_backend_memory_alloc(HostMemoryBackend *backend, Error **errp)
|
file_backend_memory_alloc(HostMemoryBackend *backend, Error **errp)
|
||||||
{
|
{
|
||||||
HostMemoryBackendFile *fb = MEMORY_BACKEND_FILE(backend);
|
HostMemoryBackendFile *fb = MEMORY_BACKEND_FILE(backend);
|
||||||
|
#ifdef CONFIG_POSIX
|
||||||
|
gchar *path;
|
||||||
|
#endif
|
||||||
|
|
||||||
if (!backend->size) {
|
if (!backend->size) {
|
||||||
error_setg(errp, "can't create backend with size 0");
|
error_setg(errp, "can't create backend with size 0");
|
||||||
|
@ -54,18 +57,15 @@ file_backend_memory_alloc(HostMemoryBackend *backend, Error **errp)
|
||||||
#ifndef CONFIG_POSIX
|
#ifndef CONFIG_POSIX
|
||||||
error_setg(errp, "-mem-path not supported on this host");
|
error_setg(errp, "-mem-path not supported on this host");
|
||||||
#else
|
#else
|
||||||
if (!host_memory_backend_mr_inited(backend)) {
|
backend->force_prealloc = mem_prealloc;
|
||||||
gchar *path;
|
path = object_get_canonical_path(OBJECT(backend));
|
||||||
backend->force_prealloc = mem_prealloc;
|
memory_region_init_ram_from_file(&backend->mr, OBJECT(backend),
|
||||||
path = object_get_canonical_path(OBJECT(backend));
|
path,
|
||||||
memory_region_init_ram_from_file(&backend->mr, OBJECT(backend),
|
backend->size, fb->align,
|
||||||
path,
|
(backend->share ? RAM_SHARED : 0) |
|
||||||
backend->size, fb->align,
|
(fb->is_pmem ? RAM_PMEM : 0),
|
||||||
(backend->share ? RAM_SHARED : 0) |
|
fb->mem_path, errp);
|
||||||
(fb->is_pmem ? RAM_PMEM : 0),
|
g_free(path);
|
||||||
fb->mem_path, errp);
|
|
||||||
g_free(path);
|
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -44,10 +44,6 @@ memfd_backend_memory_alloc(HostMemoryBackend *backend, Error **errp)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (host_memory_backend_mr_inited(backend)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
backend->force_prealloc = mem_prealloc;
|
backend->force_prealloc = mem_prealloc;
|
||||||
fd = qemu_memfd_create(TYPE_MEMORY_BACKEND_MEMFD, backend->size,
|
fd = qemu_memfd_create(TYPE_MEMORY_BACKEND_MEMFD, backend->size,
|
||||||
m->hugetlb, m->hugetlbsize, m->seal ?
|
m->hugetlb, m->hugetlbsize, m->seal ?
|
||||||
|
|
Loading…
Reference in New Issue