mirror_qemu/include
Kevin Wolf a1a2af0756 block: Cancel jobs first in bdrv_close_all()
So far, bdrv_close_all() first removed all root BlockDriverStates of
BlockBackends and monitor owned BDSes, and then assumed that the
remaining BDSes must be related to jobs and cancelled these jobs.

This order doesn't work that well any more when block jobs use
BlockBackends internally because then they will lose their BDS before
being cancelled.

This patch changes bdrv_close_all() to first cancel all jobs and then
remove all root BDSes from the remaining BBs.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Alberto Garcia <berto@igalia.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
2016-05-25 19:04:21 +02:00
..
block block: Cancel jobs first in bdrv_close_all() 2016-05-25 19:04:21 +02:00
crypto Fix some typos found by codespell 2016-05-18 15:04:27 +03:00
disas qemu-common: push cpu.h inclusion out of qemu-common.h 2016-05-19 16:42:29 +02:00
exec memory: Remove code for mr->may_overlap 2016-05-23 16:53:44 +02:00
fpu include: Clean up includes 2016-02-23 12:43:05 +00:00
hw X86 queue, 2016-05-23 2016-05-24 13:06:33 +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 savevm: fail if migration blockers are present 2016-05-23 21:44:08 +05:30
monitor Use scripts/clean-includes to drop redundant qemu/typedefs.h 2016-03-22 22:20:16 +01:00
net Use scripts/clean-includes to drop redundant qemu/typedefs.h 2016-03-22 22:20:16 +01:00
qapi qapi: Change visit_type_FOO() to no longer return partial objects 2016-05-12 09:47:55 +02:00
qemu osdep: Move default qemu_hw_version() value to a macro 2016-05-23 13:19:36 -03:00
qom cpu: move exec-all.h inclusion out of cpu.h 2016-05-19 16:42:29 +02:00
standard-headers update Linux headers to 4.6 2016-04-05 11:46:52 +02:00
sysemu block: Rename blk_write_zeroes() 2016-05-25 19:04:21 +02:00
ui spice: Initialization stubs on qemu-spice.h 2016-05-20 14:28:53 -03:00
elf.h include: Clean up includes 2016-02-23 12:43:05 +00: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: push cpu.h inclusion out of qemu-common.h 2016-05-19 16:42:29 +02: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