[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 03/20] block: bdrv/blk_co_unref() for calls in coroutine cont
From: |
Kevin Wolf |
Subject: |
Re: [PATCH 03/20] block: bdrv/blk_co_unref() for calls in coroutine context |
Date: |
Thu, 27 Apr 2023 19:00:30 +0200 |
Am 27.04.2023 um 16:30 hat Paolo Bonzini geschrieben:
> Il mar 25 apr 2023, 19:32 Kevin Wolf <kwolf@redhat.com> ha scritto:
>
> > These functions must not be called in coroutine context, because they
> > need write access to the graph.
> >
>
> With these patches applied vrc is still complaining about calls to
> bdrv_unref_child from qcow2_do_open and qcow2_do_close.
bdrv_unref_child() is addressed in one of the patches that I'll probably
send in the next batch, so it should be covered without additional work.
> Otherwise, the situation looks pretty good.
Thanks for checking!
By the way, and slightly unrelated, can vrc somehow help with finding
places that call coroutine wrappers without holding the AioContext lock?
(This results in an abort() when AIO_WAIT_WHILE() tries to unlock the
AioContext.) This is one of the classes of bugs we're seeing in 8.0.
Kevin
[PATCH 02/20] block: Consistently call bdrv_activate() outside coroutine, Kevin Wolf, 2023/04/25
[PATCH 07/20] graph-lock: Fix GRAPH_RDLOCK_GUARD*() to be reader lock, Kevin Wolf, 2023/04/25
[PATCH 05/20] test-bdrv-drain: Don't modify the graph in coroutines, Kevin Wolf, 2023/04/25
[PATCH 04/20] block: Don't call no_coroutine_fns in qmp_block_resize(), Kevin Wolf, 2023/04/25