Il 14/01/2013 13:56, Stefan Hajnoczi ha scritto:
>> > +/* Wait for I/O to this cluster (from a previous iteration) to be
>> > done. */
>> > +while (test_bit(cluster_num, s->in_flight_bitmap)) {
>> > +trace_mirror_yield_in_flight(s, sector_num, s->in_flight);
>> > +qemu_cor
On Wed, Dec 12, 2012 at 02:46:30PM +0100, Paolo Bonzini wrote:
> @@ -137,21 +163,58 @@ static void coroutine_fn
> mirror_iteration(MirrorBlockJob *s)
> bdrv_round_to_clusters(s->target,
> sector_num, nb_sectors_chunk,
> §or_n
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.
>
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 alread