block: Mark bdrv_filter_child() and callers GRAPH_RDLOCK
This adds GRAPH_RDLOCK annotations to declare that callers of bdrv_filter_child() need to hold a reader lock for the graph because it accesses bs->file/backing. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Message-ID: <20231027155333.420094-12-kwolf@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
79bb762727
commit
ec82cc41a7
4
block.c
4
block.c
@ -8491,8 +8491,8 @@ BdrvChild *bdrv_primary_child(BlockDriverState *bs)
|
|||||||
return found;
|
return found;
|
||||||
}
|
}
|
||||||
|
|
||||||
static BlockDriverState *bdrv_do_skip_filters(BlockDriverState *bs,
|
static BlockDriverState * GRAPH_RDLOCK
|
||||||
bool stop_on_explicit_filter)
|
bdrv_do_skip_filters(BlockDriverState *bs, bool stop_on_explicit_filter)
|
||||||
{
|
{
|
||||||
BdrvChild *c;
|
BdrvChild *c;
|
||||||
|
|
||||||
|
@ -131,8 +131,8 @@ int co_wrapper_mixed_bdrv_rdlock
|
|||||||
bdrv_refresh_total_sectors(BlockDriverState *bs, int64_t hint);
|
bdrv_refresh_total_sectors(BlockDriverState *bs, int64_t hint);
|
||||||
|
|
||||||
BdrvChild *bdrv_cow_child(BlockDriverState *bs);
|
BdrvChild *bdrv_cow_child(BlockDriverState *bs);
|
||||||
BdrvChild *bdrv_filter_child(BlockDriverState *bs);
|
BdrvChild * GRAPH_RDLOCK bdrv_filter_child(BlockDriverState *bs);
|
||||||
BdrvChild *bdrv_filter_or_cow_child(BlockDriverState *bs);
|
BdrvChild * GRAPH_RDLOCK bdrv_filter_or_cow_child(BlockDriverState *bs);
|
||||||
BdrvChild * GRAPH_RDLOCK bdrv_primary_child(BlockDriverState *bs);
|
BdrvChild * GRAPH_RDLOCK bdrv_primary_child(BlockDriverState *bs);
|
||||||
BlockDriverState * GRAPH_RDLOCK bdrv_skip_filters(BlockDriverState *bs);
|
BlockDriverState * GRAPH_RDLOCK bdrv_skip_filters(BlockDriverState *bs);
|
||||||
BlockDriverState * GRAPH_RDLOCK bdrv_backing_chain_next(BlockDriverState *bs);
|
BlockDriverState * GRAPH_RDLOCK bdrv_backing_chain_next(BlockDriverState *bs);
|
||||||
|
Loading…
Reference in New Issue
Block a user