xemu/block
Max Reitz efaa7c4eeb blockdev: Split monitor reference from BB creation
Before this patch, blk_new() automatically assigned a name to the new
BlockBackend and considered it referenced by the monitor. This patch
removes the implicit monitor_add_blk() call from blk_new() (and
consequently the monitor_remove_blk() call from blk_delete(), too) and
thus blk_new() (and related functions) no longer take a BB name
argument.

In fact, there is only a single point where blk_new()/blk_new_open() is
called and the new BB is monitor-owned, and that is in blockdev_init().
Besides thus relieving us from having to invent names for all of the BBs
we use in qemu-img, this fixes a bug where qemu cannot create a new
image if there already is a monitor-owned BB named "image".

If a BB and its BDS tree are created in a single operation, as of this
patch the BDS tree will be created before the BB is given a name
(whereas it was the other way around before). This results in minor
change to the output of iotest 087, whose reference output is amended
accordingly.

Signed-off-by: Max Reitz <mreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2016-03-17 15:47:56 +01:00
..
accounting.c block: Clean up includes 2016-01-20 13:36:23 +01:00
archipelago.c block: Clean up includes 2016-01-20 13:36:23 +01:00
backup.c backup: Use Bitmap to replace "s->bitmap" 2016-03-14 17:35:05 +01:00
blkdebug.c block: Clean up includes 2016-01-20 13:36:23 +01:00
blkverify.c block: Clean up includes 2016-01-20 13:36:23 +01:00
block-backend.c blockdev: Split monitor reference from BB creation 2016-03-17 15:47:56 +01:00
bochs.c block: Clean up includes 2016-01-20 13:36:23 +01:00
cloop.c block: Clean up includes 2016-01-20 13:36:23 +01:00
commit.c block: Clean up includes 2016-01-20 13:36:23 +01:00
curl.c curl: add support for HTTP authentication parameters 2016-02-29 14:54:31 -05:00
dirty-bitmap.c block: Move block dirty bitmap code to separate files 2016-03-14 17:35:05 +01:00
dmg.c block: Clean up includes 2016-01-20 13:36:23 +01:00
gluster.c block: Clean up includes 2016-01-20 13:36:23 +01:00
io.c block: add missing call to bdrv_drain_recurse 2016-02-09 13:52:26 +00:00
iscsi.c iscsi: add support for getting CHAP password via QCryptoSecret API 2016-02-29 14:54:31 -05:00
linux-aio.c block: Clean up includes 2016-01-20 13:36:23 +01:00
Makefile.objs block: Move block dirty bitmap code to separate files 2016-03-14 17:35:05 +01:00
mirror.c mirror: Add mirror_wait_for_io 2016-02-29 14:54:31 -05:00
nbd-client.c nbd: enable use of TLS with NBD block driver 2016-02-16 17:16:33 +01:00
nbd-client.h nbd: enable use of TLS with NBD block driver 2016-02-16 17:16:33 +01:00
nbd.c util: Shorten references into SocketAddress 2016-03-05 10:41:52 +01:00
nfs.c block/nfs: add support for setting debug level 2016-02-29 14:54:30 -05:00
null.c block: Clean up includes 2016-01-20 13:36:23 +01:00
parallels.c blockdev: Split monitor reference from BB creation 2016-03-17 15:47:56 +01:00
qapi.c block/qapi: Include empty drives in query-blockstats 2016-03-14 16:46:42 +01:00
qcow2-cache.c block: Clean up includes 2016-01-20 13:36:23 +01:00
qcow2-cluster.c block: Clean up includes 2016-01-20 13:36:23 +01:00
qcow2-refcount.c block: Clean up includes 2016-01-20 13:36:23 +01:00
qcow2-snapshot.c block: Clean up includes 2016-01-20 13:36:23 +01:00
qcow2.c blockdev: Split monitor reference from BB creation 2016-03-17 15:47:56 +01:00
qcow2.h qcow2: Add function for refcount order amendment 2015-12-18 14:34:43 +01:00
qcow.c blockdev: Split monitor reference from BB creation 2016-03-17 15:47:56 +01:00
qed-check.c block: Clean up includes 2016-01-20 13:36:23 +01:00
qed-cluster.c block: Clean up includes 2016-01-20 13:36:23 +01:00
qed-gencb.c block: Clean up includes 2016-01-20 13:36:23 +01:00
qed-l2-cache.c block: Clean up includes 2016-01-20 13:36:23 +01:00
qed-table.c block: Clean up includes 2016-01-20 13:36:23 +01:00
qed.c blockdev: Split monitor reference from BB creation 2016-03-17 15:47:56 +01:00
qed.h qed: Really remove unused field QEDAIOCB.finished 2015-02-06 17:24:21 +01:00
quorum.c quorum: Fix crash in quorum_aio_cb() 2016-03-14 17:35:06 +01:00
raw_bsd.c raw: Assign bs to file in raw_co_get_block_status 2016-02-02 17:50:47 +01:00
raw-aio.h linux-aio: drop return code from laio_io_unplug and ioq_submit 2014-12-12 16:57:55 +00:00
raw-posix.c raw: Assign bs to file in raw_co_get_block_status 2016-02-02 17:50:47 +01:00
raw-win32.c block: Clean up includes 2016-01-20 13:36:23 +01:00
rbd.c rbd: add support for getting password from QCryptoSecret object 2016-02-29 14:54:30 -05:00
sheepdog.c blockdev: Split monitor reference from BB creation 2016-03-17 15:47:56 +01:00
snapshot.c block: Clean up includes 2016-01-20 13:36:23 +01:00
ssh.c block: Clean up includes 2016-01-20 13:36:23 +01:00
stream.c block: Clean up includes 2016-01-20 13:36:23 +01:00
throttle-groups.c block: Clean up includes 2016-01-20 13:36:23 +01:00
vdi.c blockdev: Split monitor reference from BB creation 2016-03-17 15:47:56 +01:00
vhdx-endian.c block: Clean up includes 2016-01-20 13:36:23 +01:00
vhdx-log.c block: Clean up includes 2016-01-20 13:36:23 +01:00
vhdx.c blockdev: Split monitor reference from BB creation 2016-03-17 15:47:56 +01:00
vhdx.h block: vhdx - update PAYLOAD_BLOCK_UNMAPPED value to match 1.00 spec 2014-12-12 15:42:22 +00:00
vmdk.c blockdev: Split monitor reference from BB creation 2016-03-17 15:47:56 +01:00
vpc.c blockdev: Split monitor reference from BB creation 2016-03-17 15:47:56 +01:00
vvfat.c block: Add "file" output parameter to block status query functions 2016-02-02 17:50:47 +01:00
win32-aio.c block: Clean up includes 2016-01-20 13:36:23 +01:00
write-threshold.c block: Clean up includes 2016-01-20 13:36:23 +01:00