Message ID | 20240227180345.548960-5-clg@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | migration: Improve error reporting | expand |
On Tue, Feb 27, 2024 at 07:03:28PM +0100, Cédric Le Goater wrote: > When commit bd2270608fa0 ("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. > > Signed-off-by: Cédric Le Goater <clg@redhat.com> Reviewed-by: Peter Xu <peterx@redhat.com>
diff --git a/migration/savevm.c b/migration/savevm.c index d612c8a9020b204d5d078d5df85f0e6449c27645..51876f2ef674bb76c7e7ef96e1119a083883deac 100644 --- a/migration/savevm.c +++ b/migration/savevm.c @@ -1316,7 +1316,7 @@ void qemu_savevm_state_setup(QEMUFile *f) MigrationState *ms = migrate_get_current(); SaveStateEntry *se; Error *local_err = NULL; - int ret; + int ret = 0; json_writer_int64(ms->vmdesc, "page_size", qemu_target_page_size()); json_writer_start_array(ms->vmdesc, "devices"); @@ -1350,6 +1350,10 @@ void qemu_savevm_state_setup(QEMUFile *f) } } + if (ret) { + return; + } + if (precopy_notify(PRECOPY_NOTIFY_SETUP, &local_err)) { error_report_err(local_err); }
When commit bd2270608fa0 ("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. Signed-off-by: Cédric Le Goater <clg@redhat.com> --- migration/savevm.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)