Skip to content

Commit 2957dc4

Browse files
stefanhaRHkevmw
authored andcommitted
block/export: only acquire AioContext once for vhost_user_server_stop()
vhost_user_server_stop() uses AIO_WAIT_WHILE(). AIO_WAIT_WHILE() requires that AioContext is only acquired once. Since blk_exp_request_shutdown() already acquires the AioContext it shouldn't be acquired again in vhost_user_server_stop(). Signed-off-by: Stefan Hajnoczi <[email protected]> Message-Id: <[email protected]> Reviewed-by: Kevin Wolf <[email protected]> Signed-off-by: Kevin Wolf <[email protected]>
1 parent bd2cd4a commit 2957dc4

File tree

1 file changed

+1
-4
lines changed

1 file changed

+1
-4
lines changed

util/vhost-user-server.c

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -346,10 +346,9 @@ static void vu_accept(QIONetListener *listener, QIOChannelSocket *sioc,
346346
aio_context_release(server->ctx);
347347
}
348348

349+
/* server->ctx acquired by caller */
349350
void vhost_user_server_stop(VuServer *server)
350351
{
351-
aio_context_acquire(server->ctx);
352-
353352
qemu_bh_delete(server->restart_listener_bh);
354353
server->restart_listener_bh = NULL;
355354

@@ -366,8 +365,6 @@ void vhost_user_server_stop(VuServer *server)
366365
AIO_WAIT_WHILE(server->ctx, server->co_trip);
367366
}
368367

369-
aio_context_release(server->ctx);
370-
371368
if (server->listener) {
372369
qio_net_listener_disconnect(server->listener);
373370
object_unref(OBJECT(server->listener));

0 commit comments

Comments
 (0)