Message ID | 1516188312-29612-1-git-send-email-pbonzini@redhat.com |
---|---|
Headers | show |
Series | Call check and invalidate_cache from coroutine context | expand |
Am 17.01.2018 um 12:25 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. > > While at it, 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. I'm using .bdrv_co_create for the QAPI type based function that will be used from QMP blockdev-create, so it would be good if we leave the legacy function with its old name or at least choose a different new name for it. Kevin
On 17/01/2018 13:59, Kevin Wolf wrote: > Am 17.01.2018 um 12:25 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. >> >> While at it, 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. > I'm using .bdrv_co_create for the QAPI type based function that will be > used from QMP blockdev-create, so it would be good if we leave the > legacy function with its old name or at least choose a different new > name for it. .bdrv_co_create_opts since it takes QemuOpts*? Thanks, Paolo
Am 17.01.2018 um 14:15 hat Paolo Bonzini geschrieben: > On 17/01/2018 13:59, Kevin Wolf wrote: > > Am 17.01.2018 um 12:25 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. > >> > >> While at it, 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. > > I'm using .bdrv_co_create for the QAPI type based function that will be > > used from QMP blockdev-create, so it would be good if we leave the > > legacy function with its old name or at least choose a different new > > name for it. > > .bdrv_co_create_opts since it takes QemuOpts*? Sounds good enough to me. Kevin