From 1df6ddb43b48eacf5e1c7f63f48b507716150e6f Mon Sep 17 00:00:00 2001 From: "Dr. David Alan Gilbert" Date: Wed, 21 Apr 2021 12:28:32 +0100 Subject: [PATCH] migration: Add cleanup hook for inwards migration MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add a cleanup hook for incoming migration that gets called at the end as a way for a transport to allow cleanup. Signed-off-by: Dr. David Alan Gilbert Reviewed-by: Daniel P. Berrangé Message-Id: <20210421112834.107651-4-dgilbert@redhat.com> Signed-off-by: Dr. David Alan Gilbert --- migration/migration.c | 3 +++ migration/migration.h | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/migration/migration.c b/migration/migration.c index 1885860d7b..393299e150 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -280,6 +280,9 @@ void migration_incoming_state_destroy(void) g_array_free(mis->postcopy_remote_fds, TRUE); mis->postcopy_remote_fds = NULL; } + if (mis->transport_cleanup) { + mis->transport_cleanup(mis->transport_data); + } qemu_event_reset(&mis->main_thread_load_event); diff --git a/migration/migration.h b/migration/migration.h index b88bd8fe07..2ebb740dfa 100644 --- a/migration/migration.h +++ b/migration/migration.h @@ -49,6 +49,10 @@ struct PostcopyBlocktimeContext; struct MigrationIncomingState { QEMUFile *from_src_file; + /* A hook to allow cleanup at the end of incoming migration */ + void *transport_data; + void (*transport_cleanup)(void *data); + /* * Free at the start of the main state load, set as the main thread finishes * loading state.