On Mon, Apr 01, 2019 at 01:17:19PM +0100, Paul Durrant wrote:
> The Xen blkif protocol requires that sector based quantities should be
> interpreted strictly as multiples of 512 bytes. Specifically:
> 
> "first_sect and last_sect in blkif_request_segment, as well as
> sector_number in blkif_request, are always expressed in 512-byte units."
> 
> Commit fcab2b464e06 "xen: add header and build dataplane/xen-block.c"
> incorrectly modified behaviour to use the block device logical_block_size
> property as the scale, instead of correctly shifting values by the
> hardcoded BDRV_SECTOR_BITS (and hence scaling them to 512 byte units).
> This patch undoes that change and restores compliance with the spec.
> 
> Furthermore, this patch also restores the original xen_disk behaviour
> of advertizing a hardcoded 'sector-size' value of 512 in xenstore and
> scaling 'sectors' accordingly. The realize() method is also modified to
> fail if logical_block_size is set to anything other than 512.
> 
> Signed-off-by: Paul Durrant <[email protected]>

Reviewed-by: Anthony PERARD <[email protected]>

Thanks,

-- 
Anthony PERARD

Reply via email to