From 321923010d0e46f265c9a16efc340bf0cb66f785 Mon Sep 17 00:00:00 2001 From: Kevin Wolf Date: Thu, 26 Jan 2023 18:24:32 +0100 Subject: block: Assert non-coroutine context for bdrv_open_inherit() Signed-off-by: Kevin Wolf Message-Id: <20230126172432.436111-14-kwolf@redhat.com> Reviewed-by: Emanuele Giuseppe Esposito Reviewed-by: Hanna Czenczek Signed-off-by: Kevin Wolf --- block.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'block.c') 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; -- cgit v1.2.3