mirror of https://github.com/xemu-project/xemu.git
migration: Move migrate_colo_enabled() to options.c
Once that we are there, we rename the function to migrate_colo() to be consistent with all other capabilities. Signed-off-by: Juan Quintela <quintela@redhat.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
This commit is contained in:
parent
1f0776f1c0
commit
5e80464455
|
@ -2411,7 +2411,7 @@ static bool migrate_prepare(MigrationState *s, bool blk, bool blk_inc,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (blk || blk_inc) {
|
if (blk || blk_inc) {
|
||||||
if (migrate_colo_enabled()) {
|
if (migrate_colo()) {
|
||||||
error_setg(errp, "No disk migration is required in COLO mode");
|
error_setg(errp, "No disk migration is required in COLO mode");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -3299,7 +3299,7 @@ static void migration_completion(MigrationState *s)
|
||||||
MIGRATION_STATUS_DEVICE);
|
MIGRATION_STATUS_DEVICE);
|
||||||
}
|
}
|
||||||
if (ret >= 0) {
|
if (ret >= 0) {
|
||||||
s->block_inactive = !migrate_colo_enabled();
|
s->block_inactive = !migrate_colo();
|
||||||
qemu_file_set_rate_limit(s->to_dst_file, INT64_MAX);
|
qemu_file_set_rate_limit(s->to_dst_file, INT64_MAX);
|
||||||
ret = qemu_savevm_state_complete_precopy(s->to_dst_file, false,
|
ret = qemu_savevm_state_complete_precopy(s->to_dst_file, false,
|
||||||
s->block_inactive);
|
s->block_inactive);
|
||||||
|
@ -3352,7 +3352,7 @@ static void migration_completion(MigrationState *s)
|
||||||
goto fail_invalidate;
|
goto fail_invalidate;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (migrate_colo_enabled() && s->state == MIGRATION_STATUS_ACTIVE) {
|
if (migrate_colo() && s->state == MIGRATION_STATUS_ACTIVE) {
|
||||||
/* COLO does not support postcopy */
|
/* COLO does not support postcopy */
|
||||||
migrate_set_state(&s->state, MIGRATION_STATUS_ACTIVE,
|
migrate_set_state(&s->state, MIGRATION_STATUS_ACTIVE,
|
||||||
MIGRATION_STATUS_COLO);
|
MIGRATION_STATUS_COLO);
|
||||||
|
@ -3431,12 +3431,6 @@ fail:
|
||||||
MIGRATION_STATUS_FAILED);
|
MIGRATION_STATUS_FAILED);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool migrate_colo_enabled(void)
|
|
||||||
{
|
|
||||||
MigrationState *s = migrate_get_current();
|
|
||||||
return s->capabilities[MIGRATION_CAPABILITY_X_COLO];
|
|
||||||
}
|
|
||||||
|
|
||||||
typedef enum MigThrError {
|
typedef enum MigThrError {
|
||||||
/* No error detected */
|
/* No error detected */
|
||||||
MIG_THR_ERR_NONE = 0,
|
MIG_THR_ERR_NONE = 0,
|
||||||
|
@ -3767,7 +3761,7 @@ static void migration_iteration_finish(MigrationState *s)
|
||||||
runstate_set(RUN_STATE_POSTMIGRATE);
|
runstate_set(RUN_STATE_POSTMIGRATE);
|
||||||
break;
|
break;
|
||||||
case MIGRATION_STATUS_COLO:
|
case MIGRATION_STATUS_COLO:
|
||||||
if (!migrate_colo_enabled()) {
|
if (!migrate_colo()) {
|
||||||
error_report("%s: critical error: calling COLO code without "
|
error_report("%s: critical error: calling COLO code without "
|
||||||
"COLO enabled", __func__);
|
"COLO enabled", __func__);
|
||||||
}
|
}
|
||||||
|
@ -3963,7 +3957,7 @@ static void *migration_thread(void *opaque)
|
||||||
qemu_savevm_send_postcopy_advise(s->to_dst_file);
|
qemu_savevm_send_postcopy_advise(s->to_dst_file);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (migrate_colo_enabled()) {
|
if (migrate_colo()) {
|
||||||
/* Notify migration destination that we enable COLO */
|
/* Notify migration destination that we enable COLO */
|
||||||
qemu_savevm_send_colo_enable(s->to_dst_file);
|
qemu_savevm_send_colo_enable(s->to_dst_file);
|
||||||
}
|
}
|
||||||
|
|
|
@ -463,7 +463,6 @@ bool migrate_use_zero_copy_send(void);
|
||||||
int migrate_use_tls(void);
|
int migrate_use_tls(void);
|
||||||
int migrate_use_xbzrle(void);
|
int migrate_use_xbzrle(void);
|
||||||
uint64_t migrate_xbzrle_cache_size(void);
|
uint64_t migrate_xbzrle_cache_size(void);
|
||||||
bool migrate_colo_enabled(void);
|
|
||||||
|
|
||||||
bool migrate_use_block(void);
|
bool migrate_use_block(void);
|
||||||
bool migrate_use_block_incremental(void);
|
bool migrate_use_block_incremental(void);
|
||||||
|
|
|
@ -33,6 +33,12 @@ bool migrate_background_snapshot(void)
|
||||||
return s->capabilities[MIGRATION_CAPABILITY_BACKGROUND_SNAPSHOT];
|
return s->capabilities[MIGRATION_CAPABILITY_BACKGROUND_SNAPSHOT];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool migrate_colo(void)
|
||||||
|
{
|
||||||
|
MigrationState *s = migrate_get_current();
|
||||||
|
return s->capabilities[MIGRATION_CAPABILITY_X_COLO];
|
||||||
|
}
|
||||||
|
|
||||||
bool migrate_dirty_bitmaps(void)
|
bool migrate_dirty_bitmaps(void)
|
||||||
{
|
{
|
||||||
MigrationState *s;
|
MigrationState *s;
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
|
|
||||||
bool migrate_auto_converge(void);
|
bool migrate_auto_converge(void);
|
||||||
bool migrate_background_snapshot(void);
|
bool migrate_background_snapshot(void);
|
||||||
|
bool migrate_colo(void);
|
||||||
bool migrate_dirty_bitmaps(void);
|
bool migrate_dirty_bitmaps(void);
|
||||||
bool migrate_ignore_shared(void);
|
bool migrate_ignore_shared(void);
|
||||||
bool migrate_late_block_activate(void);
|
bool migrate_late_block_activate(void);
|
||||||
|
|
Loading…
Reference in New Issue