Skip to content

Commit

Permalink
migration: Fix possible race when setting rp_state.error
Browse files Browse the repository at this point in the history
We don't need to set the rp_state.error right after a shutdown because
qemu_file_shutdown() always sets the QEMUFile error, so the return
path thread would have seen it and set the rp error itself.

Setting the error outside of the thread is also racy because the
thread could clear it after we set it.

Reviewed-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Fabiano Rosas <farosas@suse.de>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-ID: <20230918172822.19052-3-farosas@suse.de>
(cherry picked from commit 28a8347)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
  • Loading branch information
Fabiano Rosas authored and Michael Tokarev committed Oct 2, 2023
1 parent 0b246f8 commit cc3a334
Showing 1 changed file with 0 additions and 1 deletion.
1 change: 0 additions & 1 deletion migration/migration.c
Original file line number Diff line number Diff line change
Expand Up @@ -2063,7 +2063,6 @@ static int await_return_path_close_on_source(MigrationState *ms)
* waiting for the destination.
*/
qemu_file_shutdown(ms->rp_state.from_dst_file);
mark_source_rp_bad(ms);
}
trace_await_return_path_close_on_source_joining();
qemu_thread_join(&ms->rp_state.rp_thread);
Expand Down

0 comments on commit cc3a334

Please sign in to comment.