vmdk: support vmfs files
VMware ESX hosts also use different create and extent types for flat files, respectively "vmfs" and "VMFS". This is not documented, but it can be found at http://kb.vmware.com/kb/10002511 (Recreating a missing virtual machine disk (VMDK) descriptor file). Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Fam Zheng <famz@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
parent
daac8fdc68
commit
04d542c8b8
@ -719,7 +719,7 @@ static int vmdk_parse_extents(const char *desc, BlockDriverState *bs,
|
|||||||
|
|
||||||
if (sectors <= 0 ||
|
if (sectors <= 0 ||
|
||||||
(strcmp(type, "FLAT") && strcmp(type, "SPARSE") &&
|
(strcmp(type, "FLAT") && strcmp(type, "SPARSE") &&
|
||||||
strcmp(type, "VMFSSPARSE")) ||
|
strcmp(type, "VMFS") && strcmp(type, "VMFSSPARSE")) ||
|
||||||
(strcmp(access, "RW"))) {
|
(strcmp(access, "RW"))) {
|
||||||
goto next_line;
|
goto next_line;
|
||||||
}
|
}
|
||||||
@ -732,7 +732,7 @@ static int vmdk_parse_extents(const char *desc, BlockDriverState *bs,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* save to extents array */
|
/* save to extents array */
|
||||||
if (!strcmp(type, "FLAT")) {
|
if (!strcmp(type, "FLAT") || !strcmp(type, "VMFS")) {
|
||||||
/* FLAT extent */
|
/* FLAT extent */
|
||||||
VmdkExtent *extent;
|
VmdkExtent *extent;
|
||||||
|
|
||||||
@ -790,6 +790,7 @@ static int vmdk_open_desc_file(BlockDriverState *bs, int flags,
|
|||||||
goto exit;
|
goto exit;
|
||||||
}
|
}
|
||||||
if (strcmp(ct, "monolithicFlat") &&
|
if (strcmp(ct, "monolithicFlat") &&
|
||||||
|
strcmp(ct, "vmfs") &&
|
||||||
strcmp(ct, "vmfsSparse") &&
|
strcmp(ct, "vmfsSparse") &&
|
||||||
strcmp(ct, "twoGbMaxExtentSparse") &&
|
strcmp(ct, "twoGbMaxExtentSparse") &&
|
||||||
strcmp(ct, "twoGbMaxExtentFlat")) {
|
strcmp(ct, "twoGbMaxExtentFlat")) {
|
||||||
|
Loading…
Reference in New Issue
Block a user