mirror of
https://github.com/mii443/qemu.git
synced 2025-09-01 14:49:23 +00:00
migration: Do not call PRECOPY_NOTIFY_SETUP notifiers in case of error
When commit bd2270608f
("migration/ram.c: add a notifier chain for
precopy") added PRECOPY_NOTIFY_SETUP notifiers at the end of
qemu_savevm_state_setup(), it didn't take into account a possible
error in the loop calling vmstate_save() or .save_setup() handlers.
Check ret value before calling the notifiers.
Reviewed-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>
Link: https://lore.kernel.org/r/20240304122844.1888308-10-clg@redhat.com
Signed-off-by: Peter Xu <peterx@redhat.com>
This commit is contained in:
committed by
Peter Xu
parent
ee8bb867ec
commit
e6e08e8323
@ -1317,7 +1317,7 @@ void qemu_savevm_state_setup(QEMUFile *f)
|
|||||||
MigrationState *ms = migrate_get_current();
|
MigrationState *ms = migrate_get_current();
|
||||||
SaveStateEntry *se;
|
SaveStateEntry *se;
|
||||||
Error *local_err = NULL;
|
Error *local_err = NULL;
|
||||||
int ret;
|
int ret = 0;
|
||||||
|
|
||||||
json_writer_int64(ms->vmdesc, "page_size", qemu_target_page_size());
|
json_writer_int64(ms->vmdesc, "page_size", qemu_target_page_size());
|
||||||
json_writer_start_array(ms->vmdesc, "devices");
|
json_writer_start_array(ms->vmdesc, "devices");
|
||||||
@ -1351,6 +1351,10 @@ void qemu_savevm_state_setup(QEMUFile *f)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (ret) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (precopy_notify(PRECOPY_NOTIFY_SETUP, &local_err)) {
|
if (precopy_notify(PRECOPY_NOTIFY_SETUP, &local_err)) {
|
||||||
error_report_err(local_err);
|
error_report_err(local_err);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user