summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorFam Zheng2014-08-12 04:12:55 +0200
committerPaolo Bonzini2014-08-26 13:20:44 +0200
commita818a4b69d47ca3826dee36878074395aeac2083 (patch)
treedd1ef56c9ebcbe3377475c5cd3c660120474ef8f /include
parentblock: Pass errp in blkconf_geometry (diff)
downloadqemu-a818a4b69d47ca3826dee36878074395aeac2083.tar.gz
qemu-a818a4b69d47ca3826dee36878074395aeac2083.tar.xz
qemu-a818a4b69d47ca3826dee36878074395aeac2083.zip
scsi-bus: Convert DeviceClass init to realize
Replace "init/destroy" with "realize/unrealize" in SCSIDeviceClass, which has errp as a parameter. So all the implementations now use error_setg instead of error_report for reporting error. Also in scsi_bus_legacy_handle_cmdline, report the error when initializing the if=scsi devices, before returning it, because in the callee, error_report is changed to error_setg. And the callers don't have the right locations (e.g. "-drive if=scsi"). Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Fam Zheng <famz@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'include')
-rw-r--r--include/hw/scsi/scsi.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/include/hw/scsi/scsi.h b/include/hw/scsi/scsi.h
index a7a28e6bbd..2e3a8f987d 100644
--- a/include/hw/scsi/scsi.h
+++ b/include/hw/scsi/scsi.h
@@ -74,8 +74,8 @@ struct SCSIRequest {
typedef struct SCSIDeviceClass {
DeviceClass parent_class;
- int (*init)(SCSIDevice *dev);
- void (*destroy)(SCSIDevice *s);
+ void (*realize)(SCSIDevice *dev, Error **errp);
+ void (*unrealize)(SCSIDevice *dev, Error **errp);
int (*parse_cdb)(SCSIDevice *dev, SCSICommand *cmd, uint8_t *buf,
void *hba_private);
SCSIRequest *(*alloc_req)(SCSIDevice *s, uint32_t tag, uint32_t lun,