From: Peter Xu Date: Tue, 27 Jan 2026 18:52:39 +0000 (-0500) Subject: migration/colo: Document qemu_fflush(fb) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8c4d280054ea6817e98cefd3ff4dd2aa44a651ac;p=thirdparty%2Fqemu.git migration/colo: Document qemu_fflush(fb) COLO caches all device states in a buffer channel `fb'. Add some comments explaining the flush, that (1) it's the `fb' not the main channel, (2) on what it updates. Signed-off-by: Peter Xu Reviewed-by: Fabiano Rosas Tested-by: Lukas Straub Link: https://lore.kernel.org/qemu-devel/20260127185254.3954634-10-peterx@redhat.com Signed-off-by: Fabiano Rosas --- diff --git a/migration/colo.c b/migration/colo.c index f92803dd29..1b94e0f0ee 100644 --- a/migration/colo.c +++ b/migration/colo.c @@ -472,12 +472,14 @@ static int colo_do_checkpoint_transaction(MigrationState *s, qemu_savevm_state_complete_precopy_iterable(s->to_dst_file, false); qemu_put_byte(s->to_dst_file, QEMU_VM_EOF); - qemu_fflush(fb); - /* * We need the size of the VMstate data in Secondary side, * With which we can decide how much data should be read. + * + * Flush the qemufile cache to make sure both bioc->usage and + * bioc->data contains the latest info. */ + qemu_fflush(fb); colo_send_message_value(s->to_dst_file, COLO_MESSAGE_VMSTATE_SIZE, bioc->usage, &local_err); if (local_err) {