colo: Replace migration_incoming_colo_enabled() with migrate_colo()
Since 121ccedc2b migration: block incoming colo when capability is disabled x-colo capability needs to be always enabled on the incoming side. So migration_incoming_colo_enabled() and migrate_colo() are equivalent with migrate_colo() being easier to reason about since it is always true during the whole migration. Reviewed-by: Fabiano Rosas <farosas@suse.de> Reviewed-by: Peter Xu <peterx@redhat.com> Signed-off-by: Lukas Straub <lukasstraub2@web.de> Link: https://lore.kernel.org/qemu-devel/20260302-colo_unit_test_multifd-v11-4-d653fb3b1d80@web.de Signed-off-by: Fabiano Rosas <farosas@suse.de>
Lukas Straub committed
Mar 2, 2026 at 12:43 UTC
3639d94e16c0a2e512a1204b54d606acba9b5171
4 files changed
+4
-10
include/migration/colo.h
-1
@@ -27,7 +27,6 @@ bool migration_in_colo_state(void);
27
/* loadvm */
28
int migration_incoming_enable_colo(Error **errp);
29
void migration_incoming_disable_colo(void);
30
-bool migration_incoming_colo_enabled(void);
30
bool migration_incoming_in_colo_state(void);
31
32
COLOMode get_colo_mode(void);
migration/colo.c
+1
-1
@@ -935,7 +935,7 @@ void coroutine_fn colo_incoming_co(void)
935
QemuThread th;
936
937
assert(bql_locked());
938
- assert(migration_incoming_colo_enabled());
938
+ assert(migrate_colo());
939
940
qemu_thread_create(&th, MIGRATION_THREAD_DST_COLO,
941
colo_process_incoming_thread,
migration/migration.c
+2
-7
@@ -605,11 +605,6 @@ int migrate_send_rp_req_pages(MigrationIncomingState *mis,
605
}
606
607
static bool migration_colo_enabled;
608
-bool migration_incoming_colo_enabled(void)
609
-{
610
- return migration_colo_enabled;
611
-}
612
-
608
void migration_incoming_disable_colo(void)
609
{
610
ram_block_discard_disable(false);
@@ -739,7 +734,7 @@ static void process_incoming_migration_bh(void *opaque)
734
} else {
735
runstate_set(RUN_STATE_PAUSED);
736
}
742
- } else if (migration_incoming_colo_enabled()) {
737
+ } else if (migrate_colo()) {
738
migration_incoming_disable_colo();
739
vm_start();
740
} else {
@@ -807,7 +802,7 @@ process_incoming_migration_co(void *opaque)
802
goto fail;
803
}
804
810
- if (migration_incoming_colo_enabled()) {
805
+ if (migrate_colo()) {
806
/* yield until COLO exit */
807
colo_incoming_co();
808
}
migration/ram.c
+1
-1
@@ -4370,7 +4370,7 @@ static int ram_load_precopy(QEMUFile *f)
4370
* speed of the migration, but it obviously reduce the downtime of
4371
* back-up all SVM'S memory in COLO preparing stage.
4372
*/
4373
- if (migration_incoming_colo_enabled()) {
4373
+ if (migrate_colo()) {
4374
if (migration_incoming_in_colo_state()) {
4375
/* In COLO stage, put all pages into cache temporarily */
4376
host = colo_cache_from_block_offset(block, addr, true);