• David Gibson's avatar
    scsi: virtio_scsi: Always try to read VPD pages · 25d1d50e
    David Gibson authored
    Passed through SCSI targets may have transfer limits which come from the
    host SCSI controller or something on the host side other than the target
    itself.
    
    To make this work properly, the hypervisor can adjust the target's VPD
    information to advertise these limits.  But for that to work, the guest
    has to look at the VPD pages, which we won't do by default if it is an
    SPC-2 device, even if it does actually support it.
    
    This adds a workaround to address this, forcing devices attached to a
    virtio-scsi controller to always check the VPD pages.  This is modelled
    on a similar workaround for the storvsc (Hyper-V) SCSI controller,
    although that exists for slightly different reasons.
    
    A specific case which causes this is a volume from IBM's IPR RAID
    controller (which presents as an SPC-2 device, although it does support
    VPD) passed through with qemu's 'scsi-block' device.
    
    [mkp: fixed typo]
    Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
    Acked-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
    25d1d50e
virtio_scsi.c 29 KB