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 <Jes.Sorensen@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
358c360feb
commit
3e82990b52
4
block.c
4
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,
|
||||
|
Loading…
Reference in New Issue
Block a user