qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-block] [Qemu-devel] [PATCH] util: remove the obsolete non-bloc


From: Mao Zhongyi
Subject: Re: [Qemu-block] [Qemu-devel] [PATCH] util: remove the obsolete non-blocking connect
Date: Fri, 16 Jun 2017 13:43:07 +0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0



On 06/16/2017 08:21 AM, Fam Zheng wrote:
On Thu, 06/15 11:08, Mao Zhongyi wrote:
From: Cao jin <address@hidden>

The non-blocking connect mechanism is obsolete, and it doesn't
work well in inet connection, because it will call getaddrinfo
first and getaddrinfo will blocks on DNS lookups. Since commit
e65c67e4 & d984464e, the non-blocking connect of migration goes
through QIOChannel in a different manner(using a thread), and
nobody use this old non-blocking connect anymore.

Any newly written code which needs a non-blocking connect should
use the QIOChannel code, so we can drop NonBlockingConnectHandler
as a concept entirely.

Cc: address@hidden
Cc: address@hidden
Cc: address@hidden
Cc: address@hidden
Cc: address@hidden
Cc: address@hidden
Cc: address@hidden
Cc: address@hidden
Cc: address@hidden
Cc: address@hidden
Suggested-by: Daniel P. Berrange <address@hidden>
Signed-off-by: Cao jin <address@hidden>
Signed-off-by: Mao Zhongyi <address@hidden>
---
This patch was reviewed by Daniel about a years ago, but it has never
been merged just since socket_connect() called by net_socket_connect_init()
where NonBlockingConnectHandler was passed to socket_connect(). it's broken.

Now this problem was worked around by Daniel's patch(commit 6701e551 'Revert
"Change net/socket.c to use socket_*() functions" again'). Therefore, resend
it, of course, part of related code has changed over the years, so changed
the patch accordingly.

The reviewed patch listed on:
https://lists.gnu.org/archive/html/qemu-devel/2016-07/msg06373.html

 block/sheepdog.c       |   2 +-
 include/qemu/sockets.h |   9 +--
 io/channel-socket.c    |   2 +-
 util/qemu-sockets.c    | 198 ++++++-------------------------------------------

As pointed out by patchew, looks like you forgot to update block/ssh.c.

Fam

Hi, Fam

Yes, I have noticed that, but only because the package libssh2-devel missed
in my system which leads to no error reported when I run make & make check.
Now find the reason, so it will be fixed in next version.

Thanks
Mao

















reply via email to

[Prev in Thread] Current Thread [Next in Thread]