Commit d3780c2d authored by Max Reitz's avatar Max Reitz
Browse files

nbd: client_close on error in nbd_co_client_start



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: default avatarMax Reitz <mreitz@redhat.com>
Acked-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
Reviewed-by: default avatarEric Blake <eblake@redhat.com>
Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
parent cc8c46b7
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -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);