On Thu 22 Feb 2018 04:59:20 PM CET, Eric Blake wrote:
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.
But refcount blocks are not addressed by L2 tables, so in principle it
should be possible to have refcount blocks after the first 64PB.
But I agree that it's a good idea to set that as a maximum possible
physical size of the qcow2 image.
@@ -341,7 +355,7 @@ Refcount table entry:
Bit 0 - 8: Reserved (set to 0)
- 9 - 63: Bits 9-63 of the offset into the image file at which the
+ 9 - 55: Bits 9-55 of the offset into the image file at which the
refcount block starts. Must be aligned to a cluster
boundary.
@@ -349,6 +363,8 @@ Refcount table entry:
been allocated. All refcounts managed by this refcount
block
are 0.
+ 56 - 63: Reserved (set to 0)
Are we not updating REFT_OFFSET_MASK as well?