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 /blockdev.c | |
| parent | 221caadcc5129d3ec5ad9ecfd7374de0f7050316 (diff) | |
| download | focaccia-qemu-067179868ec8cd467d9810143339e882cb60e388.tar.gz focaccia-qemu-067179868ec8cd467d9810143339e882cb60e388.zip | |
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 'blockdev.c')
| -rw-r--r-- | blockdev.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/blockdev.c b/blockdev.c index e9b7e38dc4..148df99e00 100644 --- a/blockdev.c +++ b/blockdev.c @@ -3156,9 +3156,11 @@ void qmp_drive_mirror(DriveMirror *arg, Error **errp) return; } + bdrv_graph_rdlock_main_loop(); zero_target = (arg->sync == MIRROR_SYNC_MODE_FULL && (arg->mode == NEW_IMAGE_MODE_EXISTING || !bdrv_has_zero_init(target_bs))); + bdrv_graph_rdunlock_main_loop(); /* Honor bdrv_try_change_aio_context() context acquisition requirements. */ |