diff options
author | Fam Zheng <famz@redhat.com> | 2014-08-12 10:12:55 +0800 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2014-08-26 13:20:44 +0200 |
commit | a818a4b69d47ca3826dee36878074395aeac2083 (patch) | |
tree | dd1ef56c9ebcbe3377475c5cd3c660120474ef8f /include/hw/scsi | |
parent | 5ff5efb46c4526f111e14c2247609f1c56f0f8f3 (diff) | |
download | hqemu-a818a4b69d47ca3826dee36878074395aeac2083.zip hqemu-a818a4b69d47ca3826dee36878074395aeac2083.tar.gz |
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/hw/scsi')
-rw-r--r-- | include/hw/scsi/scsi.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/include/hw/scsi/scsi.h b/include/hw/scsi/scsi.h index a7a28e6..2e3a8f9 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, |