From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:39857) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QqQAq-0006Ei-EN for qemu-devel@nongnu.org; Mon, 08 Aug 2011 09:47:21 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QqQAp-0000rO-Gt for qemu-devel@nongnu.org; Mon, 08 Aug 2011 09:47:20 -0400 Received: from mx1.redhat.com ([209.132.183.28]:38813) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QqQAp-0000rK-9S for qemu-devel@nongnu.org; Mon, 08 Aug 2011 09:47:19 -0400 Date: Mon, 8 Aug 2011 10:47:14 -0300 From: Luiz Capitulino Message-ID: <20110808104714.6d8aeea4@doriath> In-Reply-To: <4E3FE741.7060302@redhat.com> References: <1312384643-581-1-git-send-email-lcapitulino@redhat.com> <1312384643-581-3-git-send-email-lcapitulino@redhat.com> <4E3A6C8C.8060304@redhat.com> <4E3A71D3.6030700@siemens.com> <4E3FC6E6.1050202@redhat.com> <20110808102510.6d315297@doriath> <4E3FE429.4010509@redhat.com> <20110808102858.54ab1b55@doriath> <4E3FE741.7060302@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 2/7] Replace VMSTOP macros with a proper QemuState type List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Avi Kivity Cc: blauwirbel@gmail.com, Jan Kiszka , aliguori@us.ibm.com, amit.shah@redhat.com, qemu-devel@nongnu.org On Mon, 08 Aug 2011 16:40:17 +0300 Avi Kivity wrote: > On 08/08/2011 04:28 PM, Luiz Capitulino wrote: > > On Mon, 08 Aug 2011 16:27:05 +0300 > > Avi Kivity wrote: > > > > > On 08/08/2011 04:25 PM, Luiz Capitulino wrote: > > > > > > > > > > I'm worried about the following race: > > > > > > > > > > stop > > > > > (qemu stopped for internal reason) > > > > > stop comment processed > > > > > > > > > > resume > > > > > > > > > > The (qemu stopped for internal reason) part is lost. > > > > > > > > If the "stop" you're referring to happens through vm_stop(), then no, > > > > it won't be lost because do_vm_stop() doesn't allow qemu to be stopped > > > > twice. > > > > > > What happens then? The user sees an error? > > > > It's ignored. > > Well, then, the user won't know something happened and will happily > resume the guest, like I outlined above. I think it makes sense to return an error in the monitor if the user tries to stop qemu when it's already stopped. Not sure if it will do what you think it should do, but we should always tell the user when we're unable to carry his/her orders. But it does make sense to me to not allow stopping twice. First because it doesn't make sense to stop something which is not moving and second because what else can stop the vm if it's already stopped? Maybe vm_stop() should return an error, but I think this goes beyond this series. > > When you ignore something in the first set, something breaks in the third. >