qemu-e2k/include
Kevin Wolf 4db7ba3b87 block: Call .bdrv_co_create(_opts) unlocked
These are functions that modify the graph, so they must be able to take
a writer lock. This is impossible if they already hold the reader lock.
If they need a reader lock for some of their operations, they should
take it internally.

Many of them go through blk_*(), which will always take the lock itself.
Direct calls of bdrv_*() need to take the reader lock. Note that while
locking for bdrv_co_*() calls is checked by TSA, this is not the case
for the mixed_coroutine_fns bdrv_*(). Holding the lock is still required
when they are called from coroutine context like here!

This effectively reverts 4ec8df0183, but adds some internal locking
instead.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20230510203601.418015-2-kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2023-05-19 19:12:12 +02:00
..
authz Prefer 'on' | 'off' over 'yes' | 'no' for bool options 2021-01-29 17:07:53 +00:00
block block: Call .bdrv_co_create(_opts) unlocked 2023-05-19 19:12:12 +02:00
chardev chardev: src buffer const for write functions 2022-09-29 14:38:05 +04:00
crypto replace TABs with spaces 2023-03-20 12:43:50 +01:00
disas disas: Remove target-specific headers 2023-05-11 09:49:55 +01:00
exec migration: Add last stage indicator to global dirty log 2023-05-18 08:53:50 +02:00
fpu fpu: Add rebias bool, value and operation 2022-08-31 14:08:05 -03:00
gdbstub gdbstub: Remove gdb_do_syscallv 2023-03-07 20:44:09 +00:00
hw cpu: Introduce a wrapper for being able to use TARGET_NAME in common code 2023-05-16 09:14:18 +02:00
io io: mark mixed functions that can suspend 2023-04-20 11:17:35 +02:00
libdecnumber Replace config-time define HOST_WORDS_BIGENDIAN 2022-04-06 10:50:37 +02:00
migration migration: Move rate_limit_max and rate_limit_used to migration_stats 2023-05-18 18:40:51 +02:00
monitor hmp: Add 'one-insn-per-tb' command equivalent to 'singlestep' 2023-05-02 15:47:40 +01:00
net net/eth: Introduce EthL4HdrProto 2023-03-10 15:35:38 +08:00
qapi monitor: mark mixed functions that can suspend 2023-04-20 11:17:35 +02:00
qemu tcg/i386: Add have_atomic16 2023-05-16 15:21:39 -07:00
qom qom/object: Remove circular include dependency 2022-06-28 10:53:32 +02:00
scsi coroutine: Clean up superfluous inclusion of qemu/coroutine.h 2023-01-19 10:18:28 +01:00
semihosting semihosting: Allow optional use of semihosting from userspace 2022-09-13 17:18:21 +01:00
standard-headers Update linux headers to v6.3rc5 2023-04-28 15:55:55 +02:00
sysemu kvm: Synchronize the backup bitmap in the last stage 2023-05-18 08:53:50 +02:00
tcg tcg: Add tlb_dyn_max_bits to TCGContext 2023-05-16 20:13:51 -07:00
ui ui: introduce egl_init() 2023-03-13 23:48:45 +04:00
user *: Add missing includes of qemu/plugin.h 2023-03-22 15:06:57 +00:00
elf.h replace TABs with spaces 2023-03-20 12:43:50 +01:00
glib-compat.h compiler.h: replace QEMU_NORETURN with G_NORETURN 2022-04-21 17:03:51 +04:00
qemu-io.h Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
qemu-main.h ui/cocoa: Run qemu_init in the main thread 2022-09-23 14:36:33 +02:00