• P
    mirror: support more than one in-flight AIO operation · 402a4741
    Paolo Bonzini 提交于
    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: NPaolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: NKevin Wolf <kwolf@redhat.com>
    402a4741
trace-events 69.8 KB