On Tue 24 Apr 2018 12:33:34 AM CEST, Eric Blake wrote:
> 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 current L1/L2
> field encoding stopping at bit 55), 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 to match
> the L1/L2 table, 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.  If 64PB proves to
> be too small in the future, we could enlarge all three uses of bit
> 55 into the reserved bits at that time.  (For reference, ext4 with
> 4k blocks caps files at 16PB.)
>
> However, there is one limit that reserved bits don't help with: for
> compressed clusters, the L2 layout requires an ever-smaller maximum
> host offset as cluster size gets larger, down to a 512 TB maximum
> with 2M clusters.
>
> Signed-off-by: Eric Blake <ebl...@redhat.com>

Reviewed-by: Alberto Garcia <be...@igalia.com>

Berto

Reply via email to