We are going to split connect-thread to separate file. Start from splitting the callback.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> --- block/nbd.c | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/block/nbd.c b/block/nbd.c index fbf5154048..a9d351cbbc 100644 --- a/block/nbd.c +++ b/block/nbd.c @@ -385,20 +385,11 @@ static void nbd_free_connect_thread(NBDConnectThread *thr) g_free(thr); } -static void *connect_thread_func(void *opaque) +static void connect_thread_cb(int ret, void *opaque) { NBDConnectThread *thr = opaque; - int ret; bool do_free = false; - thr->sioc = qio_channel_socket_new(); - - ret = qio_channel_socket_connect_sync(thr->sioc, thr->saddr, NULL); - if (ret < 0) { - object_unref(OBJECT(thr->sioc)); - thr->sioc = NULL; - } - qemu_mutex_lock(&thr->mutex); switch (thr->state) { @@ -423,6 +414,22 @@ static void *connect_thread_func(void *opaque) if (do_free) { nbd_free_connect_thread(thr); } +} + +static void *connect_thread_func(void *opaque) +{ + NBDConnectThread *thr = opaque; + int ret; + + thr->sioc = qio_channel_socket_new(); + + ret = qio_channel_socket_connect_sync(thr->sioc, thr->saddr, NULL); + if (ret < 0) { + object_unref(OBJECT(thr->sioc)); + thr->sioc = NULL; + } + + connect_thread_cb(ret, thr); return NULL; } -- 2.29.2