提交 3e82990b 编写于 作者: J Jes Sorensen 提交者: Kevin Wolf

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: NJes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: NKevin Wolf <kwolf@redhat.com>
上级 358c360f
...@@ -522,7 +522,7 @@ int bdrv_open(BlockDriverState *bs, const char *filename, int flags, ...@@ -522,7 +522,7 @@ int bdrv_open(BlockDriverState *bs, const char *filename, int flags,
bdrv_delete(bs1); bdrv_delete(bs1);
return ret; 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) if (bs1->drv && bs1->drv->protocol_name)
is_protocol = 1; is_protocol = 1;
...@@ -541,7 +541,7 @@ int bdrv_open(BlockDriverState *bs, const char *filename, int flags, ...@@ -541,7 +541,7 @@ int bdrv_open(BlockDriverState *bs, const char *filename, int flags,
bdrv_qcow2 = bdrv_find_format("qcow2"); bdrv_qcow2 = bdrv_find_format("qcow2");
options = parse_option_parameters("", bdrv_qcow2->create_options, NULL); 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); set_option_parameter(options, BLOCK_OPT_BACKING_FILE, backing_filename);
if (drv) { if (drv) {
set_option_parameter(options, BLOCK_OPT_BACKING_FMT, set_option_parameter(options, BLOCK_OPT_BACKING_FMT,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册