On 06/03/2018 14:59, Kevin Wolf wrote: > Am 01.03.2018 um 17:36 hat Paolo Bonzini geschrieben: >> Check and invalidate_cache share some parts of the implementation >> with the regular I/O path. This is sometimes complicated because the >> I/O path wants to use a CoMutex but that is not possible outside coroutine >> context. By moving things to coroutine context, we can remove special >> cases. In fact, invalidate_cache is already called from coroutine context >> because incoming migration is placed in a coroutine. >> >> I'm including two patches from Stefan to rename the bdrv_create callback >> to bdrv_co_create, because it is already called from coroutine context. >> The name is now bdrv_co_create_opts, with bdrv_co_create reserved for >> the QAPI-based version that Kevin is working on. >> >> qcow2 still has cache flushing in non-coroutine context, coming from >> qcow2_reopen_prepare->qcow2_update_options_prepare, >> qcow2_close->qcow2_inactivate and several dirty bitmap functions. > > Hmm... Which commit is this based on? I can't seem to find one where it > applies cleanly.
It's on top of bec9c64ef7be8063f1192608b83877bc5c9ea217, I'll respin. Paolo