With -mem-path, qemu_ram_alloc_from_ptr() first tries to allocate accordingly, but when it fails, it falls back to normal allocation.
The fall back allocation code used to be effectively identical to the "-mem-path not given" code, until it started to diverge in commit 432d268. I believe the code still works, but clean it up anyway: drop the special fall back allocation code, and fall back to the ordinary "-mem-path not given" code instead. Reviewed-by: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Markus Armbruster <arm...@redhat.com> --- exec.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/exec.c b/exec.c index 5b1be92..957266c 100644 --- a/exec.c +++ b/exec.c @@ -1129,15 +1129,12 @@ ram_addr_t qemu_ram_alloc_from_ptr(ram_addr_t size, void *host, if (mem_path) { #if defined (__linux__) && !defined(TARGET_S390X) new_block->host = file_ram_alloc(new_block, size, mem_path); - if (!new_block->host) { - new_block->host = qemu_anon_ram_alloc(size); - memory_try_enable_merging(new_block->host, size); - } #else fprintf(stderr, "-mem-path option unsupported\n"); exit(1); #endif - } else { + } + if (!new_block->host) { if (kvm_enabled()) { /* some s390/kvm configurations have special constraints */ new_block->host = kvm_ram_alloc(size); -- 1.7.11.7