summary refs log tree commit diff stats
path: root/hw/scsi.h
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2011-08-13 18:55:17 +0200
committerKevin Wolf <kwolf@redhat.com>2011-10-28 19:25:51 +0200
commit7e0380b9bbf7c40361e06e6e0d8675a55bd0dea0 (patch)
tree47c51c55182c17aaf6cdfc461ace0ef497c1a664 /hw/scsi.h
parentba74307c5a3c2ff87d4596a10828faf7560d4552 (diff)
downloadfocaccia-qemu-7e0380b9bbf7c40361e06e6e0d8675a55bd0dea0.tar.gz
focaccia-qemu-7e0380b9bbf7c40361e06e6e0d8675a55bd0dea0.zip
scsi: allow arbitrary LUNs
This only requires changes in two places: in SCSIBus, we need to look
for a free LUN if somebody creates a device with a pre-existing scsi-id
but the default LUN (-1, meaning "search for a free spot"); in vSCSI,
we need to actually parse the LUN according to the SCSI spec.

For vSCSI, max_target/max_lun are set according to the logical unit
addressing format in SAM.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'hw/scsi.h')
-rw-r--r--hw/scsi.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/hw/scsi.h b/hw/scsi.h
index add3d2db67..401d8d321a 100644
--- a/hw/scsi.h
+++ b/hw/scsi.h
@@ -98,7 +98,8 @@ struct SCSIDeviceInfo {
 };
 
 struct SCSIBusInfo {
-    int tcq, ndev;
+    int tcq;
+    int max_target, max_lun;
     void (*transfer_data)(SCSIRequest *req, uint32_t arg);
     void (*complete)(SCSIRequest *req, uint32_t arg);
     void (*cancel)(SCSIRequest *req);