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(-) -- 2.41.0
