From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48238) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y8qmS-0002kI-RU for qemu-devel@nongnu.org; Wed, 07 Jan 2015 08:36:17 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Y8qmP-0003Ya-LQ for qemu-devel@nongnu.org; Wed, 07 Jan 2015 08:36:12 -0500 Message-ID: <54AD22C3.2040001@redhat.com> Date: Wed, 07 Jan 2015 13:12:51 +0100 From: Paolo Bonzini MIME-Version: 1.0 References: <1420632698-27461-1-git-send-email-marcel@redhat.com> In-Reply-To: <1420632698-27461-1-git-send-email-marcel@redhat.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v3] vl.c: fix regression when reading machine type from config file List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Marcel Apfelbaum , qemu-devel@nongnu.org Cc: armbru@redhat.com, qemu-stable@nongnu.org On 07/01/2015 13:11, Marcel Apfelbaum wrote: > After 'Machine as QOM' series the machine type input triggers > the creation of the machine class. > If the machine type is set in the configuration file, the machine > class is not updated accordingly and remains the default. > > Fixed that by querying the machine options after the configuration > file is loaded. > > Cc: qemu-stable@nongnu.org > Reported-by: William Dauchy > Signed-off-by: Marcel Apfelbaum > --- > v2 -> v3: > - Addressed Paolo Bonzini's comments: > - fixed whitespace > v1 -> v2: > - Addressed Paolo Bonzini's comments: > - moved the call to machine_parse after the switch > and brought QEMU_OPTION_M near QEMU_OPTION_machine > > vl.c | 15 ++++++++------- > 1 file changed, 8 insertions(+), 7 deletions(-) > > diff --git a/vl.c b/vl.c > index 7786b2f..1a2da2b 100644 > --- a/vl.c > +++ b/vl.c > @@ -2796,9 +2796,6 @@ int main(int argc, char **argv, char **envp) > exit(1); > } > switch(popt->index) { > - case QEMU_OPTION_M: > - machine_class = machine_parse(optarg); > - break; > case QEMU_OPTION_no_kvm_irqchip: { > olist = qemu_find_opts("machine"); > qemu_opts_parse(olist, "kernel_irqchip=off", 0); > @@ -3420,16 +3417,13 @@ int main(int argc, char **argv, char **envp) > olist = qemu_find_opts("machine"); > qemu_opts_parse(olist, "accel=kvm", 0); > break; > + case QEMU_OPTION_M: > case QEMU_OPTION_machine: > olist = qemu_find_opts("machine"); > opts = qemu_opts_parse(olist, optarg, 1); > if (!opts) { > exit(1); > } > - optarg = qemu_opt_get(opts, "type"); > - if (optarg) { > - machine_class = machine_parse(optarg); > - } > break; > case QEMU_OPTION_no_kvm: > olist = qemu_find_opts("machine"); > @@ -3752,6 +3746,13 @@ int main(int argc, char **argv, char **envp) > } > } > } > + > + opts = qemu_get_machine_opts(); > + optarg = qemu_opt_get(opts, "type"); > + if (optarg) { > + machine_class = machine_parse(optarg); > + } > + > loc_set_none(); > > os_daemonize(); > Reviewed-by: Paolo Bonzini