[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 1/1] yank: Unregister function when using TLS migration
From: |
Leonardo Brás |
Subject: |
Re: [PATCH v3 1/1] yank: Unregister function when using TLS migration |
Date: |
Tue, 01 Jun 2021 17:49:09 -0300 |
User-agent: |
Evolution 3.40.1 |
On Tue, 2021-06-01 at 10:50 -0400, Peter Xu wrote:
> On Tue, Jun 01, 2021 at 02:40:31AM -0300, Leonardo Bras wrote:
> > [...]
> > inside migration_channel_connect() and
> > migration_channel_process_incoming() move yank_register_function()
> > so
> > it only runs once on a TLS migration.
>
> Slightly inaccurate I guess, as it was run once too before this
> patch, but not
> paired for tls?
Yeah, I think I got confused over this:
I remembered having multiple instances of yank_register_function()
during TLS migration on qemu.org/master, but after re-testing it, I
think it was in fact something to do with V1 and V2.
So, yes, that's correct, in qemu.org/master there was a single
yank_register_function() and no pairing yank_unregister_function()
during TLS migration.
>
> IIUC when we call the 2nd time at below chunk we won't register
> again:
>
> if (object_dynamic_cast(OBJECT(ioc),
> TYPE_QIO_CHANNEL_SOCKET)) {
> yank_register_function(MIGRATION_YANK_INSTANCE,
> migration_yank_iochannel,
> QIO_CHANNEL(ioc));
> }
>
> Because the 2nd call will be TYPE_QIO_CHANNEL_TLS, so
> object_dynamic_cast()
> will return with a failure, I think (note, TYPE_QIO_CHANNEL_TLS's
> parent is
> TYPE_QIO_CHANNEL, not TYPE_QIO_CHANNEL_SOCKET).
>
> >
> > Fixes: b5eea99ec2f ("migration: Add yank feature", 2021-01-13)
> > Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=1964326
> > Signed-off-by: Leonardo Bras <leobras.c@gmail.com>
>
> Reviewed-by: Peter Xu <peterx@redhat.com>
>
> Thanks Leo!
Thank you Peter!