qemu-e2k/include
Stefan Hajnoczi dec7d421f8 blockjob: add block_job_defer_to_main_loop()
Block jobs will run in the BlockDriverState's AioContext, which may not
always be the QEMU main loop.

There are some block layer APIs that are either not thread-safe or risk
lock ordering problems.  This includes bdrv_unref(), bdrv_close(), and
anything that calls bdrv_drain_all().

The block_job_defer_to_main_loop() API allows a block job to schedule a
function to run in the main loop with the BlockDriverState AioContext
held.

This function will be used to perform cleanup and backing chain
manipulations in block jobs.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-id: 1413889440-32577-6-git-send-email-stefanha@redhat.com
2014-11-03 11:41:49 +00:00
..
block blockjob: add block_job_defer_to_main_loop() 2014-11-03 11:41:49 +00:00
disas
exec translate-all.c: memory walker initial address miscalculation 2014-10-06 21:53:35 +03:00
fpu softfloat: add functions corresponding to IEEE-2008 min/maxNumMag 2014-10-14 13:28:51 +01:00
hw Merge remote-tracking branch 'remotes/sstabellini/xen-2014-10-30' into staging 2014-10-30 20:28:09 +00:00
libdecnumber
migration qemu-file: Make qemu_file_is_writable() non-static 2014-10-14 10:28:12 +02:00
monitor block: Rename BlockDriverCompletionFunc to BlockCompletionFunc 2014-10-20 13:41:27 +02:00
net net: remove bootindex property from qdev to qom 2014-10-15 09:52:54 +02:00
qapi qemu-socket: Eliminate silly QERR_ macros 2014-09-26 13:37:06 -04:00
qemu util: introduce MIN_NON_ZERO 2014-11-03 09:48:41 +00:00
qom qom: Add description field in ObjectProperty struct 2014-10-15 05:03:15 +02:00
sysemu block: Lift device model API into BlockBackend 2014-10-20 14:03:50 +02:00
ui console: add graphic_console_set_hwops 2014-09-29 10:20:09 +02:00
config.h
elf.h tcg-sparc: Use ADDXC in addsub2_i64 2014-09-29 14:55:27 -04:00
glib-compat.h glib: add compatibility interface for g_strcmp0() 2014-10-16 23:02:31 +01:00
qemu-common.h util: Emancipate id_wellformed() from QemuOpts 2014-10-03 10:30:33 +01:00
qemu-io.h
trace-tcg.h trace: [tcg] Generate TCG tracing routines 2014-08-12 14:26:12 +01:00
trace.h trace: [tcg] Include event definitions in "trace.h" 2014-08-12 14:26:12 +01:00