diff options
author | Kevin Wolf <kwolf@redhat.com> | 2023-09-29 16:51:54 +0200 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2023-10-12 16:31:33 +0200 |
commit | 3574499a1e5e420c3e72d0e283cfb2b13bce672e (patch) | |
tree | c2768e9ced1818ce93874979c8d614c6d49c06b9 /include | |
parent | 018f9dea9c905506c49f8f37c018470dddfc50f1 (diff) | |
download | qemu-3574499a1e5e420c3e72d0e283cfb2b13bce672e.zip qemu-3574499a1e5e420c3e72d0e283cfb2b13bce672e.tar.gz qemu-3574499a1e5e420c3e72d0e283cfb2b13bce672e.tar.bz2 |
block: Mark bdrv_get_specific_info() and callers GRAPH_RDLOCK
This adds GRAPH_RDLOCK annotations to declare that callers of
bdrv_get_specific_info() need to hold a reader lock for the graph.
This removes an assume_graph_lock() call in vmdk's implementation.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-ID: <20230929145157.45443-20-kwolf@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/block/block-io.h | 5 | ||||
-rw-r--r-- | include/block/block_int-common.h | 4 |
2 files changed, 5 insertions, 4 deletions
diff --git a/include/block/block-io.h b/include/block/block-io.h index e051e9b..ad270b6 100644 --- a/include/block/block-io.h +++ b/include/block/block-io.h @@ -198,8 +198,9 @@ bdrv_co_get_info(BlockDriverState *bs, BlockDriverInfo *bdi); int co_wrapper_mixed_bdrv_rdlock bdrv_get_info(BlockDriverState *bs, BlockDriverInfo *bdi); -ImageInfoSpecific *bdrv_get_specific_info(BlockDriverState *bs, - Error **errp); +ImageInfoSpecific * GRAPH_RDLOCK +bdrv_get_specific_info(BlockDriverState *bs, Error **errp); + BlockStatsSpecific *bdrv_get_specific_stats(BlockDriverState *bs); void bdrv_round_to_subclusters(BlockDriverState *bs, int64_t offset, int64_t bytes, diff --git a/include/block/block_int-common.h b/include/block/block_int-common.h index d971d73..024262b 100644 --- a/include/block/block_int-common.h +++ b/include/block/block_int-common.h @@ -728,8 +728,8 @@ struct BlockDriver { int coroutine_fn GRAPH_RDLOCK_PTR (*bdrv_co_get_info)( BlockDriverState *bs, BlockDriverInfo *bdi); - ImageInfoSpecific *(*bdrv_get_specific_info)(BlockDriverState *bs, - Error **errp); + ImageInfoSpecific * GRAPH_RDLOCK_PTR (*bdrv_get_specific_info)( + BlockDriverState *bs, Error **errp); BlockStatsSpecific *(*bdrv_get_specific_stats)(BlockDriverState *bs); int coroutine_fn GRAPH_RDLOCK_PTR (*bdrv_co_save_vmstate)( |