vmdk: Use vmdk_find_index_in_cluster everywhere

Signed-off-by: Fam Zheng <famz@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
Fam Zheng 2015-06-04 14:02:57 +08:00 committed by Kevin Wolf
parent 61f0ed1d54
commit 90df601f06

View File

@ -1424,7 +1424,6 @@ static int vmdk_read(BlockDriverState *bs, int64_t sector_num,
BDRVVmdkState *s = bs->opaque; BDRVVmdkState *s = bs->opaque;
int ret; int ret;
uint64_t n, index_in_cluster; uint64_t n, index_in_cluster;
uint64_t extent_begin_sector, extent_relative_sector_num;
VmdkExtent *extent = NULL; VmdkExtent *extent = NULL;
uint64_t cluster_offset; uint64_t cluster_offset;
@ -1436,9 +1435,7 @@ static int vmdk_read(BlockDriverState *bs, int64_t sector_num,
ret = get_cluster_offset(bs, extent, NULL, ret = get_cluster_offset(bs, extent, NULL,
sector_num << 9, false, &cluster_offset, sector_num << 9, false, &cluster_offset,
0, 0); 0, 0);
extent_begin_sector = extent->end_sector - extent->sectors; index_in_cluster = vmdk_find_index_in_cluster(extent, sector_num);
extent_relative_sector_num = sector_num - extent_begin_sector;
index_in_cluster = extent_relative_sector_num % extent->cluster_sectors;
n = extent->cluster_sectors - index_in_cluster; n = extent->cluster_sectors - index_in_cluster;
if (n > nb_sectors) { if (n > nb_sectors) {
n = nb_sectors; n = nb_sectors;
@ -1500,7 +1497,6 @@ static int vmdk_write(BlockDriverState *bs, int64_t sector_num,
VmdkExtent *extent = NULL; VmdkExtent *extent = NULL;
int ret; int ret;
int64_t index_in_cluster, n; int64_t index_in_cluster, n;
uint64_t extent_begin_sector, extent_relative_sector_num;
uint64_t cluster_offset; uint64_t cluster_offset;
VmdkMetaData m_data; VmdkMetaData m_data;
@ -1516,9 +1512,7 @@ static int vmdk_write(BlockDriverState *bs, int64_t sector_num,
if (!extent) { if (!extent) {
return -EIO; return -EIO;
} }
extent_begin_sector = extent->end_sector - extent->sectors; index_in_cluster = vmdk_find_index_in_cluster(extent, sector_num);
extent_relative_sector_num = sector_num - extent_begin_sector;
index_in_cluster = extent_relative_sector_num % extent->cluster_sectors;
n = extent->cluster_sectors - index_in_cluster; n = extent->cluster_sectors - index_in_cluster;
if (n > nb_sectors) { if (n > nb_sectors) {
n = nb_sectors; n = nb_sectors;