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>
Showing
- block/block-backend.c 7 additions, 19 deletionsblock/block-backend.c
- block/parallels.c 1 addition, 1 deletionblock/parallels.c
- block/qcow.c 1 addition, 1 deletionblock/qcow.c
- block/qcow2.c 3 additions, 3 deletionsblock/qcow2.c
- block/qed.c 1 addition, 1 deletionblock/qed.c
- block/sheepdog.c 2 additions, 2 deletionsblock/sheepdog.c
- block/vdi.c 1 addition, 1 deletionblock/vdi.c
- block/vhdx.c 1 addition, 1 deletionblock/vhdx.c
- block/vmdk.c 3 additions, 3 deletionsblock/vmdk.c
- block/vpc.c 1 addition, 1 deletionblock/vpc.c
- blockdev.c 14 additions, 3 deletionsblockdev.c
- device-hotplug.c 3 additions, 1 deletiondevice-hotplug.c
- hw/block/xen_disk.c 1 addition, 1 deletionhw/block/xen_disk.c
- include/sysemu/block-backend.h 4 additions, 5 deletionsinclude/sysemu/block-backend.h
- qemu-img.c 21 additions, 29 deletionsqemu-img.c
- qemu-io.c 1 addition, 1 deletionqemu-io.c
- qemu-nbd.c 2 additions, 2 deletionsqemu-nbd.c
- tests/qemu-iotests/087.out 1 addition, 1 deletiontests/qemu-iotests/087.out
Loading
Please register or sign in to comment