Paolo Bonzini <pbonz...@redhat.com> writes: > The -M memory.* options do not have magic applied to them than the -m > option, namely no "M" (for mebibytes) is tacked at the end of a > suffixless value for "-M memory.size".
This sentence is confusing. Do you mean "like the -m option"? > This magic is performed by parse_memory_options, and we have to > do it for both "-m" and the [memory] section of a config file. > Storing [memory] sections directly to machine_opts_dict changed > the meaning of > > [memory] > size = "1024" > > in a -readconfig file from 1024MiB to 8KiB (1024 Bytes rounded up to > 8KiB silently). To avoid this, the [memory] section has to be > changed back to QemuOpts (combining [memory] and "-m" will work fine > thanks to .merge_lists being true). > > Change parse_memory_options() so that, similar to the older function > set_memory_options(), it operates after command line parsing is done; > and also call it where set_memory_options() used to be. > > Note, the parsing code uses exit(1) instead of exit(EXIT_FAILURE) to > match neighboring code. > > Reported-by: Markus Armbruster <arm...@redhat.com> > Fixes: ce9d03fb3f ("machine: add mem compound property", 2022-05-12) > Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Preferably with a clarified commit message: Reviewed-by: Markus Armbruster <arm...@redhat.com>