qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [RFC v2 05/15] Make qcow2_open synchronous


From: Stefan Hajnoczi
Subject: Re: [Qemu-devel] [RFC v2 05/15] Make qcow2_open synchronous
Date: Thu, 29 Aug 2013 14:33:45 +0200
User-agent: Mutt/1.5.21 (2010-09-15)

On Fri, Aug 09, 2013 at 07:43:55PM +0200, Charlie Shepherd wrote:
> The previous patch convert all .bdrv_open functions to run from a coroutine 
> context. However
> qcow2's open method is also called from qcow2_invalidate_cache. 
> bdrv_invalidate_cache is mainly
> called by migration.c, which doesn't run in coroutine context, so rather than 
> propagating
> coroutine_fn annotations up the call chain, turn qcow2_open into a 
> synchronous wrapper.

I think it would be cleaner to make .bdrv_open a coroutine function and
push the synchronous wrapper out to the callers.  That way we can either
keep synchronous wrappers where necessary, or we can eventually convert
that synchronous code to coroutine code.

If you hide the synchronous wrapper inside qcow2 it blocks coroutine
callers who could otherwise use the event loop.

Stefan



reply via email to

[Prev in Thread] Current Thread [Next in Thread]