qemu-patch-raspberry4/include
Stefan Hajnoczi e8a095dadb block: use safe iteration over AioContext notifiers
It's possible that an AioContext notifier user was close to finishing
when .detach_aio_context() or .attached_aio_context() is called.  In
that case they may call bdrv_remove_aio_context_notifier() during the
callback.

Use safe iteration to avoid crashing when the notifier list is modified
during iteration.  We must not only handle the case where the current
aio notifier is removed during a callback but also the one where any
other aio notifier is removed.

The next patch adds an AioContext notifier for block jobs and they
really could be terminating just as .detach_aio_context() is invoked.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Fam Zheng <famz@redhat.com>
Message-id: 1466096189-6477-6-git-send-email-stefanha@redhat.com
2016-06-20 14:25:41 +01:00
..
block block: use safe iteration over AioContext notifiers 2016-06-20 14:25:41 +01:00
crypto crypto: aes: always rename internal symbols 2016-06-13 12:41:17 +01:00
disas qemu-common: push cpu.h inclusion out of qemu-common.h 2016-05-19 16:42:29 +02:00
exec tb hash: track translated blocks with qht 2016-06-11 17:11:16 -07:00
fpu include: Clean up includes 2016-02-23 12:43:05 +00:00
hw target-arm queue: 2016-06-17 16:16:37 +01:00
io Fix some typos found by codespell 2016-05-18 15:04:27 +03:00
libdecnumber include: Clean up includes 2016-02-23 12:43:05 +00:00
migration migration: Define VMSTATE_UINT64_2DARRAY 2016-06-17 15:23:51 +01:00
monitor Use scripts/clean-includes to drop redundant qemu/typedefs.h 2016-03-22 22:20:16 +01:00
net vhost-net: save & restore vring enable state 2016-06-17 03:28:03 +03:00
qapi migration: add reporting of errors for outgoing migration 2016-05-26 11:31:30 +05:30
qemu bitops.h: Implement half-shuffle and half-unshuffle ops 2016-06-17 15:23:51 +01:00
qom qom: API to get instance_size of a type 2016-06-17 16:33:48 +10:00
standard-headers linux-headers: update 2016-06-14 13:34:50 +02:00
sysemu pc, pci, virtio: new features, cleanups, fixes 2016-06-17 11:25:46 +01:00
ui spice: Initialization stubs on qemu-spice.h 2016-05-20 14:28:53 -03:00
elf.h Add PowerPC AT_HWCAP2 definitions 2016-06-14 10:41:38 +10:00
glib-compat.h glib: add compatibility interface for g_hash_table_add() 2015-10-30 09:01:03 +01:00
qemu-common.h qemu-common.h: Drop WORDS_ALIGNED define 2016-06-07 18:19:24 +03:00
qemu-io.h qemu-io: Use BlockBackend 2015-02-16 15:07:19 +00:00
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