[PATCH] vl: allow not specifying size in -m when using -M memory-backend

Paolo Bonzini posted 1 patch 2 years, 11 months ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20210518103531.104162-1-pbonzini@redhat.com
Maintainers: Paolo Bonzini <pbonzini@redhat.com>
softmmu/vl.c | 2 --
1 file changed, 2 deletions(-)
[PATCH] vl: allow not specifying size in -m when using -M memory-backend
Posted by Paolo Bonzini 2 years, 11 months ago
Starting in QEMU 6.0's commit f5c9fcb82d ("vl: separate
qemu_create_machine", 2020-12-10), a function have_custom_ram_size()
replaced the return value of set_memory_options().

The purpose of the return value was to record the presence of
"-m size", and if it was not there, change the default RAM
size to the size of the memory backend passed with "-M
memory-backend".

With that commit, however, have_custom_ram_size() is now queried only
after set_memory_options has stored the fixed-up RAM size in QemuOpts for
"future use".  This was actually the only future use of the fixed-up RAM
size, so remove that code and fix the bug.

Cc: qemu-stable@nongnu.org
Fixes: f5c9fcb82d ("vl: separate qemu_create_machine", 2020-12-10)
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 softmmu/vl.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/softmmu/vl.c b/softmmu/vl.c
index ac0ff6e160..21e55718a6 100644
--- a/softmmu/vl.c
+++ b/softmmu/vl.c
@@ -2039,8 +2039,6 @@ static void set_memory_options(MachineClass *mc)
         exit(EXIT_FAILURE);
     }
 
-    /* store value for the future use */
-    qemu_opt_set_number(opts, "size", ram_size, &error_abort);
     maxram_size = ram_size;
 
     if (qemu_opt_get(opts, "maxmem")) {
-- 
2.31.1


Re: [PATCH] vl: allow not specifying size in -m when using -M memory-backend
Posted by Igor Mammedov 2 years, 11 months ago
On Tue, 18 May 2021 12:35:31 +0200
Paolo Bonzini <pbonzini@redhat.com> wrote:

> Starting in QEMU 6.0's commit f5c9fcb82d ("vl: separate
> qemu_create_machine", 2020-12-10), a function have_custom_ram_size()
> replaced the return value of set_memory_options().
> 
> The purpose of the return value was to record the presence of
> "-m size", and if it was not there, change the default RAM
> size to the size of the memory backend passed with "-M
> memory-backend".
> 
> With that commit, however, have_custom_ram_size() is now queried only
> after set_memory_options has stored the fixed-up RAM size in QemuOpts for
> "future use".  This was actually the only future use of the fixed-up RAM
> size, so remove that code and fix the bug.
> 
> Cc: qemu-stable@nongnu.org
> Fixes: f5c9fcb82d ("vl: separate qemu_create_machine", 2020-12-10)
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

Reviewed-by: Igor Mammedov <imammedo@redhat.com>

> ---
>  softmmu/vl.c | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/softmmu/vl.c b/softmmu/vl.c
> index ac0ff6e160..21e55718a6 100644
> --- a/softmmu/vl.c
> +++ b/softmmu/vl.c
> @@ -2039,8 +2039,6 @@ static void set_memory_options(MachineClass *mc)
>          exit(EXIT_FAILURE);
>      }
>  
> -    /* store value for the future use */
> -    qemu_opt_set_number(opts, "size", ram_size, &error_abort);
>      maxram_size = ram_size;
>  
>      if (qemu_opt_get(opts, "maxmem")) {