qemu/include
Kevin Wolf 0152bf400f block: Don't notify parents in drain call chain
This is in preparation for subtree drains, i.e. drained sections that
affect not only a single node, but recursively all child nodes, too.

Calling the parent callbacks for drain is pointless when we just came
from that parent node recursively and leads to multiple increases of
bs->quiesce_counter in a single drain call. Don't do it.

In order for this to work correctly, the parent callback must be called
for every bdrv_drain_begin/end() call, not only for the outermost one:

If we have a node N with two parents A and B, recursive draining of A
should cause the quiesce_counter of B to increase because its child N is
drained independently of B. If now B is recursively drained, too, A must
increase its quiesce_counter because N is drained independently of A
only now, even if N is going from quiesce_counter 1 to 2.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2017-12-22 15:05:32 +01:00
..
block block: Don't notify parents in drain call chain 2017-12-22 15:05:32 +01:00
chardev chardev: fix backend events regression with mux chardev 2017-12-21 09:30:32 +01:00
crypto block: convert qcrypto_block_encrypt|decrypt to take bytes offset 2017-10-06 16:30:47 +02:00
disas disas: Dump insn bytes along with capstone disassembly 2017-11-09 08:46:38 +01:00
exec cpu: refactor cpu_address_space_init() 2017-12-21 09:30:31 +01:00
fpu configure: Drop ancient Solaris 9 and earlier support 2017-07-21 15:04:05 +01:00
hw i8259: generalize statistics into common code 2017-12-21 09:30:32 +01:00
io io: introduce a network socket listener API 2017-12-15 15:07:26 +00:00
libdecnumber Clean up ill-advised or unusual header guards 2016-07-12 16:20:46 +02:00
migration migration: check pre_save return in vmstate_save_state 2017-09-27 11:36:31 +01:00
monitor block: rip out all traces of password prompting 2017-07-11 17:44:56 +02:00
net net: Transmit zero UDP checksum as 0xFFFF 2017-11-20 11:08:00 +08:00
qapi qapi: Add qobject_is_equal() 2017-11-17 18:21:30 +01:00
qemu * NBD and chardev conversion to QIONetListener (Daniel) 2017-12-21 16:34:23 +00:00
qom qom: move CPUClass.tcg_initialize to a global 2017-11-13 13:55:25 +00:00
scsi scsi: provide general-purpose functions to manage sense data 2017-12-21 09:30:32 +01:00
standard-headers linux-headers: update to 4.15-rc1 2017-12-13 17:59:23 +00:00
sysemu iothread: fix iothread_stop() race condition 2017-12-19 10:25:09 +00:00
ui ui: generate qcode to linux mappings 2017-12-14 15:24:30 -08:00
elf.h tcg/s390: Use constant pool for movi 2017-09-07 11:57:35 -07:00
glib-compat.h glib-compat: move G_SOURCE_CONTINUE/REMOVE there 2017-10-10 16:33:55 +02:00
qemu-common.h Use HTTPS for qemu.org and other domains 2017-11-21 13:34:13 +00:00
qemu-io.h hmp: Request permissions in qemu-io 2017-02-28 20:47:50 +01:00
trace-tcg.h trace: get rid of generated-events.h/generated-events.c 2016-10-12 09:54:52 +02:00