From: "Dr. David Alan Gilbert" <dgilb...@redhat.com> In postcopy we're going to need to perform the complete phase for postcopiable devices at a different point, start out by renaming all of the 'complete's to make the difference obvious.
Signed-off-by: Dr. David Alan Gilbert <dgilb...@redhat.com> Reviewed-by: Amit Shah <amit.s...@redhat.com> Reviewed-by: Juan Quintela <quint...@redhat.com> --- hw/ppc/spapr.c | 2 +- include/migration/vmstate.h | 2 +- include/sysemu/sysemu.h | 2 +- migration/block.c | 2 +- migration/migration.c | 2 +- migration/ram.c | 2 +- migration/savevm.c | 10 +++++----- trace-events | 2 +- 8 files changed, 12 insertions(+), 12 deletions(-) diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index 7f4f196..cdf9534 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -1528,7 +1528,7 @@ static int htab_load(QEMUFile *f, void *opaque, int version_id) static SaveVMHandlers savevm_htab_handlers = { .save_live_setup = htab_save_setup, .save_live_iterate = htab_save_iterate, - .save_live_complete = htab_save_complete, + .save_live_complete_precopy = htab_save_complete, .load_state = htab_load, }; diff --git a/include/migration/vmstate.h b/include/migration/vmstate.h index 2e5a97d..d0f4451 100644 --- a/include/migration/vmstate.h +++ b/include/migration/vmstate.h @@ -40,7 +40,7 @@ typedef struct SaveVMHandlers { SaveStateHandler *save_state; void (*cancel)(void *opaque); - int (*save_live_complete)(QEMUFile *f, void *opaque); + int (*save_live_complete_precopy)(QEMUFile *f, void *opaque); /* This runs both outside and inside the iothread lock. */ bool (*is_active)(void *opaque); diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h index 3e5c3d1..7fd6c73 100644 --- a/include/sysemu/sysemu.h +++ b/include/sysemu/sysemu.h @@ -89,7 +89,7 @@ void qemu_savevm_state_begin(QEMUFile *f, const MigrationParams *params); void qemu_savevm_state_header(QEMUFile *f); int qemu_savevm_state_iterate(QEMUFile *f); -void qemu_savevm_state_complete(QEMUFile *f); +void qemu_savevm_state_complete_precopy(QEMUFile *f); void qemu_savevm_state_cancel(void); uint64_t qemu_savevm_state_pending(QEMUFile *f, uint64_t max_size); int qemu_loadvm_state(QEMUFile *f); diff --git a/migration/block.c b/migration/block.c index ed865ed..ceae0ab 100644 --- a/migration/block.c +++ b/migration/block.c @@ -877,7 +877,7 @@ static SaveVMHandlers savevm_block_handlers = { .set_params = block_set_params, .save_live_setup = block_save_setup, .save_live_iterate = block_save_iterate, - .save_live_complete = block_save_complete, + .save_live_complete_precopy = block_save_complete, .save_live_pending = block_save_pending, .load_state = block_load, .cancel = block_migration_cancel, diff --git a/migration/migration.c b/migration/migration.c index 9db77ae..ba23a65 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -955,7 +955,7 @@ static void *migration_thread(void *opaque) ret = vm_stop_force_state(RUN_STATE_FINISH_MIGRATE); if (ret >= 0) { qemu_file_set_rate_limit(s->file, INT64_MAX); - qemu_savevm_state_complete(s->file); + qemu_savevm_state_complete_precopy(s->file); } } qemu_mutex_unlock_iothread(); diff --git a/migration/ram.c b/migration/ram.c index 8d0a388..1ae8223 100644 --- a/migration/ram.c +++ b/migration/ram.c @@ -1692,7 +1692,7 @@ static int ram_load(QEMUFile *f, void *opaque, int version_id) static SaveVMHandlers savevm_ram_handlers = { .save_live_setup = ram_save_setup, .save_live_iterate = ram_save_iterate, - .save_live_complete = ram_save_complete, + .save_live_complete_precopy = ram_save_complete, .save_live_pending = ram_save_pending, .load_state = ram_load, .cancel = ram_migration_cancel, diff --git a/migration/savevm.c b/migration/savevm.c index 8254630..e621afd 100644 --- a/migration/savevm.c +++ b/migration/savevm.c @@ -806,19 +806,19 @@ static bool should_send_vmdesc(void) return !machine->suppress_vmdesc; } -void qemu_savevm_state_complete(QEMUFile *f) +void qemu_savevm_state_complete_precopy(QEMUFile *f) { QJSON *vmdesc; int vmdesc_len; SaveStateEntry *se; int ret; - trace_savevm_state_complete(); + trace_savevm_state_complete_precopy(); cpu_synchronize_all_states(); QTAILQ_FOREACH(se, &savevm_state.handlers, entry) { - if (!se->ops || !se->ops->save_live_complete) { + if (!se->ops || !se->ops->save_live_complete_precopy) { continue; } if (se->ops && se->ops->is_active) { @@ -830,7 +830,7 @@ void qemu_savevm_state_complete(QEMUFile *f) save_section_header(f, se, QEMU_VM_SECTION_END); - ret = se->ops->save_live_complete(f, se->opaque); + ret = se->ops->save_live_complete_precopy(f, se->opaque); trace_savevm_section_end(se->idstr, se->section_id, ret); save_section_footer(f, se); if (ret < 0) { @@ -941,7 +941,7 @@ static int qemu_savevm_state(QEMUFile *f, Error **errp) ret = qemu_file_get_error(f); if (ret == 0) { - qemu_savevm_state_complete(f); + qemu_savevm_state_complete_precopy(f); ret = qemu_file_get_error(f); } if (ret != 0) { diff --git a/trace-events b/trace-events index 25c53e0..cec51f6 100644 --- a/trace-events +++ b/trace-events @@ -1203,7 +1203,7 @@ savevm_section_skip(const char *id, unsigned int section_id) "%s, section_id %u" savevm_state_begin(void) "" savevm_state_header(void) "" savevm_state_iterate(void) "" -savevm_state_complete(void) "" +savevm_state_complete_precopy(void) "" savevm_state_cancel(void) "" vmstate_save(const char *idstr, const char *vmsd_name) "%s, %s" vmstate_load(const char *idstr, const char *vmsd_name) "%s, %s" -- 2.5.0