[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2] mirror: follow AioContext change gracefully
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] [PATCH v2] mirror: follow AioContext change gracefully |
Date: |
Mon, 13 Jun 2016 14:29:54 +0100 |
User-agent: |
Mutt/1.6.1 (2016-04-27) |
On Sun, Jun 12, 2016 at 02:51:04PM +0800, Fam Zheng wrote:
> From: Stefan Hajnoczi <address@hidden>
>
> When dataplane is enabled or disabled the drive switches to a new
> AioContext. The mirror block job must also move to the new AioContext
> so that drive accesses are always made within its AioContext.
>
> This patch partially achieves that by draining target and source
> requests to reach a quiescent point. The job is resumed in the new
> AioContext after moving s->target into the new AioContext.
>
> The quiesce_requested flag is added to deal with yield points in
> block_job_sleep_ns(), bdrv_is_allocated_above(), and
> bdrv_get_block_status_above(). Previously they continue executing in
> the old AioContext. The nested aio_poll in mirror_detach_aio_context
> will drive the mirror coroutine upto fixed yield points, where
> mirror_check_for_quiesce is called.
>
> Cc: Fam Zheng <address@hidden>
> Cc: Paolo Bonzini <address@hidden>
> Cc: Jeff Cody <address@hidden>
> Signed-off-by: Stefan Hajnoczi <address@hidden>
> [Drain source as well, and add s->quiesce_requested flag. -- Fam]
> Signed-off-by: Fam Zheng <address@hidden>
>
> ---
>
> v2: Picked up Stefan's RFC patch and move on towards a more complete
> fix. Please review!
Thanks, I'll send a v3 with my own comment addressed and fixes for other
block jobs.
signature.asc
Description: PGP signature