aboutsummaryrefslogtreecommitdiff
path: root/block/mirror.c
diff options
context:
space:
mode:
authorKevin Wolf <kwolf@redhat.com>2023-02-03 16:22:02 +0100
committerKevin Wolf <kwolf@redhat.com>2023-02-23 19:49:33 +0100
commit8ab8140a04cf771d63e9754d6ba6c1e676bfe507 (patch)
tree67b585d485e19ab2d0385ea3e0c93106832a76d6 /block/mirror.c
parent167f748d8c1300196ac55fe3eef5518bf7b1f949 (diff)
block: Mark bdrv_co_refresh_total_sectors() and callers GRAPH_RDLOCK
This adds GRAPH_RDLOCK annotations to declare that callers of bdrv_co_refresh_total_sectors() need to hold a reader lock for the graph. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Message-Id: <20230203152202.49054-24-kwolf@redhat.com> Reviewed-by: Emanuele Giuseppe Esposito <eesposit@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'block/mirror.c')
-rw-r--r--block/mirror.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/block/mirror.c b/block/mirror.c
index ec5cd22a7c..97c6a5777d 100644
--- a/block/mirror.c
+++ b/block/mirror.c
@@ -917,7 +917,10 @@ static int coroutine_fn mirror_run(Job *job, Error **errp)
goto immediate_exit;
}
+ bdrv_graph_co_rdlock();
s->bdev_length = bdrv_co_getlength(bs);
+ bdrv_graph_co_rdunlock();
+
if (s->bdev_length < 0) {
ret = s->bdev_length;
goto immediate_exit;