From: Max Reitz <mreitz@redhat.com>
To: Peter Lieven <pl@kamp.de>, qemu-devel@nongnu.org
Cc: kwolf@redhat.com, carnold@suse.com, jcody@redhat.com,
stefanha@redhat.com
Subject: Re: [Qemu-devel] [PATCH 3/5] vpc: Ignore geometry for large images
Date: Tue, 24 Feb 2015 09:12:55 -0500 [thread overview]
Message-ID: <54EC86E7.40406@redhat.com> (raw)
In-Reply-To: <54EC1E08.4030205@kamp.de>
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 <kwolf@redhat.com>
>>>
>>> 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 <kwolf@redhat.com>
>>> ---
>>> 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
next prev parent reply other threads:[~2015-02-24 14:13 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-23 14:27 [Qemu-devel] [PATCH 0/5] block/vpc optimizations Peter Lieven
2015-02-23 14:27 ` [Qemu-devel] [PATCH 1/5] block/vpc: optimize vpc_co_get_block_status Peter Lieven
2015-02-23 18:08 ` Max Reitz
2015-02-24 6:41 ` Peter Lieven
2015-02-23 14:27 ` [Qemu-devel] [PATCH 2/5] block/vpc: simplify vpc_read Peter Lieven
2015-02-23 18:29 ` Max Reitz
2015-02-24 6:44 ` Peter Lieven
2015-02-24 14:09 ` Max Reitz
2015-02-23 14:27 ` [Qemu-devel] [PATCH 3/5] vpc: Ignore geometry for large images Peter Lieven
2015-02-23 18:34 ` Max Reitz
2015-02-24 6:45 ` Peter Lieven
2015-02-24 14:12 ` Max Reitz [this message]
2015-02-23 14:27 ` [Qemu-devel] [PATCH 4/5] block/vpc: make calculate_geometry spec conform Peter Lieven
2015-02-23 18:59 ` Max Reitz
2015-02-24 6:49 ` Peter Lieven
2015-02-24 14:14 ` Max Reitz
2015-02-23 14:27 ` [Qemu-devel] [PATCH 5/5] block/vpc: rename footer->size -> footer->current_size Peter Lieven
2015-02-23 19:04 ` Max Reitz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=54EC86E7.40406@redhat.com \
--to=mreitz@redhat.com \
--cc=carnold@suse.com \
--cc=jcody@redhat.com \
--cc=kwolf@redhat.com \
--cc=pl@kamp.de \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.