This is a small series that reworks error handling of postcopy return path threads.
We used to contain a bunch of error_report(), converting them into error_setg() properly and deliver any of those errors to migration generic error reports (via migrate_set_error()). Then these errors can also be observed in query-migrate after postcopy is paused. Dropped the return-path specific error reporting: mark_source_rp_bad(), because it's a duplication if we can always use migrate_set_error(). Please have a look, thanks. Peter Xu (7): migration: Let migrate_set_error() take ownership migration: Introduce migrate_has_error() migration: Refactor error handling in source return path migration: Deliver return path file error to migrate state too migration: Display error in query-migrate irrelevant of status qemufile: Always return a verbose error migration: Provide explicit error message for file shutdowns migration/migration.h | 8 +- migration/ram.h | 5 +- migration/channel.c | 1 - migration/migration.c | 168 +++++++++++++++++++++++---------------- migration/multifd.c | 10 +-- migration/postcopy-ram.c | 1 - migration/qemu-file.c | 20 ++++- migration/ram.c | 42 +++++----- migration/trace-events | 2 +- 9 files changed, 147 insertions(+), 110 deletions(-) -- 2.41.0