From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=37524 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Onto3-0000hr-4b for qemu-devel@nongnu.org; Tue, 24 Aug 2010 09:44:52 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1Onto1-0003CW-Uu for qemu-devel@nongnu.org; Tue, 24 Aug 2010 09:44:51 -0400 Received: from mx1.redhat.com ([209.132.183.28]:55522) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Onto1-0003CO-Or for qemu-devel@nongnu.org; Tue, 24 Aug 2010 09:44:49 -0400 Message-ID: <4C73CCCB.6050704@redhat.com> Date: Tue, 24 Aug 2010 16:44:43 +0300 From: Avi Kivity MIME-Version: 1.0 References: <1282646430-5777-1-git-send-email-kwolf@redhat.com> <4C73C2BF.8050300@codemonkey.ws> <4C73C622.7080808@redhat.com> <4C73C926.3010901@codemonkey.ws> <4C73C9CF.7090800@redhat.com> <4C73CAA9.2060104@codemonkey.ws> <4C73CB85.9010306@redhat.com> <4C73CBD6.7000900@codemonkey.ws> In-Reply-To: <4C73CBD6.7000900@codemonkey.ws> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] Re: [RFC][STABLE 0.13] Revert "qcow2: Use bdrv_(p)write_sync for metadata writes" List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: Kevin Wolf , stefanha@gmail.com, mjt@tls.msk.ru, qemu-devel@nongnu.org, hch@lst.de On 08/24/2010 04:40 PM, Anthony Liguori wrote: >> 1. Allocate a cluster (increase refcount table) >> >> 2. Link cluster to L2 table >> >> 3. Second operation makes it to disk; first still in pagecache >> >> 4. Crash >> >> 5. Dangling pointer from L2 to freed cluster > > > Yes, having this discussion in IRC. > > The problem is that we maintain a refcount table. Are you sure that's the only issue? > If we didn't do internal disk snapshots, we wouldn't have this > problem. IOW, VMDK doesn't have this problem so the answer to my very > first question is that qcow2 is too difficult a format to get right. One doesn't follow from the other (though I'm no fan of internal snapshots, myself). -- error compiling committee.c: too many arguments to function