We are going to split connect-thread to separate file. Start from
splitting the callback.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@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