[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 01/11] block.c: assert bs->aio_context is written under BQL an
From: |
Emanuele Giuseppe Esposito |
Subject: |
[PATCH v2 01/11] block.c: assert bs->aio_context is written under BQL and drains |
Date: |
Mon, 25 Jul 2022 08:21:10 -0400 |
Also here ->aio_context is read by I/O threads and written
under BQL.
Reviewed-by: Hanna Reitz <hreitz@redhat.com>
Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
---
block.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/block.c b/block.c
index 7559965dbc..58a9cfc8b7 100644
--- a/block.c
+++ b/block.c
@@ -7282,6 +7282,7 @@ static void bdrv_detach_aio_context(BlockDriverState *bs)
if (bs->quiesce_counter) {
aio_enable_external(bs->aio_context);
}
+ assert_bdrv_graph_writable(bs);
bs->aio_context = NULL;
}
@@ -7295,6 +7296,7 @@ static void bdrv_attach_aio_context(BlockDriverState *bs,
aio_disable_external(new_context);
}
+ assert_bdrv_graph_writable(bs);
bs->aio_context = new_context;
if (bs->drv && bs->drv->bdrv_attach_aio_context) {
--
2.31.1
- [PATCH v2 00/11] Refactor bdrv_try_set_aio_context using transactions, Emanuele Giuseppe Esposito, 2022/07/25
- [PATCH v2 04/11] bdrv_child_try_change_aio_context: add transaction parameter, Emanuele Giuseppe Esposito, 2022/07/25
- [PATCH v2 10/11] block: rename bdrv_child_try_change_aio_context in bdrv_try_change_aio_context, Emanuele Giuseppe Esposito, 2022/07/25
- [PATCH v2 05/11] blockjob: implement .change_aio_ctx in child_job, Emanuele Giuseppe Esposito, 2022/07/25
- [PATCH v2 01/11] block.c: assert bs->aio_context is written under BQL and drains,
Emanuele Giuseppe Esposito <=
- [PATCH v2 08/11] block: use the new _change_ API instead of _can_set_ and _set_, Emanuele Giuseppe Esposito, 2022/07/25
- [PATCH v2 07/11] block-backend: implement .change_aio_ctx in child_root, Emanuele Giuseppe Esposito, 2022/07/25
- [PATCH v2 06/11] block: implement .change_aio_ctx in child_of_bds, Emanuele Giuseppe Esposito, 2022/07/25
- [PATCH v2 09/11] block: remove all unused ->can_set_aio_ctx and ->set_aio_ctx callbacks, Emanuele Giuseppe Esposito, 2022/07/25
- [PATCH v2 02/11] block: use transactions as a replacement of ->{can_}set_aio_context(), Emanuele Giuseppe Esposito, 2022/07/25
- [PATCH v2 03/11] bdrv_change_aio_context: use hash table instead of list of visited nodes, Emanuele Giuseppe Esposito, 2022/07/25
- [PATCH v2 11/11] block: remove bdrv_try_set_aio_context and replace it with bdrv_try_change_aio_context, Emanuele Giuseppe Esposito, 2022/07/25
- Re: [PATCH v2 00/11] Refactor bdrv_try_set_aio_context using transactions, Vladimir Sementsov-Ogievskiy, 2022/07/26
- Re: [PATCH v2 00/11] Refactor bdrv_try_set_aio_context using transactions, Vladimir Sementsov-Ogievskiy, 2022/07/27