]> git.proxmox.com Git - mirror_qemu.git/blobdiff - nbd/server.c
nbd: Fully initialize client in case of failed negotiation
[mirror_qemu.git] / nbd / server.c
index 924a1fe2dbfc8535bce10e33c5a22b26fb01f2ed..edfda84d4320cf81a0ffa3905656f00083529bdd 100644 (file)
@@ -1376,16 +1376,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);