On Tue, Sep 05, 2023 at 04:50:00PM +0200, Kevin Wolf wrote: > This fixes a recently introduced assertion failure that was reported to > happen when migrating virtio-net with a failover. The latent bug that > we're executing code in coroutine context that was never supposed to run > there has existed for a long time. However, the new assertion that > callers of bdrv_graph_rdlock_main_loop() don't run in coroutine context > makes it very visible because it's now always a crash. > > Kevin Wolf (2): > vmstate: Mark VMStateInfo.get/put() coroutine_mixed_fn > virtio: Drop out of coroutine context in virtio_load() > > include/migration/vmstate.h | 8 ++++--- > hw/virtio/virtio.c | 45 ++++++++++++++++++++++++++++++++----- > 2 files changed, 45 insertions(+), 8 deletions(-)
This looks like a bandaid for a specific instance of this problem rather than a solution that takes care of the root cause. Is it possible to make VMStateInfo.get/put() consistenty coroutine_fn? Stefan
signature.asc
Description: PGP signature