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: Milos Vyletel
Subject: Re: [Qemu-devel] [PATCH v3] vmdk: improve streamOptimized vmdk support
Date: Tue, 12 Aug 2014 08:44:22 -0400

On Tue, Aug 12, 2014 at 6:45 AM, Stefan Hajnoczi <address@hidden> wrote:
> 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.

Will do. Sorry about that. I just thought it's easier to have it all
in one thread so lets say that in future you find this thread in
archive and you'll have all patch versions in one place and don't have
to look for other threads.

Milos



reply via email to

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