[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 17/22] block: Assert non-coroutine context for bdrv_open_inherit()
From: |
Kevin Wolf |
Subject: |
[PULL 17/22] block: Assert non-coroutine context for bdrv_open_inherit() |
Date: |
Fri, 17 Feb 2023 16:09:49 +0100 |
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20230126172432.436111-14-kwolf@redhat.com>
Reviewed-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Reviewed-by: Hanna Czenczek <hreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
block.c | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/block.c b/block.c
index 6eac16eac5..122aa9a9ac 100644
--- a/block.c
+++ b/block.c
@@ -3807,13 +3807,11 @@ out:
* function eventually calls bdrv_refresh_total_sectors() which polls
* when called from non-coroutine context.
*/
-static BlockDriverState *bdrv_open_inherit(const char *filename,
- const char *reference,
- QDict *options, int flags,
- BlockDriverState *parent,
- const BdrvChildClass *child_class,
- BdrvChildRole child_role,
- Error **errp)
+static BlockDriverState * no_coroutine_fn
+bdrv_open_inherit(const char *filename, const char *reference, QDict *options,
+ int flags, BlockDriverState *parent,
+ const BdrvChildClass *child_class, BdrvChildRole child_role,
+ Error **errp)
{
int ret;
BlockBackend *file = NULL;
@@ -3829,6 +3827,7 @@ static BlockDriverState *bdrv_open_inherit(const char
*filename,
assert(!child_class || !flags);
assert(!child_class == !parent);
GLOBAL_STATE_CODE();
+ assert(!qemu_in_coroutine());
if (reference) {
bool options_non_empty = options ? qdict_size(options) : false;
--
2.39.2
- [PULL 16/22] block: Fix bdrv_co_create_opts_simple() to open images with no_co_wrapper, (continued)
- [PULL 16/22] block: Fix bdrv_co_create_opts_simple() to open images with no_co_wrapper, Kevin Wolf, 2023/02/17
- [PULL 05/22] block-coroutine-wrapper: Introduce no_co_wrapper, Kevin Wolf, 2023/02/17
- [PULL 20/22] MAINTAINERS: drop Vladimir from parallels block driver, Kevin Wolf, 2023/02/17
- [PULL 19/22] block: temporarily hold the new AioContext of bs_top in bdrv_append(), Kevin Wolf, 2023/02/17
- [PULL 10/22] qcow2: Fix open/create to open images with no_co_wrapper, Kevin Wolf, 2023/02/17
- [PULL 09/22] qcow: Fix .bdrv_co_create(_opts) to open images with no_co_wrapper, Kevin Wolf, 2023/02/17
- [PULL 13/22] vhdx: Fix .bdrv_co_create(_opts) to open images with no_co_wrapper, Kevin Wolf, 2023/02/17
- [PULL 18/22] block: Handle curl 7.55.0, 7.85.0 version changes, Kevin Wolf, 2023/02/17
- [PULL 15/22] vpc: Fix .bdrv_co_create(_opts) to open images with no_co_wrapper, Kevin Wolf, 2023/02/17
- [PULL 21/22] block/file-posix: don't use functions calling AIO_WAIT_WHILE in worker threads, Kevin Wolf, 2023/02/17
- [PULL 17/22] block: Assert non-coroutine context for bdrv_open_inherit(),
Kevin Wolf <=
- [PULL 22/22] hbitmap: fix hbitmap_status() return value for first dirty bit case, Kevin Wolf, 2023/02/17
- Re: [PULL 00/22] Block layer patches, Peter Maydell, 2023/02/20