summary refs log tree commit diff stats
path: root/hw/usb-msd.c
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/usb-msd.c
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 '')
-rw-r--r--hw/usb-msd.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/hw/usb-msd.c b/hw/usb-msd.c
index 2c047fab39..1a0815a136 100644
--- a/hw/usb-msd.c
+++ b/hw/usb-msd.c
@@ -497,7 +497,8 @@ static void usb_msd_password_cb(void *opaque, int err)
 
 static const struct SCSIBusInfo usb_msd_scsi_info = {
     .tcq = false,
-    .ndev = 1,
+    .max_target = 0,
+    .max_lun = 0,
 
     .transfer_data = usb_msd_transfer_data,
     .complete = usb_msd_command_complete,