|
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 specialvalue 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
[Prev in Thread] | Current Thread | [Next in Thread] |