[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL v3 10/28] util/vhost-user-server: drop unnecessary watch deletion
From: |
Stefan Hajnoczi |
Subject: |
[PULL v3 10/28] util/vhost-user-server: drop unnecessary watch deletion |
Date: |
Fri, 23 Oct 2020 16:21:29 +0100 |
Explicitly deleting watches is not necessary since libvhost-user calls
remove_watch() during vu_deinit(). Add an assertion to check this
though.
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 20200924151549.913737-5-stefanha@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
util/vhost-user-server.c | 19 ++++---------------
1 file changed, 4 insertions(+), 15 deletions(-)
diff --git a/util/vhost-user-server.c b/util/vhost-user-server.c
index 443ab7448c..6efe2279fd 100644
--- a/util/vhost-user-server.c
+++ b/util/vhost-user-server.c
@@ -48,21 +48,6 @@ static void close_client(VuServer *server)
/* When this is set vu_client_trip will stop new processing vhost-user
message */
server->sioc = NULL;
- VuFdWatch *vu_fd_watch, *next;
- QTAILQ_FOREACH_SAFE(vu_fd_watch, &server->vu_fd_watches, next, next) {
- aio_set_fd_handler(server->ioc->ctx, vu_fd_watch->fd, true, NULL,
- NULL, NULL, NULL);
- }
-
- while (!QTAILQ_EMPTY(&server->vu_fd_watches)) {
- QTAILQ_FOREACH_SAFE(vu_fd_watch, &server->vu_fd_watches, next, next) {
- if (!vu_fd_watch->processing) {
- QTAILQ_REMOVE(&server->vu_fd_watches, vu_fd_watch, next);
- g_free(vu_fd_watch);
- }
- }
- }
-
while (server->processing_msg) {
if (server->ioc->read_coroutine) {
server->ioc->read_coroutine = NULL;
@@ -73,6 +58,10 @@ static void close_client(VuServer *server)
}
vu_deinit(&server->vu_dev);
+
+ /* vu_deinit() should have called remove_watch() */
+ assert(QTAILQ_EMPTY(&server->vu_fd_watches));
+
object_unref(OBJECT(sioc));
object_unref(OBJECT(server->ioc));
}
--
2.26.2
- [PULL v3 02/28] libvhost-user: Allow vu_message_read to be replaced, (continued)
- [PULL v3 02/28] libvhost-user: Allow vu_message_read to be replaced, Stefan Hajnoczi, 2020/10/23
- [PULL v3 03/28] libvhost-user: remove watch for kick_fd when de-initialize vu-dev, Stefan Hajnoczi, 2020/10/23
- [PULL v3 04/28] util/vhost-user-server: generic vhost user server, Stefan Hajnoczi, 2020/10/23
- [PULL v3 05/28] block: move logical block size check function to a common utility function, Stefan Hajnoczi, 2020/10/23
- [PULL v3 07/28] MAINTAINERS: Add vhost-user block device backend server maintainer, Stefan Hajnoczi, 2020/10/23
- [PULL v3 06/28] block/export: vhost-user block device backend server, Stefan Hajnoczi, 2020/10/23
- [PULL v3 08/28] util/vhost-user-server: s/fileds/fields/ typo fix, Stefan Hajnoczi, 2020/10/23
- [PULL v3 09/28] util/vhost-user-server: drop unnecessary QOM cast, Stefan Hajnoczi, 2020/10/23
- [PULL v3 11/28] block/export: consolidate request structs into VuBlockReq, Stefan Hajnoczi, 2020/10/23
- [PULL v3 12/28] util/vhost-user-server: drop unused DevicePanicNotifier, Stefan Hajnoczi, 2020/10/23
- [PULL v3 10/28] util/vhost-user-server: drop unnecessary watch deletion,
Stefan Hajnoczi <=
- [PULL v3 13/28] util/vhost-user-server: fix memory leak in vu_message_read(), Stefan Hajnoczi, 2020/10/23
- [PULL v3 14/28] util/vhost-user-server: check EOF when reading payload, Stefan Hajnoczi, 2020/10/23
- [PULL v3 15/28] util/vhost-user-server: rework vu_client_trip() coroutine lifecycle, Stefan Hajnoczi, 2020/10/23
- [PULL v3 16/28] block/export: report flush errors, Stefan Hajnoczi, 2020/10/23
- [PULL v3 21/28] block: move block exports to libblockdev, Stefan Hajnoczi, 2020/10/23
- [PULL v3 25/28] block/io: bdrv_common_block_status_above: support include_base, Stefan Hajnoczi, 2020/10/23
- [PULL v3 23/28] block/export: add vhost-user-blk multi-queue support, Stefan Hajnoczi, 2020/10/23
- [PULL v3 24/28] block/io: fix bdrv_co_block_status_above, Stefan Hajnoczi, 2020/10/23
- [PULL v3 19/28] util/vhost-user-server: use static library in meson.build, Stefan Hajnoczi, 2020/10/23
- [PULL v3 18/28] util/vhost-user-server: move header to include/, Stefan Hajnoczi, 2020/10/23