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 <peterx@redhat.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Tested-by: Lukas Straub <lukasstraub2@web.de>
Link: https://lore.kernel.org/qemu-devel/20260127185254.3954634-10-peterx@redhat.com
Signed-off-by: Fabiano Rosas <farosas@suse.de>
This commit is contained in:
Peter Xu
2026-01-27 13:52:39 -05:00
committed by Fabiano Rosas
parent 47377604dc
commit 8c4d280054

View File

@@ -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) {