From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42495) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z4UUq-0002mQ-6f for qemu-devel@nongnu.org; Mon, 15 Jun 2015 09:32:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z4UUm-0002qN-Sz for qemu-devel@nongnu.org; Mon, 15 Jun 2015 09:32:16 -0400 Received: from mx1.redhat.com ([209.132.183.28]:33540) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z4UUm-0002qH-O3 for qemu-devel@nongnu.org; Mon, 15 Jun 2015 09:32:12 -0400 Date: Mon, 15 Jun 2015 14:32:09 +0100 From: Stefan Hajnoczi Message-ID: <20150615133209.GA9410@stefanha-thinkpad.redhat.com> References: <1432538908-26298-5-git-send-email-mukawa@igel.co.jp> <1432874550-10921-1-git-send-email-mukawa@igel.co.jp> <1432874550-10921-2-git-send-email-mukawa@igel.co.jp> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="liOOAslEiF7prFVr" Content-Disposition: inline In-Reply-To: <1432874550-10921-2-git-send-email-mukawa@igel.co.jp> Subject: Re: [Qemu-devel] [PATCH v1 1/4] vhost-user: Add ability to know vhost-user backend disconnection List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Tetsuya Mukawa Cc: Paolo Bonzini , jasowang@redhat.com, qemu-devel@nongnu.org, n.nikolaev@virtualopensystems.com --liOOAslEiF7prFVr Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, May 29, 2015 at 01:42:27PM +0900, Tetsuya Mukawa wrote: > Current QEMU cannot detect vhost-user backend disconnection. The > patch adds ability to know it. > To know disconnection, add watcher to detect G_IO_HUP event. When > G_IO_HUP event is detected, the disconnected socket will be read > to cause a CHR_EVENT_CLOSED. >=20 > Signed-off-by: Tetsuya Mukawa > --- > net/vhost-user.c | 14 ++++++++++++++ > 1 file changed, 14 insertions(+) It is unfortunate that qemu-chr.c doesn't have a built-in way to handle G_IO_HUP and raise the CHR_EVENT_CLOSED event. This is not really specific to vhost-user. CCing Paolo Bonzini (Character Devices). He is currently on vacation so let's not hold up this patch. It can be made generic later, if necessary. > diff --git a/net/vhost-user.c b/net/vhost-user.c > index 11899c5..1967ff4 100644 > --- a/net/vhost-user.c > +++ b/net/vhost-user.c > @@ -19,6 +19,7 @@ typedef struct VhostUserState { > NetClientState nc; > CharDriverState *chr; > VHostNetState *vhost_net; > + int watch; > } VhostUserState; > =20 > typedef struct VhostUserChardevProps { > @@ -113,12 +114,23 @@ static void net_vhost_link_down(VhostUserState *s, = bool link_down) > } > } > =20 > +static gboolean net_vhost_user_watch(GIOChannel *chan, GIOCondition cond, > + void *opaque) > +{ > + VhostUserState *s =3D opaque; > + uint8_t buf[1]; > + > + qemu_chr_fe_read_all(s->chr, buf, sizeof(buf)); > + return FALSE; > +} If you respin this patch, please add a comment like: /* We don't actually want to read anything, but CHR_EVENT_CLOSED will be * raised as a side-effect of the read. */ --liOOAslEiF7prFVr Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQEcBAEBAgAGBQJVftPZAAoJEJykq7OBq3PIDAwH/01Vw1OBUpfdPcvkrEwBx2+r /rx/dPIX9ULYz1TlhPE/haeqZlShrZ8cTTr2CpamCmAXkGhkZ9ltEemJRVrqhJMZ pZq5HobgKQRCm6ovgLsNP3zxQ9TELvwG5QSkM5v5CGGYhq4V/We9aJGaZS78dxST 6kCmm9utB2gvkPuvL0GnV4KuOrz4rEQG75wQwS/5bAyhxKTOoWRvPKXEBSNFv4dw kmhHUNq3ElFTUUjJA6DKQIWDg8NctKb94a8VwG+riopy/Wx1LK05TbM4s6KUtTqi VUlQHJENgZZEgwVfqL1hoGwCd1ss42qLaundEaAQ7m0v9VCGHo4gzK64+wx1SW0= =ULkQ -----END PGP SIGNATURE----- --liOOAslEiF7prFVr--