@ -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 ) ;
}