qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 00/19] qcow2: Rework cluster allocation even more
@ 2013-03-25 17:30 Kevin Wolf
  2013-03-25 17:30 ` [Qemu-devel] [PATCH 01/19] qcow2: Fix "total clusters" number in bdrv_check Kevin Wolf
                   ` (18 more replies)
  0 siblings, 19 replies; 25+ messages in thread
From: Kevin Wolf @ 2013-03-25 17:30 UTC (permalink / raw)
  To: qemu-devel; +Cc: kwolf, stefanha

This is the start of the latest Delayed COW series. As there seem to be serious
problems with the actual Delayed COW (which in fact exist today, but would
become a bit easier to hit) and I don't have the time to complete this at the
moment, here is another series with preparatory patches, for which there's no
reason to not get them applied now.

The result is a somewhat cleaner cluster allocation code in qcow2, and in
theory some cases should show improved performance - in practice I think these
cases are unlikely to occur, but as the optimisation falls out naturally, let's
just take it.

Kevin Wolf (19):
  qcow2: Fix "total clusters" number in bdrv_check
  qcow2: Remove bogus unlock of s->lock
  qcow2: Handle dependencies earlier
  qcow2: Improve check for overlapping allocations
  qcow2: Change handle_dependency to byte granularity
  qcow2: Decouple cluster allocation from cluster reuse code
  qcow2: Factor out handle_alloc()
  qcow2: handle_alloc(): Get rid of nb_clusters parameter
  qcow2: handle_alloc(): Get rid of keep_clusters parameter
  qcow2: Finalise interface of handle_alloc()
  qcow2: Clean up handle_alloc()
  qcow2: Factor out handle_copied()
  qcow2: handle_copied(): Get rid of nb_clusters parameter
  qcow2: handle_copied(): Get rid of keep_clusters parameter
  qcow2: handle_copied(): Implement non-zero host_offset
  qcow2: Use byte granularity in qcow2_alloc_cluster_offset()
  qcow2: Allow requests with multiple l2metas
  qcow2: Move cluster gathering to a non-looping loop
  qcow2: Gather clusters in a looping loop

 block/qcow2-cluster.c      | 491 +++++++++++++++++++++++++++++++--------------
 block/qcow2-refcount.c     |   4 +-
 block/qcow2.c              |  16 +-
 block/qcow2.h              |  29 +++
 tests/qemu-iotests/038.out |  10 +-
 tests/qemu-iotests/044.out |   4 +-
 trace-events               |   2 +
 7 files changed, 394 insertions(+), 162 deletions(-)

-- 
1.8.1.4

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

end of thread, other threads:[~2013-03-25 19:50 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-03-25 17:30 [Qemu-devel] [PATCH 00/19] qcow2: Rework cluster allocation even more Kevin Wolf
2013-03-25 17:30 ` [Qemu-devel] [PATCH 01/19] qcow2: Fix "total clusters" number in bdrv_check Kevin Wolf
2013-03-25 18:54   ` Eric Blake
2013-03-25 17:30 ` [Qemu-devel] [PATCH 02/19] qcow2: Remove bogus unlock of s->lock Kevin Wolf
2013-03-25 19:01   ` Eric Blake
2013-03-25 17:30 ` [Qemu-devel] [PATCH 03/19] qcow2: Handle dependencies earlier Kevin Wolf
2013-03-25 17:30 ` [Qemu-devel] [PATCH 04/19] qcow2: Improve check for overlapping allocations Kevin Wolf
2013-03-25 19:08   ` Eric Blake
2013-03-25 17:30 ` [Qemu-devel] [PATCH 05/19] qcow2: Change handle_dependency to byte granularity Kevin Wolf
2013-03-25 17:30 ` [Qemu-devel] [PATCH 06/19] qcow2: Decouple cluster allocation from cluster reuse code Kevin Wolf
2013-03-25 17:30 ` [Qemu-devel] [PATCH 07/19] qcow2: Factor out handle_alloc() Kevin Wolf
2013-03-25 17:30 ` [Qemu-devel] [PATCH 08/19] qcow2: handle_alloc(): Get rid of nb_clusters parameter Kevin Wolf
2013-03-25 17:30 ` [Qemu-devel] [PATCH 09/19] qcow2: handle_alloc(): Get rid of keep_clusters parameter Kevin Wolf
2013-03-25 17:30 ` [Qemu-devel] [PATCH 10/19] qcow2: Finalise interface of handle_alloc() Kevin Wolf
2013-03-25 17:30 ` [Qemu-devel] [PATCH 11/19] qcow2: Clean up handle_alloc() Kevin Wolf
2013-03-25 17:30 ` [Qemu-devel] [PATCH 12/19] qcow2: Factor out handle_copied() Kevin Wolf
2013-03-25 17:30 ` [Qemu-devel] [PATCH 13/19] qcow2: handle_copied(): Get rid of nb_clusters parameter Kevin Wolf
2013-03-25 17:30 ` [Qemu-devel] [PATCH 14/19] qcow2: handle_copied(): Get rid of keep_clusters parameter Kevin Wolf
2013-03-25 17:30 ` [Qemu-devel] [PATCH 15/19] qcow2: handle_copied(): Implement non-zero host_offset Kevin Wolf
2013-03-25 17:30 ` [Qemu-devel] [PATCH 16/19] qcow2: Use byte granularity in qcow2_alloc_cluster_offset() Kevin Wolf
2013-03-25 19:50   ` Kevin Wolf
2013-03-25 17:30 ` [Qemu-devel] [PATCH 17/19] qcow2: Allow requests with multiple l2metas Kevin Wolf
2013-03-25 17:30 ` [Qemu-devel] [PATCH 18/19] qcow2: Move cluster gathering to a non-looping loop Kevin Wolf
2013-03-25 17:30 ` [Qemu-devel] [PATCH 19/19] qcow2: Gather clusters in a looping loop Kevin Wolf
2013-03-25 18:48   ` Kevin Wolf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).