diff options
author | Stefan Hajnoczi <stefanha@redhat.com> | 2014-10-21 12:03:53 +0100 |
---|---|---|
committer | Stefan Hajnoczi <stefanha@redhat.com> | 2014-11-03 11:41:49 +0000 |
commit | 723c5d93c51bdb3adbc238ce90195c0864aa6cd5 (patch) | |
tree | d4be37f9e341157b71b01982048f2ac8a49b27a8 /blockdev.c | |
parent | 91fddb0db6fee207ccdcca22dd996cf0154a1004 (diff) |
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
Diffstat (limited to 'blockdev.c')
-rw-r--r-- | blockdev.c | 5 |
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; |