]> Git Repo - qemu.git/blobdiff - nbd/server.c
nbd: Fully initialize client in case of failed negotiation
[qemu.git] / nbd / server.c
index ee59e5d23476680589e2324a00a28732066536c7..49b55f6ede197ccd26716450fe7232f8f7e9ade1 100644 (file)
@@ -1358,16 +1358,14 @@ static coroutine_fn void nbd_co_client_start(void *opaque)
 
     if (exp) {
         nbd_export_get(exp);
+        QTAILQ_INSERT_TAIL(&exp->clients, client, next);
     }
+    qemu_co_mutex_init(&client->send_lock);
+
     if (nbd_negotiate(data)) {
         client_close(client);
         goto out;
     }
-    qemu_co_mutex_init(&client->send_lock);
-
-    if (exp) {
-        QTAILQ_INSERT_TAIL(&exp->clients, client, next);
-    }
 
     nbd_client_receive_next_request(client);
 
This page took 0.023432 seconds and 4 git commands to generate.