summaryrefslogtreecommitdiff
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)
downloadqemu-7e0380b9bbf7c40361e06e6e0d8675a55bd0dea0.tar.gz
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/usb-msd.c')
-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,