xemu/include/sysemu
Max Reitz ca49a4fdb3 block: Add blk_new_open()
blk_new_with_bs() creates a BlockBackend with an empty BlockDriverState
attached to it. Empty BDSs are not nice, therefore add an alternative
function which combines blk_new_with_bs() with bdrv_open().

Note: In contrast to bdrv_open() which takes a BlockDriver parameter,
blk_new_open() does not take such a parameter. This is because
bdrv_open() opens a BlockDriverState, therefore it is natural to be able
to set the BlockDriver for that BDS. The fact that bdrv_open() can open
more than a single BDS is merely some form of a byproduct.

blk_new_open() on the other hand is intended to be used to create a
whole tree of BlockDriverStates. Therefore, setting a single BlockDriver
does not make much sense. Instead, the drivers to be used for each of
the nodes must be configured through the "options" QDict; including the
driver of the root BDS.

Signed-off-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Message-id: 1423162705-32065-3-git-send-email-mreitz@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2015-02-16 15:07:18 +00:00
..
accel.h accel: Pass MachineState object to accel init functions 2014-10-09 12:57:10 +02:00
arch_init.h accel: Remove tcg_available() function 2014-10-04 08:59:15 +02:00
balloon.h qapi event: convert BALLOON_CHANGE 2014-06-23 11:12:28 -04:00
block-backend.h block: Add blk_new_open() 2015-02-16 15:07:18 +00:00
blockdev.h blockdev: Fix blockdev-add not to create DriveInfo 2014-10-20 14:03:50 +02:00
bt.h sysemu: avoid proliferation of include/ subdirectories 2013-04-15 18:19:25 +02:00
char.h qemu-char: Rename register_char_driver_qapi() to register_char_driver() 2014-09-16 23:36:32 +01:00
cpus.h Introduce cpu_clean_all_dirty 2014-09-16 11:04:09 +02:00
device_tree.h arm: Add PCIe host bridge in virt machine 2015-02-13 05:46:08 +00:00
dma.h hw: Convert from BlockDriverState to BlockBackend, mostly 2014-10-20 14:02:25 +02:00
dump-arch.h dump: Make DumpState and endian conversion routines available for arch-specific dump code 2014-06-16 13:24:36 +02:00
dump.h dump: Make DumpState and endian conversion routines available for arch-specific dump code 2014-06-16 13:24:36 +02:00
hostmem.h hostmem: add properties for NUMA memory policy 2014-06-19 18:44:21 +03:00
iothread.h iothread: make IOThread struct definition public 2014-04-04 20:48:02 +02:00
kvm.h kvm: extend kvm_irqchip_add_msi_route to work on s390 2015-01-12 10:14:04 +01:00
memory_mapping.h dump: rebase from host-private RAMBlock offsets to guest-physical addresses 2013-08-08 11:01:46 -04:00
os-posix.h os-posix: include sys/time.h 2014-06-23 11:01:24 -04:00
os-win32.h memory: move preallocation code out of exec.c 2014-06-19 18:44:19 +03:00
qtest.h accel: Move qtest accel registration to qtest.c 2014-10-04 08:59:15 +02:00
rng-random.h sysemu: avoid proliferation of include/ subdirectories 2013-04-15 18:19:25 +02:00
rng.h virtio_rng: replace custom backend API with UserCreatable.complete() callback 2014-01-28 12:47:11 -05:00
seccomp.h softmmu: move include files to include/sysemu/ 2012-12-19 08:32:45 +01:00
sysemu.h hw/usb: simplified usb_enabled 2015-01-08 17:32:27 +00:00
tpm_backend_int.h tpm: reorganize headers and split hardware part 2013-04-15 18:19:25 +02:00
tpm_backend.h Move TPM passthrough specific command line options to backend structure 2013-04-23 10:40:40 -05:00
tpm.h Add ACPI tables for TPM 2014-08-25 00:16:06 +02:00
watchdog.h hw: move headers to include/ 2013-04-08 18:13:10 +02:00
xen-mapcache.h softmmu: move include files to include/sysemu/ 2012-12-19 08:32:45 +01:00