block: Mark bdrv_co_block_status() and callers GRAPH_RDLOCK

This adds GRAPH_RDLOCK annotations to declare that callers of
bdrv_co_block_status() need to hold a reader lock for the graph.

For some places, we know that they will hold the lock, but we don't have
the GRAPH_RDLOCK annotations yet. In this case, add assume_graph_lock()
with a FIXME comment. These places will be removed once everything is
properly annotated.

Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20230203152202.49054-5-kwolf@redhat.com>
Reviewed-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
Kevin Wolf
2023-02-03 16:21:43 +01:00
parent c2b8e31516
commit 7ff9579e60
14 changed files with 81 additions and 62 deletions

View File

@ -1991,7 +1991,9 @@ static void coroutine_fn convert_co_do_copy(void *opaque)
qemu_co_mutex_unlock(&s->lock);
break;
}
n = convert_iteration_sectors(s, s->sector_num);
WITH_GRAPH_RDLOCK_GUARD() {
n = convert_iteration_sectors(s, s->sector_num);
}
if (n < 0) {
qemu_co_mutex_unlock(&s->lock);
s->ret = n;