summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Hajnoczi <stefanha@redhat.com>2014-10-21 12:03:53 +0100
committerStefan Hajnoczi <stefanha@redhat.com>2014-11-03 11:41:49 +0000
commit723c5d93c51bdb3adbc238ce90195c0864aa6cd5 (patch)
treed4be37f9e341157b71b01982048f2ac8a49b27a8
parent91fddb0db6fee207ccdcca22dd996cf0154a1004 (diff)
downloadqemu-723c5d93c51bdb3adbc238ce90195c0864aa6cd5.zip
blockdev: add note that block_job_cb() must be thread-safe
This function is correct but we should document the constraint that everything must be thread-safe. Emitting QMP events and scheduling BHs are both thread-safe so nothing needs to be done here. Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by: Max Reitz <mreitz@redhat.com> Message-id: 1413889440-32577-5-git-send-email-stefanha@redhat.com
-rw-r--r--blockdev.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/blockdev.c b/blockdev.c
index 741df9805f..774051b44a 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -1929,6 +1929,11 @@ out:
static void block_job_cb(void *opaque, int ret)
{
+ /* Note that this function may be executed from another AioContext besides
+ * the QEMU main loop. If you need to access anything that assumes the
+ * QEMU global mutex, use a BH or introduce a mutex.
+ */
+
BlockDriverState *bs = opaque;
const char *msg = NULL;