[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [Bug 907063] Re: Error reading VMDK4 with footer instead of
From: |
bbgordonn |
Subject: |
[Qemu-devel] [Bug 907063] Re: Error reading VMDK4 with footer instead of header |
Date: |
Tue, 20 Dec 2011 20:53:48 -0000 |
** Attachment added: "qemu-1.0-vmdk4-headers.patch"
https://bugs.launchpad.net/bugs/907063/+attachment/2641812/+files/qemu-1.0-vmdk4-headers.patch
--
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
- [Qemu-devel] [PATCH v2 0/9] various ARM fixes, Mark Langsdorf, 2011/12/22
- [Qemu-devel] [PATCH v2 4/9] arm: add dummy gic security registers, Mark Langsdorf, 2011/12/22
- [Qemu-devel] [PATCH v2 2/9] arm: Set frequencies for arm_timer, Mark Langsdorf, 2011/12/22
- [Qemu-devel] [PATCH 5/9] ahci: convert ahci_reset to use AHCIState, Mark Langsdorf, 2011/12/22
- [Qemu-devel] [PATCH v2 1/9] arm: add missing scu registers, Mark Langsdorf, 2011/12/22
- [Qemu-devel] [PATCH 9/9] arm: increase a9mp interrupts to 160, Mark Langsdorf, 2011/12/22
- [Qemu-devel] [PATCH v2 3/9] arm: add dummy v7 cp15 config_base_register, Mark Langsdorf, 2011/12/22
- [Qemu-devel] [PATCH v2 8/9] Add xgmac ethernet model, Mark Langsdorf, 2011/12/22
- [Qemu-devel] [PATCH 6/9] ahci: add support for non-PCI based controllers, Mark Langsdorf, 2011/12/22
- [Qemu-devel] [PATCH v2 7/9] add L2x0/PL310 cache controller device, Mark Langsdorf, 2011/12/22