Skip to content
  • Stefan Hajnoczi's avatar
    qdev: add blocksize property type · 02fda01c
    Stefan Hajnoczi authored
    
    
    Storage interfaces like virtio-blk can be configured with block size
    information so that the guest can take advantage of efficient I/O
    request sizes.
    
    According to the SCSI Block Commands (SBC) standard a device's block
    size is "almost always greater than one byte and may be a multiple of
    512 bytes".  QEMU currently has a 512 byte minimum block size because
    the block layer functions work at that granularity.  Furthermore, the
    block size should be a power of 2 because QEMU calculates bitmasks from
    the value.
    
    Introduce a "blocksize" property type so devices can enforce these
    constraints on block size values.  If the constraints are relaxed in the
    future then this property can be updated.
    
    Introduce the new PropertyValueNotPowerOf2 QError so QMP clients know
    exactly why a block size value was rejected.
    
    Signed-off-by: default avatarStefan Hajnoczi <stefanha@linux.vnet.ibm.com>
    Reviewed-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
    02fda01c