Rename save_live_complete to save_live_complete_precopy
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 <dgilbert@redhat.com> Reviewed-by: Amit Shah <amit.shah@redhat.com> Reviewed-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Juan Quintela <quintela@redhat.com>
This commit is contained in:
parent
aefeb18bde
commit
a3e06c3d13
@ -1588,7 +1588,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,
|
||||
};
|
||||
|
||||
|
@ -40,7 +40,7 @@ typedef struct SaveVMHandlers {
|
||||
SaveStateHandler *save_state;
|
||||
|
||||
void (*cleanup)(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);
|
||||
|
@ -89,8 +89,8 @@ 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_cleanup(void);
|
||||
void qemu_savevm_state_complete_precopy(QEMUFile *f);
|
||||
uint64_t qemu_savevm_state_pending(QEMUFile *f, uint64_t max_size);
|
||||
int qemu_loadvm_state(QEMUFile *f);
|
||||
|
||||
|
@ -876,7 +876,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,
|
||||
.cleanup = block_migration_cleanup,
|
||||
|
@ -994,7 +994,7 @@ static void migration_completion(MigrationState *s, bool *old_vm_running,
|
||||
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();
|
||||
|
@ -1700,7 +1700,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,
|
||||
.cleanup = ram_migration_cleanup,
|
||||
|
@ -807,19 +807,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) {
|
||||
@ -831,7 +831,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) {
|
||||
@ -942,7 +942,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) {
|
||||
|
@ -1210,8 +1210,8 @@ 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_cleanup(void) ""
|
||||
savevm_state_complete_precopy(void) ""
|
||||
vmstate_save(const char *idstr, const char *vmsd_name) "%s, %s"
|
||||
vmstate_load(const char *idstr, const char *vmsd_name) "%s, %s"
|
||||
qemu_announce_self_iter(const char *mac) "%s"
|
||||
|
Loading…
Reference in New Issue
Block a user