summaryrefslogtreecommitdiff
path: root/hw/ide
diff options
context:
space:
mode:
authorMarkus Armbruster <armbru@redhat.com>2014-10-07 13:59:13 +0200
committerKevin Wolf <kwolf@redhat.com>2014-10-20 13:41:27 +0200
commitfa1d36df7466ebbef0331b79d0ce3c5e140695c9 (patch)
tree09c705b3c00506d246b712a330deef215f483e2a /hw/ide
parent7f06d47eff9d26cca87855273f20786502f8c57e (diff)
downloadqemu-fa1d36df7466ebbef0331b79d0ce3c5e140695c9.tar.gz
block: Eliminate DriveInfo member bdrv, use blk_by_legacy_dinfo()
The patch is big, but all it really does is replacing dinfo->bdrv by blk_bs(blk_by_legacy_dinfo(dinfo)) The replacement is repetitive, but the conversion of device models to BlockBackend is imminent, and will shorten it to just blk_legacy_dinfo(dinfo). Line wrapping muddies the waters a bit. I also omit tests whether dinfo->bdrv is null, because it never is. Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: BenoƮt Canet <benoit.canet@nodalink.com> Reviewed-by: Max Reitz <mreitz@redhat.com> Reviewed-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'hw/ide')
-rw-r--r--hw/ide/piix.c5
-rw-r--r--hw/ide/qdev.c4
2 files changed, 6 insertions, 3 deletions
diff --git a/hw/ide/piix.c b/hw/ide/piix.c
index ec93977e53..0e87e51148 100644
--- a/hw/ide/piix.c
+++ b/hw/ide/piix.c
@@ -180,9 +180,10 @@ int pci_piix3_xen_ide_unplug(DeviceState *dev)
di = drive_get_by_index(IF_IDE, i);
if (di != NULL && !di->media_cd) {
BlockBackend *blk = blk_by_legacy_dinfo(di);
- DeviceState *ds = bdrv_get_attached_dev(di->bdrv);
+ BlockDriverState *bs = blk_bs(blk);
+ DeviceState *ds = bdrv_get_attached_dev(bs);
if (ds) {
- bdrv_detach_dev(di->bdrv, ds);
+ bdrv_detach_dev(bs, ds);
}
pci_ide->bus[di->bus].ifs[di->unit].bs = NULL;
blk_unref(blk);
diff --git a/hw/ide/qdev.c b/hw/ide/qdev.c
index 9814ef0d24..816167b99b 100644
--- a/hw/ide/qdev.c
+++ b/hw/ide/qdev.c
@@ -20,6 +20,7 @@
#include "sysemu/dma.h"
#include "qemu/error-report.h"
#include <hw/ide/internal.h>
+#include "sysemu/block-backend.h"
#include "sysemu/blockdev.h"
#include "hw/block/block.h"
#include "sysemu/sysemu.h"
@@ -117,7 +118,8 @@ IDEDevice *ide_create_drive(IDEBus *bus, int unit, DriveInfo *drive)
dev = qdev_create(&bus->qbus, drive->media_cd ? "ide-cd" : "ide-hd");
qdev_prop_set_uint32(dev, "unit", unit);
- qdev_prop_set_drive_nofail(dev, "drive", drive->bdrv);
+ qdev_prop_set_drive_nofail(dev, "drive",
+ blk_bs(blk_by_legacy_dinfo(drive)));
qdev_init_nofail(dev);
return DO_UPCAST(IDEDevice, qdev, dev);
}