]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/qemu-xen.git/commitdiff
nbd: client_close on error in nbd_co_client_start
authorMax Reitz <mreitz@redhat.com>
Mon, 25 Jan 2016 18:41:08 +0000 (19:41 +0100)
committerMax Reitz <mreitz@redhat.com>
Tue, 2 Feb 2016 16:49:42 +0000 (17:49 +0100)
Use client_close() if an error in nbd_co_client_start() occurs instead
of manually inlining parts of it. This fixes an assertion error on the
server side if nbd_negotiate() fails.

Signed-off-by: Max Reitz <mreitz@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
nbd/server.c

index 256feafcece51b3e89f633da715473af4b7f0968..7fa7f53768237cea2b72b813c7fb9acebc7faaf5 100644 (file)
@@ -1082,8 +1082,7 @@ static coroutine_fn void nbd_co_client_start(void *opaque)
         nbd_export_get(exp);
     }
     if (nbd_negotiate(data)) {
-        shutdown(client->sock, 2);
-        client->close(client);
+        client_close(client);
         goto out;
     }
     qemu_co_mutex_init(&client->send_lock);