aboutsummaryrefslogtreecommitdiff
path: root/block/vmdk.c
diff options
context:
space:
mode:
authorFam Zheng <famcool@gmail.com>2011-08-12 23:19:27 +0800
committerKevin Wolf <kwolf@redhat.com>2011-09-06 12:20:43 +0200
commit6398de5160e3271b720190b7d6801aecffc91978 (patch)
tree1767b0b447c01e681349a5b971a709cc4179f1cc /block/vmdk.c
parentba5b7ad4495a9788d0af67133186bbc7a553008f (diff)
VMDK: enable twoGbMaxExtentFlat
Enable the createType 'twoGbMaxExtentFlat'. The supporting code is already in. Signed-off-by: Fam Zheng <famcool@gmail.com> Reviewed-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'block/vmdk.c')
-rw-r--r--block/vmdk.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/block/vmdk.c b/block/vmdk.c
index 5f673e9e25..1e9e8d0534 100644
--- a/block/vmdk.c
+++ b/block/vmdk.c
@@ -551,7 +551,8 @@ static int vmdk_open_desc_file(BlockDriverState *bs, int flags)
if (vmdk_parse_description(buf, "createType", ct, sizeof(ct))) {
return -EINVAL;
}
- if (strcmp(ct, "monolithicFlat")) {
+ if (strcmp(ct, "monolithicFlat") &&
+ strcmp(ct, "twoGbMaxExtentFlat")) {
fprintf(stderr,
"VMDK: Not supported image type \"%s\""".\n", ct);
return -ENOTSUP;
@@ -672,6 +673,7 @@ static int get_cluster_offset(BlockDriverState *bs,
return 0;
}
+ offset -= (extent->end_sector - extent->sectors) * SECTOR_SIZE;
l1_index = (offset >> 9) / extent->l1_entry_sectors;
if (l1_index >= extent->l1_size) {
return -1;