diff options
| author | Peter Maydell <peter.maydell@linaro.org> | 2021-06-09 16:40:21 +0100 |
|---|---|---|
| committer | Peter Maydell <peter.maydell@linaro.org> | 2021-06-09 16:40:21 +0100 |
| commit | 7fe7fae8b48e3f9c647fd685e5155ebc8e6fb84d (patch) | |
| tree | 1610dad29b044c9e4fbedaa14faab8421d5c50b3 /migration/multifd.c | |
| parent | a4716fd8d7c877185652f5f8e25032dc7699d51b (diff) | |
| parent | a4a571d97866d056787d7a654be5792765be8a60 (diff) | |
| download | focaccia-qemu-7fe7fae8b48e3f9c647fd685e5155ebc8e6fb84d.tar.gz focaccia-qemu-7fe7fae8b48e3f9c647fd685e5155ebc8e6fb84d.zip | |
Merge remote-tracking branch 'remotes/dgilbert-gitlab/tags/pull-migration-20210609a' into staging
Migration pull for 2021-06-09 Yank crash fix from Leo RDMA fix from Li mptcp support from me dirty-rate changes from Hyman and Peter (Note I've switched to the gitlab I've been using for virtiofs pulls) Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com> # gpg: Signature made Wed 09 Jun 2021 15:40:01 BST # gpg: using RSA key 45F5C71B4A0CB7FB977A9FA90516331EBC5BFDE7 # gpg: Good signature from "Dr. David Alan Gilbert (RH2) <dgilbert@redhat.com>" [full] # Primary key fingerprint: 45F5 C71B 4A0C B7FB 977A 9FA9 0516 331E BC5B FDE7 * remotes/dgilbert-gitlab/tags/pull-migration-20210609a: hmp: Add "calc_dirty_rate" and "info dirty_rate" cmds migration/dirtyrate: make sample page count configurable sockets: Support multipath TCP migration/socket: Close the listener at the end migration: Add cleanup hook for inwards migration io/net-listener: Call the notifier during finalize channel-socket: Only set CLOEXEC if we have space for fds migration/rdma: Fix cm event use after free yank: Unregister function when using TLS migration Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'migration/multifd.c')
| -rw-r--r-- | migration/multifd.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/migration/multifd.c b/migration/multifd.c index 0a4803cfcc..ab41590e71 100644 --- a/migration/multifd.c +++ b/migration/multifd.c @@ -987,7 +987,8 @@ int multifd_load_cleanup(Error **errp) for (i = 0; i < migrate_multifd_channels(); i++) { MultiFDRecvParams *p = &multifd_recv_state->params[i]; - if (object_dynamic_cast(OBJECT(p->c), TYPE_QIO_CHANNEL_SOCKET) + if ((object_dynamic_cast(OBJECT(p->c), TYPE_QIO_CHANNEL_SOCKET) || + object_dynamic_cast(OBJECT(p->c), TYPE_QIO_CHANNEL_TLS)) && OBJECT(p->c)->ref == 1) { yank_unregister_function(MIGRATION_YANK_INSTANCE, migration_yank_iochannel, @@ -1165,6 +1166,11 @@ bool multifd_recv_all_channels_created(void) return true; } + if (!multifd_recv_state) { + /* Called before any connections created */ + return false; + } + return thread_count == qatomic_read(&multifd_recv_state->count); } |