On Fri, May 23, 2014 at 01:18:50PM +0200, Kevin Wolf wrote: > Am 22.05.2014 um 11:42 hat Stefan Hajnoczi geschrieben: > > diff --git a/docs/specs/qcow2.txt b/docs/specs/qcow2.txt > > index f19536a..a46ee57 100644 > > --- a/docs/specs/qcow2.txt > > +++ b/docs/specs/qcow2.txt > > @@ -4,6 +4,10 @@ A qcow2 image file is organized in units of constant size, > > which are called > > (host) clusters. A cluster is the unit in which all allocations are done, > > both for actual guest data and for image metadata. > > > > +If the end of the image file is not on a cluster boundary, the missing > > data is > > +treated as zeroes. This layout can occur when an L1 table or refcount > > table is > > +the last thing in the file and not all entries in the table are used. > > + > > Likewise, the virtual disk as seen by the guest is divided into (guest) > > clusters of the same size. > > Why don't we specify this for _any_ data after EOF, as we discussed on > IRC, instead of just for a partial last cluster? > > If we restrict it to the last cluster, specifying the data as zero > doesn't make a whole lot of sense because then the data there wouldn't > be supposed to be interpreted anyway.
That's too general. Specifying it that way means almost all offsets become valid because you're just supposed to read zeroes! That will definitely cause trouble, let's be stricter here. Stefan