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>
This commit is contained in:
parent
221caadcc5
commit
067179868e
11 changed files with 22 additions and 12 deletions
|
|
@ -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. */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue