From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50361) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VC9Em-0006pU-Qn for qemu-devel@nongnu.org; Wed, 21 Aug 2013 10:18:22 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VC9Eg-0002lp-Ok for qemu-devel@nongnu.org; Wed, 21 Aug 2013 10:18:16 -0400 Date: Wed, 21 Aug 2013 10:17:49 -0400 From: Luiz Capitulino Message-ID: <20130821101749.5b95b2e4@redhat.com> In-Reply-To: <5214B5DF.5040100@redhat.com> References: <1377086477-19553-1-git-send-email-pbonzini@redhat.com> <5214B5BE.1030906@redhat.com> <5214B5DF.5040100@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] vl: allow "cont" from panicked state List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: pkrempa@redhat.com, marcel.a@redhat.com, libvir-list@redhat.com, hutao@cn.fujitsu.com, mst@redhat.com, qemu-stable@nongnu.org, qemu-devel@nongnu.org, rhod@redhat.com, kraxel@redhat.com, anthony@codemonkey.ws, Laszlo Ersek , afaerber@suse.de On Wed, 21 Aug 2013 14:43:11 +0200 Paolo Bonzini wrote: > Il 21/08/2013 14:42, Laszlo Ersek ha scritto: > > (*) Hm I think I understand why. main_loop_should_exit(), when a reset > > was requested *and* runstate_needs_reset() evaluated to true, used to > > set the runstate to PAUSED -- I guess temporarily. > > Yes, this is the code that does the PANICKED -> PAUSED transition: > > if (runstate_needs_reset()) { > runstate_set(RUN_STATE_PAUSED); > } > > This is to move the system out of a runstate that needs_reset(), and > make the subsequent "cont" work instead of hitting this: > > if (runstate_needs_reset()) { > error_set(errp, QERR_RESET_REQUIRED); > return; > } Yes. For those states issuing 'cont' won't put the guest to run again, so you're required to reset the guest first. I think the same reasoning went behind the PANICKED state, and for most cases it's going to be disastrous to put the guest to run again, but I can understand that this is up user/mngt to decide this, not QEMU.