From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33328) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y8rXR-0003Dx-JI for qemu-devel@nongnu.org; Wed, 07 Jan 2015 09:24:46 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Y8rXN-0007gW-0R for qemu-devel@nongnu.org; Wed, 07 Jan 2015 09:24:45 -0500 Message-ID: <54AD1A4B.9040306@redhat.com> Date: Wed, 07 Jan 2015 13:36:43 +0200 From: Marcel Apfelbaum MIME-Version: 1.0 References: <1420630468-25031-1-git-send-email-marcel@redhat.com> In-Reply-To: <1420630468-25031-1-git-send-email-marcel@redhat.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v2] vl.c: fix regression when reading machine type from config file List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: qemu-stable@nongnu.org On 01/07/2015 01:34 PM, 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. I sent first the patch only to reviewers and not to the list! I am sorry about that. I also didn't actually CC-ed the stable list, doing it now... Thanks, Marcel > > Cc: qemu-stable@nongnu.org > Reported-by: William Dauchy > Signed-off-by: Marcel Apfelbaum > --- > 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 | 17 +++++++++-------- > 1 file changed, 9 insertions(+), 8 deletions(-) > > diff --git a/vl.c b/vl.c > index 7786b2f..da69dba 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,17 +3417,14 @@ 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; > + break; > case QEMU_OPTION_no_kvm: > olist = qemu_find_opts("machine"); > qemu_opts_parse(olist, "accel=tcg", 0); > @@ -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(); >