On 05/10/21 16:32, Emanuele Giuseppe Esposito wrote:
> block coroutines functions run in different aiocontext, and are
> not protected by the BQL. Therefore are I/O.
>
> Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
> ---
> block/coroutines.h | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/block/coroutines.h b/block/coroutines.h
> index 514d169d23..105e0ce2a9 100644
> --- a/block/coroutines.h
> +++ b/block/coroutines.h
> @@ -27,6 +27,12 @@
>
> #include "block/block_int.h"
>
> +/*
> + * I/O API functions. These functions are thread-safe, and therefore
> + * can run in any thread as long as they have called
> + * aio_context_acquire/release().
> + */
> +
> int coroutine_fn bdrv_co_check(BlockDriverState *bs,
> BdrvCheckResult *res, BdrvCheckMode fix);
> int coroutine_fn bdrv_co_invalidate_cache(BlockDriverState *bs, Error **errp);
>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
except for the same comment about "they" that was in patch 2.
Paolo