mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-06 09:13:55 -06:00
assertions for block_int global state API
Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com> Message-Id: <20220303151616.325444-13-eesposit@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
ebc2752b08
commit
b4ad82aab1
10 changed files with 42 additions and 0 deletions
15
block.c
15
block.c
|
@ -665,6 +665,8 @@ int coroutine_fn bdrv_co_create_opts_simple(BlockDriver *drv,
|
|||
Error *local_err = NULL;
|
||||
int ret;
|
||||
|
||||
GLOBAL_STATE_CODE();
|
||||
|
||||
size = qemu_opt_get_size_del(opts, BLOCK_OPT_SIZE, 0);
|
||||
buf = qemu_opt_get_del(opts, BLOCK_OPT_PREALLOC);
|
||||
prealloc = qapi_enum_parse(&PreallocMode_lookup, buf,
|
||||
|
@ -2504,6 +2506,8 @@ void bdrv_get_cumulative_perm(BlockDriverState *bs, uint64_t *perm,
|
|||
uint64_t cumulative_perms = 0;
|
||||
uint64_t cumulative_shared_perms = BLK_PERM_ALL;
|
||||
|
||||
GLOBAL_STATE_CODE();
|
||||
|
||||
QLIST_FOREACH(c, &bs->parents, next_parent) {
|
||||
cumulative_perms |= c->perm;
|
||||
cumulative_shared_perms &= c->shared_perm;
|
||||
|
@ -2562,6 +2566,8 @@ int bdrv_child_try_set_perm(BdrvChild *c, uint64_t perm, uint64_t shared,
|
|||
Transaction *tran = tran_new();
|
||||
int ret;
|
||||
|
||||
GLOBAL_STATE_CODE();
|
||||
|
||||
bdrv_child_set_perm(c, perm, shared, tran);
|
||||
|
||||
ret = bdrv_refresh_perms(c->bs, &local_err);
|
||||
|
@ -2592,6 +2598,8 @@ int bdrv_child_refresh_perms(BlockDriverState *bs, BdrvChild *c, Error **errp)
|
|||
uint64_t parent_perms, parent_shared;
|
||||
uint64_t perms, shared;
|
||||
|
||||
GLOBAL_STATE_CODE();
|
||||
|
||||
bdrv_get_cumulative_perm(bs, &parent_perms, &parent_shared);
|
||||
bdrv_child_perm(bs, c->bs, c, c->role, NULL,
|
||||
parent_perms, parent_shared, &perms, &shared);
|
||||
|
@ -2736,6 +2744,7 @@ void bdrv_default_perms(BlockDriverState *bs, BdrvChild *c,
|
|||
uint64_t perm, uint64_t shared,
|
||||
uint64_t *nperm, uint64_t *nshared)
|
||||
{
|
||||
GLOBAL_STATE_CODE();
|
||||
if (role & BDRV_CHILD_FILTERED) {
|
||||
assert(!(role & (BDRV_CHILD_DATA | BDRV_CHILD_METADATA |
|
||||
BDRV_CHILD_COW)));
|
||||
|
@ -3093,6 +3102,8 @@ BdrvChild *bdrv_root_attach_child(BlockDriverState *child_bs,
|
|||
BdrvChild *child = NULL;
|
||||
Transaction *tran = tran_new();
|
||||
|
||||
GLOBAL_STATE_CODE();
|
||||
|
||||
ret = bdrv_attach_child_common(child_bs, child_name, child_class,
|
||||
child_role, perm, shared_perm, opaque,
|
||||
&child, tran, errp);
|
||||
|
@ -7486,6 +7497,8 @@ bool bdrv_recurse_can_replace(BlockDriverState *bs,
|
|||
{
|
||||
BlockDriverState *filtered;
|
||||
|
||||
GLOBAL_STATE_CODE();
|
||||
|
||||
if (!bs || !bs->drv) {
|
||||
return false;
|
||||
}
|
||||
|
@ -7657,6 +7670,7 @@ static bool append_strong_runtime_options(QDict *d, BlockDriverState *bs)
|
|||
* would result in exactly bs->backing. */
|
||||
static bool bdrv_backing_overridden(BlockDriverState *bs)
|
||||
{
|
||||
GLOBAL_STATE_CODE();
|
||||
if (bs->backing) {
|
||||
return strcmp(bs->auto_backing_file,
|
||||
bs->backing->bs->filename);
|
||||
|
@ -8045,6 +8059,7 @@ static BlockDriverState *bdrv_do_skip_filters(BlockDriverState *bs,
|
|||
*/
|
||||
BlockDriverState *bdrv_skip_implicit_filters(BlockDriverState *bs)
|
||||
{
|
||||
GLOBAL_STATE_CODE();
|
||||
return bdrv_do_skip_filters(bs, true);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue