We don't allow to use x-colo capability when replication is not
configured. So, no reason to build COLO when replication is disabled,
it's unusable in this case.
Note also that the check in migrate_caps_check() is not the only
restriction: some functions in migration/colo.c will just abort if
called with not defined CONFIG_REPLICATION, for example:
migration_iteration_finish()
case MIGRATION_STATUS_COLO:
migrate_start_colo_process()
colo_process_checkpoint()
abort()
It could probably make sense to have possibility to enable COLO without
REPLICATION, but this requires deeper audit of colo & replication code,
which may be done later if needed.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Acked-by: Dr. David Alan Gilbert <dave@treblig.org>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Message-Id: <20230428194928.1426370-4-vsementsov@yandex-team.ru>
Signed-off-by: Juan Quintela <quintela@redhat.com>
47 lines
1 KiB
Meson
47 lines
1 KiB
Meson
# Files needed by unit tests
|
|
migration_files = files(
|
|
'page_cache.c',
|
|
'xbzrle.c',
|
|
'vmstate-types.c',
|
|
'vmstate.c',
|
|
'qemu-file.c',
|
|
'yank_functions.c',
|
|
)
|
|
softmmu_ss.add(migration_files)
|
|
|
|
softmmu_ss.add(files(
|
|
'block-dirty-bitmap.c',
|
|
'channel.c',
|
|
'channel-block.c',
|
|
'exec.c',
|
|
'fd.c',
|
|
'global_state.c',
|
|
'migration-hmp-cmds.c',
|
|
'migration-stats.c',
|
|
'migration.c',
|
|
'multifd.c',
|
|
'multifd-zlib.c',
|
|
'multifd-zlib.c',
|
|
'ram-compress.c',
|
|
'options.c',
|
|
'postcopy-ram.c',
|
|
'savevm.c',
|
|
'socket.c',
|
|
'tls.c',
|
|
'threadinfo.c',
|
|
), gnutls)
|
|
|
|
if get_option('replication').allowed()
|
|
softmmu_ss.add(files('colo-failover.c', 'colo.c'))
|
|
endif
|
|
|
|
softmmu_ss.add(when: rdma, if_true: files('rdma.c'))
|
|
if get_option('live_block_migration').allowed()
|
|
softmmu_ss.add(files('block.c'))
|
|
endif
|
|
softmmu_ss.add(when: zstd, if_true: files('multifd-zstd.c'))
|
|
|
|
specific_ss.add(when: 'CONFIG_SOFTMMU',
|
|
if_true: files('dirtyrate.c',
|
|
'ram.c',
|
|
'target.c'))
|