Revision f8b6cc00 hw/scsi-bus.c
b/hw/scsi-bus.c | ||
---|---|---|
83 | 83 |
} |
84 | 84 |
|
85 | 85 |
/* handle legacy '-drive if=scsi,...' cmd line args */ |
86 |
SCSIDevice *scsi_bus_legacy_add_drive(SCSIBus *bus, DriveInfo *dinfo, int unit)
|
|
86 |
SCSIDevice *scsi_bus_legacy_add_drive(SCSIBus *bus, BlockDriverState *bdrv, int unit)
|
|
87 | 87 |
{ |
88 | 88 |
const char *driver; |
89 | 89 |
DeviceState *dev; |
90 | 90 |
|
91 |
driver = bdrv_is_sg(dinfo->bdrv) ? "scsi-generic" : "scsi-disk";
|
|
91 |
driver = bdrv_is_sg(bdrv) ? "scsi-generic" : "scsi-disk"; |
|
92 | 92 |
dev = qdev_create(&bus->qbus, driver); |
93 | 93 |
qdev_prop_set_uint32(dev, "scsi-id", unit); |
94 |
qdev_prop_set_drive(dev, "drive", dinfo);
|
|
94 |
qdev_prop_set_drive(dev, "drive", bdrv);
|
|
95 | 95 |
if (qdev_init(dev) < 0) |
96 | 96 |
return NULL; |
97 | 97 |
return DO_UPCAST(SCSIDevice, qdev, dev); |
... | ... | |
107 | 107 |
if (dinfo == NULL) { |
108 | 108 |
continue; |
109 | 109 |
} |
110 |
if (!scsi_bus_legacy_add_drive(bus, dinfo, unit)) { |
|
110 |
if (!scsi_bus_legacy_add_drive(bus, dinfo->bdrv, unit)) {
|
|
111 | 111 |
res = -1; |
112 | 112 |
break; |
113 | 113 |
} |
Also available in: Unified diff