• Max Reitz's avatar
    blockdev: Split monitor reference from BB creation · efaa7c4e
    Max Reitz authored
    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: 's avatarMax Reitz <mreitz@redhat.com>
    Signed-off-by: 's avatarKevin Wolf <kwolf@redhat.com>
    efaa7c4e
device-hotplug.c 2.55 KB