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: Charlie Shepherd
Subject: Re: [Qemu-devel] [RFC v2 05/15] Make qcow2_open synchronous
Date: Thu, 29 Aug 2013 13:43:02 +0100
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130801 Thunderbird/17.0.8

On 29/08/2013 13:33, Stefan Hajnoczi wrote:
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.

So you want this approach for all synchronous wrappers?


Charlie



reply via email to

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