[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 04/14] aio: make aio_context_acquire()/aio_context_release
From: |
Stefan Hajnoczi |
Subject: |
Re: [PATCH v2 04/14] aio: make aio_context_acquire()/aio_context_release() a no-op |
Date: |
Tue, 19 Dec 2023 16:23:25 -0500 |
The following hack makes the test pass but there are larger safety
issues that I'll need to look at on Wednesday:
diff --git a/nbd/server.c b/nbd/server.c
index 895cf0a752..cf4b7d5c6d 100644
--- a/nbd/server.c
+++ b/nbd/server.c
@@ -1617,7 +1617,7 @@ static void nbd_drained_begin(void *opaque)
}
}
-static void nbd_drained_end(void *opaque)
+static void nbd_resume_clients(void *opaque)
{
NBDExport *exp = opaque;
NBDClient *client;
@@ -1628,6 +1628,15 @@ static void nbd_drained_end(void *opaque)
}
}
+static void nbd_drained_end(void *opaque)
+{
+ NBDExport *exp = opaque;
+
+ /* TODO how to make sure exp doesn't go away? */
+ /* TODO what if AioContext changes before this runs? */
+ aio_bh_schedule_oneshot(nbd_export_aio_context(exp),
nbd_resume_clients, exp);
+}
+
static bool nbd_drained_poll(void *opaque)
{
NBDExport *exp = opaque;
[PATCH v2 07/14] block: remove bdrv_co_lock(), Stefan Hajnoczi, 2023/12/05
[PATCH v2 03/14] tests: remove aio_context_acquire() tests, Stefan Hajnoczi, 2023/12/05
[PATCH v2 02/14] scsi: assert that callbacks run in the correct AioContext, Stefan Hajnoczi, 2023/12/05
[PATCH v2 06/14] block: remove AioContext locking, Stefan Hajnoczi, 2023/12/05