xemu/hw/scsi
Nathan Whitehorn 3052f0d594 spapr_vscsi: Fix REPORT_LUNS handling
Intercept REPORT_LUNS commands addressed either to SRP LUN 0 or the well-known
LUN for REPORT_LUNS commands. This is required to implement the SAM and SPC
specifications.

Since SRP implements only a single SCSI target port per connection, the SRP
target is required to report all available LUNs in response to a REPORT_LUNS
command addressed either to LUN 0 or the well-known LUN. Instead, QEMU was
forwarding such requests to the first QEMU SCSI target, with the result that
initiators that relied on this feature would only see LUNs on the first QEMU
SCSI target.

Behavior for REPORT_LUNS commands addressed to any other LUN is not specified
by the standard and so is left unchanged. This preserves behavior under Linux
and SLOF, which enumerate possible LUNs by hand and so address no commands
either to LUN 0 or the well-known REPORT_LUNS LUN.

Signed-off-by: Nathan Whitehorn <nwhitehorn@freebsd.org>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
[agraf: define constant as ULL for 32bit hosts]
Signed-off-by: Alexander Graf <agraf@suse.de>
2014-03-05 03:06:26 +01:00
..
esp-pci.c hw: set interrupts using pci irq wrappers 2013-10-14 17:11:45 +03:00
esp.c scsi: Pass size to scsi_bus_new() 2013-08-30 20:14:39 +02:00
lsi53c895a.c pci, pc, acpi fixes, enhancements 2013-10-31 16:58:32 +01:00
Makefile.objs vhost-scsi: new device supporting the tcm_vhost Linux kernel module 2013-04-19 16:18:11 +02:00
megasas.c qdev: Remove hex8/32/64 property types 2014-02-14 21:12:04 +01:00
mfi.h hw: move private headers to hw/ subdirectories. 2013-04-08 18:13:16 +02:00
scsi-bus.c scsi-bus: Fix transfer length for VERIFY with BYTCHK=11b 2014-02-22 10:02:23 +01:00
scsi-disk.c scsi-disk: Add support for port WWN and index descriptors in VPD page 83h 2014-02-22 10:02:24 +01:00
scsi-generic.c scsi: Change scsi sense buf size to 252 2014-02-22 10:02:23 +01:00
spapr_vscsi.c spapr_vscsi: Fix REPORT_LUNS handling 2014-03-05 03:06:26 +01:00
srp.h spapr-vscsi: add task management 2013-09-12 08:46:21 +02:00
vhost-scsi.c virtio: Convert exit to unrealize 2013-12-09 21:46:49 +01:00
viosrp.h hw: move private headers to hw/ subdirectories. 2013-04-08 18:13:16 +02:00
virtio-scsi.c virtio-scsi: Prevent assertion on missed events 2014-01-15 10:36:24 +01:00
vmw_pvscsi.c exec: Make stl_*_phys input an AddressSpace 2014-02-11 22:57:18 +10:00
vmw_pvscsi.h scsi: VMWare PVSCSI paravirtual device implementation 2013-04-19 10:44:17 +02:00