qemu/include
Kevin Wolf b6d2e59995 block: Convert block job core to BlockBackend
This adds a new BlockBackend field to the BlockJob struct, which
coexists with the BlockDriverState while converting the individual jobs.

When creating a block job, a new BlockBackend is created on top of the
given BlockDriverState, and it is destroyed when the BlockJob ends. The
reference to the BDS is now held by the BlockBackend instead of calling
bdrv_ref/unref manually.

We have to be careful when we use bdrv_replace_in_backing_chain() in
block jobs because this changes the BDS that job->blk points to. At the
moment block jobs are too tightly coupled with their BDS, so that moving
a job to another BDS isn't easily possible; therefore, we need to just
manually undo this change afterwards.

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: Convert block job core to BlockBackend 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