On Fri, Dec 05, 2014 at 12:49:22PM +0100, Kevin Wolf wrote: > Am 05.12.2014 um 11:26 hat Kevin Wolf geschrieben: > > Like for most other image formats, vhdx images read as all zero in qemu > > after their creation (we're taking advantage from the fact that qemu has > > just created the image, because PAYLOAD_BLOCK_NOT_PRESENT actually means > > undefined rather than zeroed according to the spec). > > > > This fixes that 'qemu-img convert' to vhdx fully populates the image. > > > > Signed-off-by: Kevin Wolf <kw...@redhat.com> > > Jeff, another thing that Max found while we looked at the spec is that > the 1.0 spec defines PAYLOAD_BLOCK_UNMAPPED as 3, but we define it as 5. > It appears that the 0.95 spec actually had it that way. > > Should we handle both 3 and 5 as unmapped? >
Wow - you are right, I checked the 1.0 spec change history. Since one of the valid actions is to read zeros for PAYLOAD_BLOCK_UNMAPPED, it would seem safe to do that for a technically undefined state of '5', especially since that will maintain backwards compatibility of 0.95-spec images. So I think 'yes'.