This is a split patch series of the previous monolithic flat support version, with improvements according to Kevin's comments.
Original comment: VMDK multiple file images can not be recognized for now. This patch 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. --- block/vmdk.c | 908 +++++++++++++++++++++++++++++++++++++++++----------------- block_int.h | 2 + qemu-img.c | 6 +- 3 files changed, 649 insertions(+), 267 deletions(-)