[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 4/7] migration: Deliver return path file error to migrate state t
From: |
Peter Xu |
Subject: |
[PATCH 4/7] migration: Deliver return path file error to migrate state too |
Date: |
Wed, 28 Jun 2023 17:49:59 -0400 |
We've already did this for most of the return path thread errors, but not
yet for the IO errors happened on the return path qemufile. Do that too.
Remember to reset "err" always, because the ownership is not us anymore,
otherwise we're prone to use-after-free later after recovered.
Signed-off-by: Peter Xu <peterx@redhat.com>
---
migration/migration.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/migration/migration.c b/migration/migration.c
index f8c41c4d98..234dd3601d 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -1992,6 +1992,13 @@ out:
res = qemu_file_get_error(rp);
if (res) {
+ /* We have forwarded any error in "err" already, reuse "error" */
+ assert(err == NULL);
+ /* Try to deliver this file error to migration state */
+ qemu_file_get_error_obj(rp, &err);
+ migrate_set_error(ms, err);
+ err = NULL;
+
if (res && migration_in_postcopy()) {
/*
* Maybe there is something we can do: it looks like a
--
2.41.0
- [PATCH 0/7] migration: Better error handling in return path thread, Peter Xu, 2023/06/28
- [PATCH 1/7] migration: Let migrate_set_error() take ownership, Peter Xu, 2023/06/28
- [PATCH 2/7] migration: Introduce migrate_has_error(), Peter Xu, 2023/06/28
- [PATCH 4/7] migration: Deliver return path file error to migrate state too,
Peter Xu <=
- [PATCH 3/7] migration: Refactor error handling in source return path, Peter Xu, 2023/06/28
- [PATCH 6/7] qemufile: Always return a verbose error, Peter Xu, 2023/06/28
- [PATCH 5/7] migration: Display error in query-migrate irrelevant of status, Peter Xu, 2023/06/28
- [PATCH 7/7] migration: Provide explicit error message for file shutdowns, Peter Xu, 2023/06/28