From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1OA0d4-0004Zk-DZ for qemu-devel@nongnu.org; Thu, 06 May 2010 08:56:38 -0400 Received: from [140.186.70.92] (port=42963 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OA0d3-0004Xx-9x for qemu-devel@nongnu.org; Thu, 06 May 2010 08:56:38 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OA0d1-0001yR-Vp for qemu-devel@nongnu.org; Thu, 06 May 2010 08:56:37 -0400 Received: from mx1.redhat.com ([209.132.183.28]:34058) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OA0d1-0001yL-JP for qemu-devel@nongnu.org; Thu, 06 May 2010 08:56:35 -0400 From: Kevin Wolf Date: Thu, 6 May 2010 14:55:59 +0200 Message-Id: <1273150559-1587-1-git-send-email-kwolf@redhat.com> Subject: [Qemu-devel] [PATCH] vdi: Fix image creation List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: kwolf@redhat.com The number of blocks needs to be rounded up to cover all of the virtual hard disk. Without this fix, we can't even open our own images if their size is not a multiple of the block size. Signed-off-by: Kevin Wolf --- block/vdi.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/block/vdi.c b/block/vdi.c index 2b4d2c2..b990bbc 100644 --- a/block/vdi.c +++ b/block/vdi.c @@ -827,7 +827,7 @@ static int vdi_create(const char *filename, QEMUOptionParameter *options) return -errno; } - blocks = bytes / block_size; + blocks = (bytes + block_size - 1) / block_size; bmap_size = blocks * sizeof(uint32_t); bmap_size = ((bmap_size + SECTOR_SIZE - 1) & ~(SECTOR_SIZE -1)); -- 1.6.6.1