All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/4] qcow2: Save another common flush
@ 2010-09-17 16:18 Kevin Wolf
  2010-09-17 16:18 ` [Qemu-devel] [PATCH 1/4] qcow2: Move sync out of write_refcount_block_entries Kevin Wolf
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Kevin Wolf @ 2010-09-17 16:18 UTC (permalink / raw)
  To: qemu-devel; +Cc: kwolf

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.

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(-)

-- 
1.7.2.2

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2010-09-17 17:19 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-09-17 16:18 [Qemu-devel] [PATCH 0/4] qcow2: Save another common flush Kevin Wolf
2010-09-17 16:18 ` [Qemu-devel] [PATCH 1/4] qcow2: Move sync out of write_refcount_block_entries Kevin Wolf
2010-09-17 16:18 ` [Qemu-devel] [PATCH 2/4] qcow2: Move sync out of update_refcount Kevin Wolf
2010-09-17 17:06   ` Anthony Liguori
2010-09-17 17:19     ` Kevin Wolf
2010-09-17 16:18 ` [Qemu-devel] [PATCH 3/4] qcow2: Move sync out of qcow2_alloc_clusters Kevin Wolf
2010-09-17 16:18 ` [Qemu-devel] [PATCH 4/4] qcow2: Get rid of additional sync on COW Kevin Wolf
2010-09-17 17:05 ` [Qemu-devel] [PATCH 0/4] qcow2: Save another common flush Anthony Liguori

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.