[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 06/26] blkdebug: add missing coroutine_fn annotations
From: |
Kevin Wolf |
Subject: |
Re: [PATCH 06/26] blkdebug: add missing coroutine_fn annotations |
Date: |
Wed, 5 Oct 2022 12:32:24 +0200 |
Am 22.09.2022 um 10:49 hat Paolo Bonzini geschrieben:
> Callers of coroutine_fn must be coroutine_fn themselves, or the call
> must be within "if (qemu_in_coroutine())". Apply coroutine_fn to
> functions where this holds.
>
> Reviewed-by: Alberto Faria <afaria@redhat.com>
> Reviewed-by: Eric Blake <eblake@redhat.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Hm... blkdebug_debug_event() is called from bdrv_debug_event(), which is
not coroutine_fn. And I think that it's not coroutine_fn is correct:
For example, with 'qemu-img snapshot -c' you get img_snapshot() ->
bdrv_snapshot_create() -> qcow2_snapshot_create() ->
qcow2_alloc_clusters() -> BLKDBG_EVENT. I'm sure many other calls in
qcow2 can be reached from non-coroutine context as well.
It almost looks like your code analysis didn't consider calls through
function pointers?
Kevin
- Re: [PATCH 06/26] blkdebug: add missing coroutine_fn annotations,
Kevin Wolf <=