@@ -212,7 +212,7 @@ static void bdrv_format_print(void *opaque, const char *name)
static void drive_uninit(DriveInfo *dinfo)
{
qemu_opts_del(dinfo->opts);
- bdrv_delete(dinfo->bdrv);
+ bdrv_unref(dinfo->bdrv, false);
g_free(dinfo->id);
QTAILQ_REMOVE(&drives, dinfo, next);
g_free(dinfo->serial);
@@ -709,8 +709,10 @@ DriveInfo *drive_init(QemuOpts *all_opts, BlockInterfaceType block_default_type)
goto err;
}
- if (bdrv_key_required(dinfo->bdrv))
+ bdrv_ref(dinfo->bdrv, false);
+ if (bdrv_key_required(dinfo->bdrv)) {
autostart = 0;
+ }
qemu_opts_del(opts);
Signed-off-by: Fam Zheng <famz@redhat.com> --- blockdev.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)