mirror of https://github.com/xemu-project/xemu.git
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: 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>
This commit is contained in:
parent
cc8c46b7c5
commit
d3780c2dce
|
@ -1082,8 +1082,7 @@ static coroutine_fn void nbd_co_client_start(void *opaque)
|
||||||
nbd_export_get(exp);
|
nbd_export_get(exp);
|
||||||
}
|
}
|
||||||
if (nbd_negotiate(data)) {
|
if (nbd_negotiate(data)) {
|
||||||
shutdown(client->sock, 2);
|
client_close(client);
|
||||||
client->close(client);
|
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
qemu_co_mutex_init(&client->send_lock);
|
qemu_co_mutex_init(&client->send_lock);
|
||||||
|
|
Loading…
Reference in New Issue