On Sun, Jan 25, 2026 at 09:40:10PM +0100, Lukas Straub wrote: > With colo we load device vmstate during each checkpoint, on top of > a vm that was already running. Some devices expect a reset before > loading vmstate on such a previously running vm. > > This fixes a crash when using COLO with Q35 machine. > > Signed-off-by: Lukas Straub <[email protected]>
Yes makes sense, maybe you can add some comments into the code too since this was overlooked before, Reviewed-by: Peter Xu <[email protected]> Have you tried to measure how many overheads will this introduce to loading each snapshot? > --- > migration/colo.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/migration/colo.c b/migration/colo.c > index > db783f6fa77500386d923dd97e522883027e71d8..627b3706687036554eda3909b4194116a7640493 > 100644 > --- a/migration/colo.c > +++ b/migration/colo.c > @@ -727,6 +727,7 @@ static void > colo_incoming_process_checkpoint(MigrationIncomingState *mis, > > bql_lock(); > vmstate_loading = true; > + qemu_system_reset(SHUTDOWN_CAUSE_SNAPSHOT_LOAD); > colo_flush_ram_cache(); > ret = qemu_load_device_state(fb, errp); > if (ret < 0) { > > -- > 2.39.5 > -- Peter Xu
