diff options
author | Marc-André Lureau | 2018-09-10 15:49:46 +0200 |
---|---|---|
committer | Paolo Bonzini | 2018-11-28 11:51:24 +0100 |
commit | 86100290cb6600b3d65e0794b45c1b82ead99411 (patch) | |
tree | f8038870c6549b912e128976401c5f6521e98ee4 /backends | |
parent | hostmem-memfd: honour share=on/off property (diff) | |
download | qemu-86100290cb6600b3d65e0794b45c1b82ead99411.tar.gz qemu-86100290cb6600b3d65e0794b45c1b82ead99411.tar.xz qemu-86100290cb6600b3d65e0794b45c1b82ead99411.zip |
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>
Diffstat (limited to 'backends')
-rw-r--r-- | backends/hostmem-file.c | 24 | ||||
-rw-r--r-- | backends/hostmem-memfd.c | 4 |
2 files changed, 12 insertions, 16 deletions
diff --git a/backends/hostmem-file.c b/backends/hostmem-file.c index 639c8d4307..6630021226 100644 --- a/backends/hostmem-file.c +++ b/backends/hostmem-file.c @@ -42,6 +42,9 @@ static void file_backend_memory_alloc(HostMemoryBackend *backend, Error **errp) { HostMemoryBackendFile *fb = MEMORY_BACKEND_FILE(backend); +#ifdef CONFIG_POSIX + gchar *path; +#endif if (!backend->size) { 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 error_setg(errp, "-mem-path not supported on this host"); #else - if (!host_memory_backend_mr_inited(backend)) { - gchar *path; - backend->force_prealloc = mem_prealloc; - path = object_get_canonical_path(OBJECT(backend)); - memory_region_init_ram_from_file(&backend->mr, OBJECT(backend), - path, - backend->size, fb->align, - (backend->share ? RAM_SHARED : 0) | - (fb->is_pmem ? RAM_PMEM : 0), - fb->mem_path, errp); - g_free(path); - } + backend->force_prealloc = mem_prealloc; + path = object_get_canonical_path(OBJECT(backend)); + memory_region_init_ram_from_file(&backend->mr, OBJECT(backend), + path, + backend->size, fb->align, + (backend->share ? RAM_SHARED : 0) | + (fb->is_pmem ? RAM_PMEM : 0), + fb->mem_path, errp); + g_free(path); #endif } diff --git a/backends/hostmem-memfd.c b/backends/hostmem-memfd.c index 1c3579e8ab..2eb9c827a5 100644 --- a/backends/hostmem-memfd.c +++ b/backends/hostmem-memfd.c @@ -44,10 +44,6 @@ memfd_backend_memory_alloc(HostMemoryBackend *backend, Error **errp) return; } - if (host_memory_backend_mr_inited(backend)) { - return; - } - backend->force_prealloc = mem_prealloc; fd = qemu_memfd_create(TYPE_MEMORY_BACKEND_MEMFD, backend->size, m->hugetlb, m->hugetlbsize, m->seal ? |