On Tue, Mar 26, 2013 at 05:49:52PM +0100, Kevin Wolf wrote: > 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 (21): > qemu-iotests: More concurrent allocation scenarios > 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: Prepare handle_alloc/copied() for byte granularity > 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 | 507 > ++++++++++++++++++++++++++++++++------------- > 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 +- > tests/qemu-iotests/046 | 49 ++++- > tests/qemu-iotests/046.out | 76 +++++++ > trace-events | 2 + > 9 files changed, 534 insertions(+), 163 deletions(-)
Looks good except for an out-dated comment that I spotted. Please either resend a fixed version or let me know the exact comment fix you want so I can apply it while merging. Thanks, Stefan