From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:49935) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S7qaF-0003ye-V3 for qemu-devel@nongnu.org; Wed, 14 Mar 2012 11:58:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1S7qZn-0000z3-TE for qemu-devel@nongnu.org; Wed, 14 Mar 2012 11:57:51 -0400 Received: from e06smtp17.uk.ibm.com ([195.75.94.113]:45878) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S7qZn-0000yP-KD for qemu-devel@nongnu.org; Wed, 14 Mar 2012 11:57:23 -0400 Received: from /spool/local by e06smtp17.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 14 Mar 2012 15:57:19 -0000 Received: from d06av03.portsmouth.uk.ibm.com (d06av03.portsmouth.uk.ibm.com [9.149.37.213]) by d06nrmr1806.portsmouth.uk.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id q2EFvGnA2650190 for ; Wed, 14 Mar 2012 15:57:16 GMT Received: from d06av03.portsmouth.uk.ibm.com (localhost.localdomain [127.0.0.1]) by d06av03.portsmouth.uk.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id q2EFvG7Y023066 for ; Wed, 14 Mar 2012 09:57:16 -0600 From: Stefan Hajnoczi Date: Wed, 14 Mar 2012 15:57:06 +0000 Message-Id: <1331740626-5053-4-git-send-email-stefanha@linux.vnet.ibm.com> In-Reply-To: <1331740626-5053-1-git-send-email-stefanha@linux.vnet.ibm.com> References: <1331740626-5053-1-git-send-email-stefanha@linux.vnet.ibm.com> Subject: [Qemu-devel] [PATCH v2 3/3] block: enforce constraints on block size properties List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Kevin Wolf , Paolo Bonzini , Stefan Hajnoczi 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 --- block.h | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) diff --git a/block.h b/block.h index 415bb17..3df6c30 100644 --- a/block.h +++ b/block.h @@ -437,10 +437,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), \ -- 1.7.9.1