On Mon, 2021-06-14 at 07:14 +0200, Philippe Mathieu-Daudé wrote: > Hi Leonardo, > > On 6/9/21 4:45 PM, Dr. David Alan Gilbert (git) wrote: > > From: Leonardo Bras <[email protected]> > > > > After yank feature was introduced in migration, whenever migration > > is started using TLS, the following error happens in both source > > and > > destination hosts: > > > > (qemu) qemu-kvm: ../util/yank.c:107: yank_unregister_instance: > > Assertion `QLIST_EMPTY(&entry->yankfns)' failed. > > > > This happens because of a missing yank_unregister_function() when > > using > > qio-channel-tls. > > > > Fix this by also allowing TYPE_QIO_CHANNEL_TLS object type to > > perform > > yank_unregister_function() in channel_close() and > > multifd_load_cleanup(). > > > > Also, inside migration_channel_connect() and > > migration_channel_process_incoming() move yank_register_function() > > so > > it only runs once on a TLS migration. > > > > Fixes: b5eea99ec2f ("migration: Add yank feature", 2021-01-13) > > Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=1964326 > > Signed-off-by: Leonardo Bras <[email protected]> > > Reviewed-by: Lukas Straub <[email protected]> > > Reviewed-by: Peter Xu <[email protected]> > > > > -- > > Please use the '---' separator, otherwise tools don't strip > out your comments and they end in the repository, adding > confusion. >
Sure, sorry about that. > > Changes since v2: > > - Dropped all references to ioc->master > > - yank_register_function() and yank_unregister_function() now only > > run > > once in a TLS migration. > > > > Changes since v1: > > - Cast p->c to QIOChannelTLS into multifd_load_cleanup() > > Message-Id: <[email protected]> > > > > Signed-off-by: Dr. David Alan Gilbert <[email protected]> > > --- > > migration/channel.c | 26 ++++++++++++++------------ > > migration/multifd.c | 3 ++- > > migration/qemu-file-channel.c | 4 +++- > > 3 files changed, 19 insertions(+), 14 deletions(-)
