qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v3] vmdk: improve streamOptimized vmdk support


From: Stefan Hajnoczi
Subject: Re: [Qemu-devel] [PATCH v3] vmdk: improve streamOptimized vmdk support
Date: Tue, 12 Aug 2014 11:45:11 +0100
User-agent: Mutt/1.5.23 (2014-03-12)

On Wed, Aug 06, 2014 at 05:24:42PM -0400, Milos Vyletel wrote:
> VMDK's streamOptimized format is different from regular sparse format.
> L1(GD) and L2(GT) tables are not predefined but rather generated and
> written during image creation mainly because there is no way to tell
> how much space data will occupy once they are compressed. Also the
> location of header, L1 and L2 tables differ.
> 
> - L2 tables (grain tables) are written after all grains they point to
> - L1 tables are written after all grains and L2 tables
> - footer at the end is used instead of header in first sector
> 
> Images generated by qemu-img could not be imported (as part of OVA archive)
> to neither VMWare nor OVM because of errors.
> 
> - VMWare during OVA import:
> Not a supported disk format (sparse VMDK too old)
> 
> - OVM's vbox-img during conversion:
> vbox-img: error: Error while copying the image: VERR_EOF
> 
> This patch fixes streamOptimized support in qemu which was not fully
> compatible with VMDK specifications as defined in latest avaialble version
> at https://www.vmware.com/support/developer/vddk/vmdk_50_technote.pdf.
> 
> Qemu generated images are identical to the ones generated by VMWare and
> OVM (vbox-img) with the exception of DescriptorFile but that is expected
> (CID and some additional DDB entries differ). They were also succesfully
> imported to VMWare vCloud, ESXi and Oracle OVM.
> 
> Signed-off-by: Milos Vyletel <address@hidden>
> ---
> v2 changes:
> - updated commit message description with errors received
> - style/grammar fixes (clean checkpatch pass)
> - removed l2_table pointer from VmdkExtent struct
> - fixed memory leak in vmdk_write_footer()
> 
> v3 changes:
> - removed footer from VmdkExtent structure
> - added vmdk_write_grain_directory function to separate GD and footer writes
> - fix possible problems with opening of images created by older implementation
> - fix reverse conversion from VMDK to other formats
> 
>  block/vmdk.c |  355 +++++++++++++++++++++++++++++++++++++++++++++------------
>  1 files changed, 280 insertions(+), 75 deletions(-)

In the future, please send revisions as top-level email threads.  When
people use threaded email clients your patch can be overlooked since
it's a subthread of an old discussion, rather than a new thread in the
inbox.

I skimmed the patch and am relying on Fam for a detailed review.

Attachment: pgpQXwFco8NJq.pgp
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]