diff options
author | Kevin Wolf <kwolf@redhat.com> | 2023-02-03 16:21:51 +0100 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2023-02-23 19:49:18 +0100 |
commit | b24a4c41ba804f2f465adbc0ab57854cba4868e1 (patch) | |
tree | 2b8a684b0e6183bb37ca0b120c24ebc91a447c9a /block | |
parent | b9b10c35e5c8bdb800601b142c44a4bd2da5a6d2 (diff) |
block: Mark bdrv_co_pwrite_sync() and callers GRAPH_RDLOCK
This adds GRAPH_RDLOCK annotations to declare that callers of
bdrv_co_pwrite_sync() 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: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20230203152202.49054-13-kwolf@redhat.com>
Reviewed-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'block')
-rw-r--r-- | block/io.c | 3 | ||||
-rw-r--r-- | block/qcow2.h | 2 |
2 files changed, 2 insertions, 3 deletions
diff --git a/block/io.c b/block/io.c index ec8b317818..2593823f62 100644 --- a/block/io.c +++ b/block/io.c @@ -933,8 +933,7 @@ int coroutine_fn bdrv_co_pwrite_sync(BdrvChild *child, int64_t offset, { int ret; IO_CODE(); - - assume_graph_lock(); /* FIXME */ + assert_bdrv_graph_readable(); ret = bdrv_co_pwrite(child, offset, bytes, buf, flags); if (ret < 0) { diff --git a/block/qcow2.h b/block/qcow2.h index 7487bcfcf9..c59e33c01c 100644 --- a/block/qcow2.h +++ b/block/qcow2.h @@ -893,7 +893,7 @@ int qcow2_inc_refcounts_imrt(BlockDriverState *bs, BdrvCheckResult *res, int qcow2_change_refcount_order(BlockDriverState *bs, int refcount_order, BlockDriverAmendStatusCB *status_cb, void *cb_opaque, Error **errp); -int coroutine_fn qcow2_shrink_reftable(BlockDriverState *bs); +int coroutine_fn GRAPH_RDLOCK qcow2_shrink_reftable(BlockDriverState *bs); int64_t qcow2_get_last_cluster(BlockDriverState *bs, int64_t size); int coroutine_fn qcow2_detect_metadata_preallocation(BlockDriverState *bs); |