qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [Bug 907063] [NEW] Error reading VMDK4 with footer inst


From: Stefan Hajnoczi
Subject: Re: [Qemu-devel] [Bug 907063] [NEW] Error reading VMDK4 with footer instead of header
Date: Wed, 21 Dec 2011 09:24:13 -0000

On Tue, Dec 20, 2011 at 8:53 PM, bbgordonn <address@hidden> wrote:
> Public bug reported:
>
> VMDK4 files can have a footer in the last block, which is the same 
> datastructure as the header but must be used instead if present. In this 
> case, the gd_offset in the usual header at the beginning of the file is the 
> special flag -1 (VMDK 1.1 spec, page 17, "GD_AT_END
> "). qemu-img doesn't know about this flag so it goes on to try to read 
> extents with a bogus l1_table from the wrong location in the file.
>
> I have regression-tested this with various OVAs exported from
> VSphere/ESXi 3 and 4. Current master and all previous QEMU versions were
> unable to import any compressed VMDKs with a footer. It now works on all
> the ones I have.
>
> bb45ded93115ad4303471c9a492579dc36716547 changed the order of gd_offset
> and rgd_offset in the VMDK4Header struct. Page 8 of the VMDK 1.1 spec
> from VMWare shows the structure as rgd_ then gd_, while QEMU now has gd_
> *before* rgd_offset. I was only able to get VMDK conversion to work by
> switching the order back to that specified by VMWare and previously used
> by QEMU. I don't know what VMDK this commit is referring to, so I can't
> test to see if I've broken it. :(
>
> I will submit this patch to the mailing list if I get a chance, but I'm
> also uploading it here so I don't lose it.
>
> ** Affects: qemu
>     Importance: Undecided
>         Status: New
>
> --
> You received this bug notification because you are a member of qemu-
> devel-ml, which is subscribed to QEMU.
> https://bugs.launchpad.net/bugs/907063

Thanks for reporting this.  I have CCed Fam who worked on VMDK this
summer.

Please submit patches to the mailing list according to the guidelines
here:

http://wiki.qemu.org/Contribute/SubmitAPatch

Stefan

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/907063

Title:
  Error reading VMDK4 with footer instead of header

Status in QEMU:
  New

Bug description:
  VMDK4 files can have a footer in the last block, which is the same 
datastructure as the header but must be used instead if present. In this case, 
the gd_offset in the usual header at the beginning of the file is the special 
flag -1 (VMDK 1.1 spec, page 17, "GD_AT_END
  "). qemu-img doesn't know about this flag so it goes on to try to read 
extents with a bogus l1_table from the wrong location in the file.

  I have regression-tested this with various OVAs exported from
  VSphere/ESXi 3 and 4. Current master and all previous QEMU versions
  were unable to import any compressed VMDKs with a footer. It now works
  on all the ones I have.

  bb45ded93115ad4303471c9a492579dc36716547 changed the order of
  gd_offset and rgd_offset in the VMDK4Header struct. Page 8 of the VMDK
  1.1 spec from VMWare shows the structure as rgd_ then gd_, while QEMU
  now has gd_ *before* rgd_offset. I was only able to get VMDK
  conversion to work by switching the order back to that specified by
  VMWare and previously used by QEMU. I don't know what VMDK this commit
  is referring to, so I can't test to see if I've broken it. :(

  I will submit this patch to the mailing list if I get a chance, but
  I'm also uploading it here so I don't lose it.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/907063/+subscriptions



reply via email to

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