• D
    scsi-disk: Block Device Characteristics emulation fix · 740842c9
    Daniel Henrique Barboza 提交于
    The current BDC VPD page (page 0xb1) is too short. This can be
    seen running sg_utils:
    
    $ sg_vpd --page=bdc /dev/sda
    Block device characteristics VPD page (SBC):
    Block device characteristics VPD page length too short=8
    
    By the SCSI spec, the expected size of the SBC page is 0x40.
    There is no telling how the guest will behave with a shorter
    message - it can ignore it, or worse, make (wrong)
    assumptions.
    
    This patch fixes the emulation by setting the size to 0x40.
    This is the output of the previous sg_vpd command after
    applying it:
    
    $ sg_vpd --page=bdc /dev/sda -v
        inquiry cdb: 12 01 b1 00 fc 00
    Block device characteristics VPD page (SBC):
       [PQual=0  Peripheral device type: disk]
      Medium rotation rate is not reported
      Product type: Not specified
      WABEREQ=0
      WACEREQ=0
      Nominal form factor not reported
      FUAB=0
      VBULS=0
    
    To improve readability, this patch also adds the VBULS value
    explictly and add comments on the existing fields we're
    setting.
    Signed-off-by: NDaniel Henrique Barboza <danielhb413@gmail.com>
    Acked-by: NPaolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: NKevin Wolf <kwolf@redhat.com>
    740842c9
scsi-disk.c 96.2 KB