block: Mark bdrv_root_unref_child() GRAPH_WRLOCK
commitede01e4635050a395eacd57b7d7fbea8ea208704
authorKevin Wolf <kwolf@redhat.com>
Mon, 11 Sep 2023 09:46:18 +0000 (11 11:46 +0200)
committerKevin Wolf <kwolf@redhat.com>
Wed, 20 Sep 2023 15:46:01 +0000 (20 17:46 +0200)
tree92113b8f904153f9ab38134a921b8993240c0946
parent7f831d29e3d005e499b22c0591a26a33eb5c406d
block: Mark bdrv_root_unref_child() GRAPH_WRLOCK

Instead of taking the writer lock internally, require callers to already
hold it when calling bdrv_root_unref_child(). These callers will
typically already hold the graph lock once the locking work is
completed, which means that they can't call functions that take it
internally.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-ID: <20230911094620.45040-20-kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
block.c
block/block-backend.c
blockjob.c
include/block/block_int-global-state.h