On 12/12/2012 06:46 AM, Paolo Bonzini wrote: > With AIO support in place, we can start copying more than one chunk > in parallel. This patch introduces the required infrastructure for > this: the buffer is split into multiple granularity-sized chunks, > and there is a free list to access them. > > Because of copy-on-write, a single operation may already require > multiple chunks to be available on the free list. > > In addition, two different iterations on the HBitmap may want to > copy the same cluster. We avoid this by keeping a bitmap of in-flight > I/O operations, and blocking until the previous iteration completes. > This should be a pretty rare occurrence, though; as long as there is > no overlap the next iteration can start before the previous one finishes. > > Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> > --- > block/mirror.c | 109 > ++++++++++++++++++++++++++++++++++++++++++++++++++------- > trace-events | 4 ++- > 2 files changed, 100 insertions(+), 13 deletions(-)
Again, my review is weak, but feel free to add: Reviewed-by: Eric Blake <ebl...@redhat.com> -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature