qemu-block
[Top][All Lists]
Advanced

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

Re: [Qemu-block] [PATCH v3 2/4] qcow2: Document some maximum size constr


From: Eric Blake
Subject: Re: [Qemu-block] [PATCH v3 2/4] qcow2: Document some maximum size constraints
Date: Tue, 27 Feb 2018 08:31:21 -0600
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0

On 02/27/2018 05:47 AM, Kevin Wolf wrote:
Am 22.02.2018 um 16:59 hat Eric Blake geschrieben:
Although off_t permits up to 63 bits (8EB) of file offsets, in
practice, we're going to hit other limits first.  Document some
of those limits in the qcow2 spec, and how choice of cluster size
can influence some of the limits.

While at it, notice that since we cannot map any virtual cluster
to any address higher than 64 PB (56 bits) (due to the L1/L2 field
encoding), it makes little sense to require the refcount table to
access host offsets beyond that point.  Mark the upper bits of
the refcount table entries as reserved, with no ill effects, since
it is unlikely that there are any existing images larger than 64PB
in the first place, and thus all existing images already have those
bits as 0.

Signed-off-by: Eric Blake <address@hidden>

I think it would be good to mention the exact reason for the 56 bits in
the spec. Even this commit message is rather vague ('L1/L2 field
encoding'), so if at some point someone wonders, if we couldn't simply
extend the allowed range, they won't easily see that it's related to
compressed clusters.

Note that L1 and L2 fields both stop at bit 55 currently, but do have room for expansion up to bit 61; so all three limits (if we include refcount table in the set capped at bit 55 for now) could be raised simultaneously if we find 64P too small in the future.

Compressed clusters are also related, but there, the limit is even smaller - with 2M clusters, a compressed cluster must reside within the first 512T of host offsets, and there are no free bits available for allowing additional compressed cluster storage without making an incompatible change of how compressed clusters are represented.

--
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org



reply via email to

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