Hi everyone, Currently, in QEMU, whenever a migration fails, its state is set to MIGRATION_STATUS_FAILED via the function migrate_set_state. However, there are places in the code where the migration is marked as a failed migration; however, the error description is never updated in the migration state object. This causes problems when libvirt tries to query for the status of the migration via a query-migrate; it never receives an error description and hence reports the error as "unexpectedly failed". This doesn't give us any information about what actually went wrong with the migration.
An approach to solve this problem, which this patch explores, is to update the migration errors through migrate_set_error, whenever the migration state is updated to MIGRATION_STATUS_FAILED. However, sometimes these error descriptions can be due to various reasons or be too vague. An alternative approach to tackle this is to update the error description from the point where the error actually occurred. For instance, an error which occurs while saving the vmstate in the function vmstate_save_state_v in the file migration/vmstate.c, results in a failed migration, hence the error description can be updated here itself, rather than updating it in the function migration_completion, present in migration/migration.c. tejus.gk (1): migration: Update error description whenever migration fails migration/migration.c | 8 ++++++++ 1 file changed, 8 insertions(+) -- 2.22.3