On Wed, May 26, 2021 at 05:05:40PM -0300, Leonardo Bras wrote:
> After yank feature was introduced, 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().
> 
> Fixes: 50186051f ("Introduce yank feature")
> Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=1964326
> Signed-off-by: Leonardo Bras <leobra...@gmail.com>

Leo,

Thanks for looking into it!

So before looking int the fix... I do have a doubt on why we only enable yank
on socket typed, as I think tls should also work with qio_channel_shutdown().

IIUC the confused thing here is we register only for qio-socket, however tls
will actually call migration_channel_connect() twice, first with a qio-socket,
then with the real tls-socket.  For tls I feel like we have registered with the
wrong channel - instead of the wrapper socket ioc, we should register to the
final tls ioc?

Lukas, is there a reason?

-- 
Peter Xu


Reply via email to