From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51275) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VC7ly-0005IZ-3w for qemu-devel@nongnu.org; Wed, 21 Aug 2013 08:44:34 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VC7lo-00008V-P2 for qemu-devel@nongnu.org; Wed, 21 Aug 2013 08:44:26 -0400 Sender: Paolo Bonzini Message-ID: <5214B5DF.5040100@redhat.com> Date: Wed, 21 Aug 2013 14:43:11 +0200 From: Paolo Bonzini MIME-Version: 1.0 References: <1377086477-19553-1-git-send-email-pbonzini@redhat.com> <5214B5BE.1030906@redhat.com> In-Reply-To: <5214B5BE.1030906@redhat.com> Content-Type: text/plain; charset=ISO-8859-1 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: Laszlo Ersek 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, lcapitulino@redhat.com, afaerber@suse.de 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; } Paolo > Since PANICKED was included in runstate_needs_reset(), this generic code > could request a transition from PANICKED to PAUSED (**). As PANICKED is > being removed from runstate_needs_reset(), the PANICKED->PAUSED > transition is not required any longer. > > (**) I don't know why the generic code moves to PAUSED temporarily (from > INTERNAL_ERROR and SHUTDOWN), but I'll just accept that as status quo.