From: Fam Zheng <famc...@gmail.com> VMDK multiple file images can not be recognized for now. This patch series is adding monolithic flat support to it, that is the image type with two files, one text descriptor file and a plain data file. This type of image can be created in VMWare, with the options "allocate all disk space now" and "store virtual disk as a single file" checked.
A VmdkExtent structure is introduced to hold the image "extent" information, which makes further adding multi extents support of VMDK easy. An image creating option "flat" is added for creating flat (preallocated) image. Fam Zheng (12): VMDK: introduce VmdkExtent VMDK: bugfix, align offset to cluster in get_whole_cluster VMDK: probe for monolithicFlat images VMDK: separate vmdk_open by format version VMDK: add field BDRVVmdkState.desc_offset VMDK: flush multiple extents VMDK: move 'static' cid_update flag to bs field VMDK: change get_cluster_offset return type VMDK: open/read/write for monolithicFlat image VMDK: create different subformats VMDK: fix coding style BlockDriver: add bdrv_get_allocated_file_size() operation block.c | 19 + block.h | 1 + block/raw-posix.c | 21 + block/raw-win32.c | 29 ++ block/vmdk.c | 1360 +++++++++++++++++++++++++++++++++++++---------------- block_int.h | 2 + qemu-img.c | 31 +-- 7 files changed, 1026 insertions(+), 437 deletions(-)