• N
    spapr_vscsi: Fix REPORT_LUNS handling · 3052f0d5
    Nathan Whitehorn 提交于
    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: NNathan Whitehorn <nwhitehorn@freebsd.org>
    Acked-by: NPaolo Bonzini <pbonzini@redhat.com>
    [agraf: define constant as ULL for 32bit hosts]
    Signed-off-by: NAlexander Graf <agraf@suse.de>
    3052f0d5
spapr_vscsi.c 37.4 KB