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. Kevin