From: Marc-André Lureau Date: Sun, 1 Dec 2013 21:23:42 +0000 (+0100) Subject: nbd: don't change socket block during negotiate X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=e53a18e488c657bbc6f218ae60de8e813a912667;p=qmiga%2Fqemu.git nbd: don't change socket block during negotiate 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é Lureau Acked-by: Paolo Bonzini Signed-off-by: Gerd Hoffmann --- diff --git a/block/nbd-client.c b/block/nbd-client.c index 1abfc6a7f5..693110d26d 100644 --- a/block/nbd-client.c +++ b/block/nbd-client.c @@ -348,6 +348,7 @@ int nbd_client_session_init(NbdClientSession *client, int ret; /* NBD handshake */ + qemu_set_block(sock); ret = nbd_receive_negotiate(sock, client->export_name, &client->nbdflags, &client->size, &client->blocksize); diff --git a/nbd.c b/nbd.c index f847940f3e..030f56b5c7 100644 --- a/nbd.c +++ b/nbd.c @@ -443,7 +443,6 @@ int nbd_receive_negotiate(int csock, const char *name, uint32_t *flags, TRACE("Receiving negotiation."); - qemu_set_block(csock); rc = -EINVAL; if (read_sync(csock, buf, 8) != 8) { @@ -558,7 +557,6 @@ int nbd_receive_negotiate(int csock, const char *name, uint32_t *flags, rc = 0; fail: - qemu_set_nonblock(csock); return rc; }