From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=40350 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OweNI-0005dP-Pa for qemu-devel@nongnu.org; Fri, 17 Sep 2010 13:05:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OweNH-0000bZ-IX for qemu-devel@nongnu.org; Fri, 17 Sep 2010 13:05:24 -0400 Received: from mail-gy0-f173.google.com ([209.85.160.173]:49709) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OweNH-0000bT-Fs for qemu-devel@nongnu.org; Fri, 17 Sep 2010 13:05:23 -0400 Received: by gya1 with SMTP id 1so1019716gya.4 for ; Fri, 17 Sep 2010 10:05:22 -0700 (PDT) Message-ID: <4C939FC0.3000103@codemonkey.ws> Date: Fri, 17 Sep 2010 12:05:04 -0500 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH 0/4] qcow2: Save another common flush References: <1284740318-20838-1-git-send-email-kwolf@redhat.com> In-Reply-To: <1284740318-20838-1-git-send-email-kwolf@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Kevin Wolf Cc: qemu-devel@nongnu.org On 09/17/2010 11:18 AM, Kevin Wolf wrote: > For copy on write (this includes any cluster allocations that don't fill the > whole cluster with one request), what qcow2 does looks like this: > > 1. Allocate new clusters (increase refcounts) > 2. bdrv_flush > 3. Copy sectors before the first touched one > 4. bdrv_flush > 5. Copy sectors after the last touched one > 6. bdrv_flush > 7. Update the L2 table to point to the new clusters > > Step 2 and 4 are not necessary. This series moves flushes around to get all > of these three bdrv_flush calls merged into one. > Makes sense to me. Regards, Anthony Liguori > Kevin Wolf (4): > qcow2: Move sync out of write_refcount_block_entries > qcow2: Move sync out of update_refcount > qcow2: Move sync out of qcow2_alloc_clusters > qcow2: Get rid of additional sync on COW > > block/qcow2-cluster.c | 11 ++++++++++- > block/qcow2-refcount.c | 13 ++++++++++++- > block/qcow2-snapshot.c | 2 ++ > 3 files changed, 24 insertions(+), 2 deletions(-) > >