qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 3/5] vpc: Ignore geometry for large images


From: Max Reitz
Subject: Re: [Qemu-devel] [PATCH 3/5] vpc: Ignore geometry for large images
Date: Tue, 24 Feb 2015 09:12:55 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0

On 2015-02-24 at 01:45, Peter Lieven wrote:
Am 23.02.2015 um 19:34 schrieb Max Reitz:
On 2015-02-23 at 09:27, Peter Lieven wrote:
From: Kevin Wolf <address@hidden>

The CHS calculation as done per the VHD spec imposes a maximum image
size of ~127 GB. Real VHD images exist that are larger than that.

Apparently there are two separate non-standard ways to achieve this:
You could use more heads than the spec does - this is the option that
qemu-img create chooses.

However, other images exist where the geometry is set to the maximum
(65536/16/255), but the actual image size is larger. Until now, such

Notice just now: This should be 65535/16/255.

images are truncated at 127 GB when opening them with qemu.

This patch changes the vpc driver to ignore geometry in this case and
only trust the size field in the header.

Signed-off-by: Kevin Wolf <address@hidden>
---
  block/vpc.c |   10 ++++------
  1 file changed, 4 insertions(+), 6 deletions(-)

I'm trusting you this works for disk2vhd; at least it's in accordance with the VHD specification.

When I wrote the hack for disk2vhd some time ago I just found that the reported size was too big.
I was not aware that it was exactly this special value.

You say in the specs. Do you have a spec that is actually stating that (65536/16/255) is special
value that says ignore CHS and look at the footer?

No, but I do have a spec that says "if the number of sectors is greater than 65535 * 16 * 255, clamp it to 65535 * 16 * 255 for the geometry calculation". This implies to me that this value means that one cannot trust the geometry.

Max



reply via email to

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