On 25.01.2016 23:05, Daniel P. Berrange wrote: > On Mon, Jan 25, 2016 at 07:41:08PM +0100, Max Reitz wrote: >> 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 <mre...@redhat.com> >> --- >> nbd/server.c | 3 +-- >> 1 file changed, 1 insertion(+), 2 deletions(-) >> >> diff --git a/nbd/server.c b/nbd/server.c >> index 2265cb0..5169b59 100644 >> --- a/nbd/server.c >> +++ b/nbd/server.c >> @@ -1080,8 +1080,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); > > The same as my fix last week :-) > > https://lists.gnu.org/archive/html/qemu-devel/2016-01/msg03409.html
Oops, sorry. I guess that at least shows that the fix is probably good. O:-) Max
signature.asc
Description: OpenPGP digital signature