From: Stefan Hajnoczi Date: Wed, 14 Mar 2012 15:57:06 +0000 (+0000) Subject: block: enforce constraints on block size properties X-Git-Tag: v1.1-rc0~126^2~32 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=1fc86bf963a0617bc9eabfa6c14dbca76cd57976;p=qemu.git block: enforce constraints on block size properties Nicolae Mogoreanu noticed that I/O requests can lead to QEMU crashes when the logical_block_size property is smaller than 512 bytes. Using the new "blocksize" property we can properly enforce constraints on the block size such that QEMU's block layer is able to operate correctly. Reported-by: Nicolae Mogoreanu Reported-by: Michael Halcrow Signed-off-by: Stefan Hajnoczi Reviewed-by: Paolo Bonzini Signed-off-by: Kevin Wolf --- diff --git a/block.h b/block.h index e670606af..c51ab163d 100644 --- a/block.h +++ b/block.h @@ -435,10 +435,10 @@ static inline unsigned int get_physical_block_exp(BlockConf *conf) #define DEFINE_BLOCK_PROPERTIES(_state, _conf) \ DEFINE_PROP_DRIVE("drive", _state, _conf.bs), \ - DEFINE_PROP_UINT16("logical_block_size", _state, \ - _conf.logical_block_size, 512), \ - DEFINE_PROP_UINT16("physical_block_size", _state, \ - _conf.physical_block_size, 512), \ + DEFINE_PROP_BLOCKSIZE("logical_block_size", _state, \ + _conf.logical_block_size, 512), \ + DEFINE_PROP_BLOCKSIZE("physical_block_size", _state, \ + _conf.physical_block_size, 512), \ DEFINE_PROP_UINT16("min_io_size", _state, _conf.min_io_size, 0), \ DEFINE_PROP_UINT32("opt_io_size", _state, _conf.opt_io_size, 0), \ DEFINE_PROP_INT32("bootindex", _state, _conf.bootindex, -1), \