From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LcNeT-0008TH-2p for qemu-devel@nongnu.org; Wed, 25 Feb 2009 12:34:33 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LcNeR-0008S1-9I for qemu-devel@nongnu.org; Wed, 25 Feb 2009 12:34:32 -0500 Received: from [199.232.76.173] (port=50910 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LcNeQ-0008Rq-VS for qemu-devel@nongnu.org; Wed, 25 Feb 2009 12:34:31 -0500 Received: from mx1.redhat.com ([66.187.233.31]:60662) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1LcNeQ-00058T-L2 for qemu-devel@nongnu.org; Wed, 25 Feb 2009 12:34:30 -0500 Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id n1PHYUAq022736 for ; Wed, 25 Feb 2009 12:34:30 -0500 Received: from file.fab.redhat.com (file.fab.redhat.com [10.33.63.6]) by int-mx1.corp.redhat.com (8.13.1/8.13.1) with ESMTP id n1PHYUNI003451 for ; Wed, 25 Feb 2009 12:34:31 -0500 Received: from file.fab.redhat.com (localhost.localdomain [127.0.0.1]) by file.fab.redhat.com (8.13.1/8.13.1) with ESMTP id n1PHYTLi027569 for ; Wed, 25 Feb 2009 17:34:29 GMT Received: (from berrange@localhost) by file.fab.redhat.com (8.13.1/8.13.1/Submit) id n1PHYTC1027565 for qemu-devel@nongnu.org; Wed, 25 Feb 2009 17:34:29 GMT Date: Wed, 25 Feb 2009 17:34:29 +0000 From: "Daniel P. Berrange" Subject: Re: [Qemu-devel] [6388] Stop VM on ENOSPC error. Message-ID: <20090225173429.GV24969@redhat.com> References: <49A577FD.60701@codemonkey.ws> <20090225170422.GD8810@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090225170422.GD8810@redhat.com> Reply-To: "Daniel P. Berrange" , qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org On Wed, Feb 25, 2009 at 07:04:22PM +0200, Gleb Natapov wrote: > On Wed, Feb 25, 2009 at 10:55:25AM -0600, Anthony Liguori wrote: > > Anthony Liguori wrote: > >> Revision: 6388 > >> http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=6388 > >> Author: aliguori > >> Date: 2009-01-21 18:59:04 +0000 (Wed, 21 Jan 2009) > >> > >> Log Message: > >> ----------- > >> Stop VM on ENOSPC error. (Gleb Natapov) > >> > >> This version of the patch adds new option "werror" to -drive flag. > >> Possible values are: > >> > >> report - report errors to a guest as IO errors > >> ignore - continue as if nothing happened > >> stop - stop VM on any error and retry last command on resume > >> enospc - stop vm on ENOSPC error and retry last command on resume > >> all other errors are reported to a guest. > >> > >> Default is "report" to maintain current behaviour. > >> > > > > I recently got burnt by the default being "report". I was doing an > > installation and ran out of disk space. The guest did not do anything > > intelligible with the error reports and froze very hard (as you'd > > expect). > > > > Any objection to changing to default to enospc? > > > Or even to stop. What guest can do with other errors anyway? The idea is that if the guest at least sees the I/O error, then it won't continue writing as if everything were OK. It may not be able to continue normal operation, but it can at least mark the FS read-only and avoid ongoing damage. So you have a reasonable liklihood of shutting down the guest, fixing the ENOSPC problem ont he host, and starting the guests again & them recovering their journal. 'ignore' is guarenteed dataloss, 'report' gives you a good fighting chance. 'stop'/'enospc' are best, if the management app is able to detect that the VM is being paused & thus report it to the user Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|