qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH for-2.12 REPOST] migration: convert socket serve


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH for-2.12 REPOST] migration: convert socket server to QIONetListener
Date: Tue, 13 Mar 2018 12:19:38 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0

On 13/03/2018 12:06, Daniel P. Berrangé wrote:
> On Tue, Mar 13, 2018 at 11:57:17AM +0100, Paolo Bonzini wrote:
>> On 13/03/2018 10:20, Dr. David Alan Gilbert wrote:
>>>>  static void socket_start_incoming_migration(SocketAddress *saddr,
>>>>                                              Error **errp)
>>>>  {
>>>> -    QIOChannelSocket *listen_ioc = qio_channel_socket_new();
>>>> +    QIONetListener *listener = qio_net_listener_new();
>>>>  
>>>> -    qio_channel_set_name(QIO_CHANNEL(listen_ioc),
>>>> -                         "migration-socket-listener");
>>>> +    qio_net_listener_set_name(listener, "migration-socket-listener");
>>>>  
>>>> -    if (qio_channel_socket_listen_sync(listen_ioc, saddr, errp) < 0) {
>>>> -        object_unref(OBJECT(listen_ioc));
>>>> +    if (qio_net_listener_open_sync(listener, saddr, errp) < 0) {
>>>> +        object_unref(OBJECT(listener));
>>>>          return;
>>>>      }
>>>>  
>>>> -    qio_channel_add_watch(QIO_CHANNEL(listen_ioc),
>>>> -                          G_IO_IN,
>>>> -                          socket_accept_incoming_migration,
>>>> -                          listen_ioc,
>>>> -                          (GDestroyNotify)object_unref);
>>>> +    qio_net_listener_set_client_func(listener,
>>>> +                                     socket_accept_incoming_migration,
>>>> +                                     NULL, NULL);
>>>>  }
>>>>  
>>>>  void tcp_start_incoming_migration(const char *host_port, Error **errp)
>>>> -- 
>>>> 2.14.3
>>>>
>>> --
>>> Dr. David Alan Gilbert / address@hidden / Manchester, UK
>>>
>>
>> Could this get in 2.12 as a bugfix, even after soft freeze?  It's the
>> last user of qio_channel_listen_sync that blocks full IPv4/IPv6 support.
>>  All other users are for vsock/AF_UNIX.
> 
> I had been thinking of all this conversion as feature, but I guess if we
> squint our eyes a bit we could claim it is just a bugfix on the grounds
> that it is fixing broken IPv4/6 dual stack support.

It is certainly a feature, but when only one listener remains broken
then it becomes more of a bugfix.

Paolo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]