From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38748) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1evi3E-0000so-76 for qemu-devel@nongnu.org; Tue, 13 Mar 2018 07:25:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1evi3B-0002Lb-1R for qemu-devel@nongnu.org; Tue, 13 Mar 2018 07:25:04 -0400 Received: from mx3-rdu2.redhat.com ([66.187.233.73]:59728 helo=mx1.redhat.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1evi3A-0002L0-RW for qemu-devel@nongnu.org; Tue, 13 Mar 2018 07:25:00 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id DAF228182D16 for ; Tue, 13 Mar 2018 11:24:55 +0000 (UTC) Date: Tue, 13 Mar 2018 11:24:50 +0000 From: "Dr. David Alan Gilbert" Message-ID: <20180313112450.GD3545@work-vm> References: <20180312141714.7223-1-berrange@redhat.com> <20180313092053.GA3545@work-vm> <20180313110652.GS3048@redhat.com> <92106b88-98f4-cc19-95f0-5d59020c2357@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline In-Reply-To: <92106b88-98f4-cc19-95f0-5d59020c2357@redhat.com> Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH for-2.12 REPOST] migration: convert socket server to QIONetListener List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: Daniel =?iso-8859-1?Q?P=2E_Berrang=E9?= , Juan Quintela , qemu-devel@nongnu.org * Paolo Bonzini (pbonzini@redhat.com) wrote: > On 13/03/2018 12:06, Daniel P. Berrang=E9 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 =3D qio_channel_socket_new(); > >>>> + QIONetListener *listener =3D qio_net_listener_new(); > >>>> =20 > >>>> - qio_channel_set_name(QIO_CHANNEL(listen_ioc), > >>>> - "migration-socket-listener"); > >>>> + qio_net_listener_set_name(listener, "migration-socket-listene= r"); > >>>> =20 > >>>> - 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; > >>>> } > >>>> =20 > >>>> - 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_migra= tion, > >>>> + NULL, NULL); > >>>> } > >>>> =20 > >>>> void tcp_start_incoming_migration(const char *host_port, Error **= errp) > >>>> --=20 > >>>> 2.14.3 > >>>> > >>> -- > >>> Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK > >>> > >> > >> Could this get in 2.12 as a bugfix, even after soft freeze? It's th= e > >> last user of qio_channel_listen_sync that blocks full IPv4/IPv6 supp= ort. > >> All other users are for vsock/AF_UNIX. > >=20 > > 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 groun= ds > > that it is fixing broken IPv4/6 dual stack support. >=20 > It is certainly a feature, but when only one listener remains broken > then it becomes more of a bugfix. Sounds reasonable to me. Dave > Paolo -- Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK