diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2009-09-25 21:42:46 +0200 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2009-10-05 09:32:49 -0500 |
commit | 56a14938809331372b6cdb2afcb14d9818de4cbf (patch) | |
tree | 256e324375f698356af28158f601b2301a673ba5 /vl.c | |
parent | 3f84865ade594a2ec1ef613ab5fd11949f3d49de (diff) |
drive cleanup fixes.
Changes:
* drive_uninit() wants a DriveInfo now.
* drive_uninit() also calls bdrv_delete(),
so callers don't need to do that.
* drive_uninit() calls are moved over to the ->exit()
callbacks, destroy_bdrvs() is zapped.
* setting bdrv->private is not needed any more as the
only user (destroy_bdrvs) is gone.
* usb-storage needs no drive_uninit, scsi-disk will
handle that.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'vl.c')
-rw-r--r-- | vl.c | 16 |
1 files changed, 5 insertions, 11 deletions
@@ -1979,18 +1979,12 @@ static void bdrv_format_print(void *opaque, const char *name) fprintf(stderr, " %s", name); } -void drive_uninit(BlockDriverState *bdrv) +void drive_uninit(DriveInfo *dinfo) { - DriveInfo *dinfo; - - QTAILQ_FOREACH(dinfo, &drives, next) { - if (dinfo->bdrv != bdrv) - continue; - qemu_opts_del(dinfo->opts); - QTAILQ_REMOVE(&drives, dinfo, next); - qemu_free(dinfo); - break; - } + qemu_opts_del(dinfo->opts); + bdrv_delete(dinfo->bdrv); + QTAILQ_REMOVE(&drives, dinfo, next); + qemu_free(dinfo); } DriveInfo *drive_init(QemuOpts *opts, void *opaque, |