----- Original Message ----- > Il 30/11/2013 16:49, Marc-André Lureau ha scritto: > > So you suggest this block/unblock: (I haven't reviewed all callers of > > unix_connect_opts(), I am not sure that's what you meant) Other option > > would be to move the nonblock to unix_socket_outgoing. > > > > 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; > > > > /* NBD handshake */ > > + qemu_set_block(sock); > > ret = nbd_receive_negotiate(sock, client->export_name, > > &client->nbdflags, &client->size, > > &client->blocksize); > > Also > > qemu_set_nonblock(sock); > > here,
It's already a few lines below. > and remove it from nbd_receive_negotiate. > I checked again and you need not touch unix_connect_opts, nor > nbd_client_thread. Ok, I'll remove those.