diff options
author | Kevin Wolf <kwolf@redhat.com> | 2023-10-27 17:53:11 +0200 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2023-11-07 19:14:19 +0100 |
commit | 067179868ec8cd467d9810143339e882cb60e388 (patch) | |
tree | 54c38cedf3e8f2433846a664bbd11b01cdaa1895 /qemu-img.c | |
parent | 221caadcc5129d3ec5ad9ecfd7374de0f7050316 (diff) |
block: Mark bdrv_has_zero_init() and callers GRAPH_RDLOCK
This adds GRAPH_RDLOCK annotations to declare that callers of
bdrv_has_zero_init() need to hold a reader lock for the graph because
it calls bdrv_filter_bs(), which accesses bs->file/backing.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-ID: <20231027155333.420094-3-kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'qemu-img.c')
-rw-r--r-- | qemu-img.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/qemu-img.c b/qemu-img.c index 369c2e8ddf..c061fd0634 100644 --- a/qemu-img.c +++ b/qemu-img.c @@ -2099,7 +2099,9 @@ static int convert_do_copy(ImgConvertState *s) /* Check whether we have zero initialisation or can get it efficiently */ if (!s->has_zero_init && s->target_is_new && s->min_sparse && !s->target_has_backing) { + bdrv_graph_rdlock_main_loop(); s->has_zero_init = bdrv_has_zero_init(blk_bs(s->target)); + bdrv_graph_rdunlock_main_loop(); } /* Allocate buffer for copied data. For compressed images, only one cluster |