diff options
| author | Kevin Wolf <kwolf@redhat.com> | 2023-10-27 17:53:26 +0200 |
|---|---|---|
| committer | Kevin Wolf <kwolf@redhat.com> | 2023-11-08 17:56:17 +0100 |
| commit | 004915a96a7a40e942ac85e6d22518cbcd283506 (patch) | |
| tree | f664b5576e09107b86228b8b6fa340f74c907677 /tests/unit/test-bdrv-graph-mod.c | |
| parent | ccd6a37947574707613e826e2bf04d55f1d5f238 (diff) | |
| download | focaccia-qemu-004915a96a7a40e942ac85e6d22518cbcd283506.tar.gz focaccia-qemu-004915a96a7a40e942ac85e6d22518cbcd283506.zip | |
block: Protect bs->backing with graph_lock
Almost all functions that access bs->backing already take the graph lock now. Add locking to the remaining users and finally annotate the struct field itself as protected by the graph lock. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Message-ID: <20231027155333.420094-18-kwolf@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'tests/unit/test-bdrv-graph-mod.c')
| -rw-r--r-- | tests/unit/test-bdrv-graph-mod.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/tests/unit/test-bdrv-graph-mod.c b/tests/unit/test-bdrv-graph-mod.c index 22d4cd83f6..878544dbd5 100644 --- a/tests/unit/test-bdrv-graph-mod.c +++ b/tests/unit/test-bdrv-graph-mod.c @@ -206,15 +206,18 @@ static void test_should_update_child(void) bdrv_set_backing_hd(target, bs, &error_abort); - g_assert(target->backing->bs == bs); bdrv_graph_wrlock(NULL); + g_assert(target->backing->bs == bs); bdrv_attach_child(filter, target, "target", &child_of_bds, BDRV_CHILD_DATA, &error_abort); bdrv_graph_wrunlock(); aio_context_acquire(qemu_get_aio_context()); bdrv_append(filter, bs, &error_abort); aio_context_release(qemu_get_aio_context()); + + bdrv_graph_rdlock_main_loop(); g_assert(target->backing->bs == bs); + bdrv_graph_rdunlock_main_loop(); bdrv_unref(filter); bdrv_unref(bs); |