From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=41325 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OoGFC-0003Vo-FP for qemu-devel@nongnu.org; Wed, 25 Aug 2010 09:42:23 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OoGFB-0001Z3-0y for qemu-devel@nongnu.org; Wed, 25 Aug 2010 09:42:22 -0400 Received: from mail-qw0-f45.google.com ([209.85.216.45]:57443) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OoGFA-0001Yu-VA for qemu-devel@nongnu.org; Wed, 25 Aug 2010 09:42:20 -0400 Received: by qwh5 with SMTP id 5so513563qwh.4 for ; Wed, 25 Aug 2010 06:42:20 -0700 (PDT) Message-ID: <4C751DBB.8060101@codemonkey.ws> Date: Wed, 25 Aug 2010 08:42:19 -0500 From: Anthony Liguori 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> <4C73CCCB.6050704@redhat.com> <4C73CF8D.5060405@codemonkey.ws> <4C74C2F3.9050506@redhat.com> <4C7510C1.8080305@codemonkey.ws> <4C75195A.8050508@redhat.com> In-Reply-To: <4C75195A.8050508@redhat.com> 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: Avi Kivity Cc: Kevin Wolf , stefanha@gmail.com, mjt@tls.msk.ru, qemu-devel@nongnu.org, hch@lst.de On 08/25/2010 08:23 AM, Avi Kivity wrote: > On 08/25/2010 03:46 PM, Anthony Liguori wrote: >> >> If we had another disk format that only supported growth and metadata >> for a backing file, can you think of another failure scenario? > > btw, only supporting growth is a step backwards. Currently > file-backed disks keep growing even the guest-used storage doesn't > grow, since once we allocate something we never release it. But > eventually guests will start using TRIM or DISCARD or however it's > called, and then we can expose it and reclaim unused blocks. You can do this in one of two ways. You can do online compaction or you can maintain a free list. Online compaction has an advantage because it does not require any operations in the fast path whereas a free list would require ordered metadata updates (must remove something from the first list before updating the l2 table) which implies a sync. At a high level, I don't think online compaction requires any specific support from an image format. Regards, Anthony Liguori