From 3e82990b52d5afeb4957dd9b87be83d752e369b9 Mon Sep 17 00:00:00 2001 From: Jes Sorensen Date: Thu, 27 May 2010 16:20:30 +0200 Subject: Cleanup: bdrv_open() no need to shift total_size just to shift back. In bdrv_open() there is no need to shift total_size >> 9 just to multiply it by 512 again just a few lines later, since this is the only place the variable is used. Mask with BDRV_SECTOR_MASK to protect against case where we are passed a corrupted image. Signed-off-by: Jes Sorensen Signed-off-by: Kevin Wolf --- block.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/block.c b/block.c index 39724c1..8385b4f 100644 --- a/block.c +++ b/block.c @@ -522,7 +522,7 @@ int bdrv_open(BlockDriverState *bs, const char *filename, int flags, bdrv_delete(bs1); return ret; } - total_size = bdrv_getlength(bs1) >> BDRV_SECTOR_BITS; + total_size = bdrv_getlength(bs1) & BDRV_SECTOR_MASK; if (bs1->drv && bs1->drv->protocol_name) is_protocol = 1; @@ -541,7 +541,7 @@ int bdrv_open(BlockDriverState *bs, const char *filename, int flags, bdrv_qcow2 = bdrv_find_format("qcow2"); options = parse_option_parameters("", bdrv_qcow2->create_options, NULL); - set_option_parameter_int(options, BLOCK_OPT_SIZE, total_size * 512); + set_option_parameter_int(options, BLOCK_OPT_SIZE, total_size); set_option_parameter(options, BLOCK_OPT_BACKING_FILE, backing_filename); if (drv) { set_option_parameter(options, BLOCK_OPT_BACKING_FMT, -- cgit v1.1