From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:40707) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VsUWd-0006De-Jy for qemu-devel@nongnu.org; Mon, 16 Dec 2013 04:31:49 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VsUWU-0002AZ-7G for qemu-devel@nongnu.org; Mon, 16 Dec 2013 04:31:43 -0500 Received: from mx1.redhat.com ([209.132.183.28]:61575) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VsUWT-0002A8-UI for qemu-devel@nongnu.org; Mon, 16 Dec 2013 04:31:34 -0500 Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id rBG9VXup027528 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Mon, 16 Dec 2013 04:31:33 -0500 From: Gerd Hoffmann Date: Mon, 16 Dec 2013 10:31:10 +0100 Message-Id: <1387186277-9573-10-git-send-email-kraxel@redhat.com> In-Reply-To: <1387186277-9573-1-git-send-email-kraxel@redhat.com> References: <1387186277-9573-1-git-send-email-kraxel@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] [PATCH 09/16] nbd: don't change socket block during negotiate List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Kevin Wolf , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Gerd Hoffmann , Stefan Hajnoczi , Paolo Bonzini From: Marc-Andr=C3=A9 Lureau The caller might handle non-blocking using coroutine. Leave the choice to the caller to use a blocking or non-blocking negotiate. Signed-off-by: Marc-Andr=C3=A9 Lureau Acked-by: Paolo Bonzini Signed-off-by: Gerd Hoffmann --- block/nbd-client.c | 1 + nbd.c | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/block/nbd-client.c b/block/nbd-client.c index 1abfc6a..693110d 100644 --- a/block/nbd-client.c +++ b/block/nbd-client.c @@ -348,6 +348,7 @@ int nbd_client_session_init(NbdClientSession *client, int ret; =20 /* NBD handshake */ + qemu_set_block(sock); ret =3D nbd_receive_negotiate(sock, client->export_name, &client->nbdflags, &client->size, &client->blocksize); diff --git a/nbd.c b/nbd.c index f847940..030f56b 100644 --- a/nbd.c +++ b/nbd.c @@ -443,7 +443,6 @@ int nbd_receive_negotiate(int csock, const char *name= , uint32_t *flags, =20 TRACE("Receiving negotiation."); =20 - qemu_set_block(csock); rc =3D -EINVAL; =20 if (read_sync(csock, buf, 8) !=3D 8) { @@ -558,7 +557,6 @@ int nbd_receive_negotiate(int csock, const char *name= , uint32_t *flags, rc =3D 0; =20 fail: - qemu_set_nonblock(csock); return rc; } =20 --=20 1.8.3.1