On 05/07/2017 18:40, Marc-André Lureau wrote: > Hi > > ----- Original Message ----- >> >> >> On 05/07/2017 18:06, Marc-André Lureau wrote: >>>>> coroutine_fn too) >>>> It's not controversial, I would not have expected the functions to call >>>> coroutine_fn. :) How do they do that? >>>> >>> For example, null_co_readv() calls null_co_common() which calls >>> co_aio_sleep_ns() >> >> But these are bdrv_co_*, not bdrv_aio_*. > > Oops, right. > > Indeed, it's not needed, but to avoid coroutine annotation mismatch, we would > have to remove a few: > > static coroutine_fn BlockAIOCB *raw_aio_pdiscard(BlockDriverState *bs, > > static coroutine_fn BlockAIOCB *hdev_aio_pdiscard(BlockDriverState *bs, > > Only those 2, it seems.
Good! If it's just those two, they are wrong indeed. I'd be surprised to see more (and even more surprised to see that the annotations were right :)). Paolo