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 /block | |
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 'block')
-rw-r--r-- | block/stream.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/block/stream.c b/block/stream.c index ddaab7d..b22d9c2 100644 --- a/block/stream.c +++ b/block/stream.c @@ -268,6 +268,8 @@ void stream_start(const char *job_id, BlockDriverState *bs, assert(!bottom->drv->is_filter); base_overlay = above_base = bottom; } else { + GRAPH_RDLOCK_GUARD_MAINLOOP(); + base_overlay = bdrv_find_overlay(bs, base); if (!base_overlay) { error_setg(errp, "'%s' is not in the backing chain of '%s'", |