Peter Xu <pet...@redhat.com> writes: > rp_state.error was a boolean used to show error happened in return path > thread. That's not only duplicating error reporting (migrate_set_error), > but also not good enough in that we only do error_report() and set it to > true, we never can keep a history of the exact error and show it in > query-migrate. > > To make this better, a few things done: > > - Use error_setg() rather than error_report() across the whole lifecycle > of return path thread, keeping the error in an Error*. > > - With above, no need to have mark_source_rp_bad(), remove it, alongside > with rp_state.error itself. > > - Use migrate_set_error() to apply that captured error to the global > migration object when error occured in this thread. > > - Do the same when detected qemufile error in source return path > > We need to re-export qemu_file_get_error_obj() to do the last one. > > Signed-off-by: Peter Xu <pet...@redhat.com>
Reviewed-by: Fabiano Rosas <faro...@suse.de>