diff options
author | Kevin Wolf <kwolf@redhat.com> | 2023-10-27 17:53:12 +0200 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2023-11-07 19:14:19 +0100 |
commit | f5a3a270fe2b89d1be39f50ebdd15db80d59014b (patch) | |
tree | 01874d28f59e8cd8a3322ae104af2f5a6f176fc2 /include | |
parent | 067179868ec8cd467d9810143339e882cb60e388 (diff) | |
download | qemu-f5a3a270fe2b89d1be39f50ebdd15db80d59014b.zip qemu-f5a3a270fe2b89d1be39f50ebdd15db80d59014b.tar.gz qemu-f5a3a270fe2b89d1be39f50ebdd15db80d59014b.tar.bz2 |
block: Mark bdrv_filter_bs() and callers GRAPH_RDLOCK
This adds GRAPH_RDLOCK annotations to declare that callers of
bdrv_filter_bs() need to hold a reader lock for the graph because
it calls bdrv_filter_child(), which accesses bs->file/backing.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-ID: <20231027155333.420094-4-kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/block/block-io.h | 2 | ||||
-rw-r--r-- | include/block/block_int-io.h | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/include/block/block-io.h b/include/block/block-io.h index ad270b6..58c4cf5 100644 --- a/include/block/block-io.h +++ b/include/block/block-io.h @@ -183,7 +183,7 @@ bdrv_co_eject(BlockDriverState *bs, bool eject_flag); const char *bdrv_get_format_name(BlockDriverState *bs); -bool bdrv_supports_compressed_writes(BlockDriverState *bs); +bool GRAPH_RDLOCK bdrv_supports_compressed_writes(BlockDriverState *bs); const char *bdrv_get_node_name(const BlockDriverState *bs); const char * GRAPH_RDLOCK diff --git a/include/block/block_int-io.h b/include/block/block_int-io.h index 34eac72..26bff94 100644 --- a/include/block/block_int-io.h +++ b/include/block/block_int-io.h @@ -143,7 +143,8 @@ static inline BlockDriverState *bdrv_cow_bs(BlockDriverState *bs) return child_bs(bdrv_cow_child(bs)); } -static inline BlockDriverState *bdrv_filter_bs(BlockDriverState *bs) +static inline BlockDriverState * GRAPH_RDLOCK +bdrv_filter_bs(BlockDriverState *bs) { IO_CODE(); return child_bs(bdrv_filter_child(bs)); |