From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55532) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YG8FE-0000iK-MB for qemu-devel@nongnu.org; Tue, 27 Jan 2015 10:40:01 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YG8F9-0004bV-V4 for qemu-devel@nongnu.org; Tue, 27 Jan 2015 10:40:00 -0500 Received: from mx1.redhat.com ([209.132.183.28]:36254) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YG8F9-0004bK-OR for qemu-devel@nongnu.org; Tue, 27 Jan 2015 10:39:55 -0500 Message-ID: <54C7B149.4000303@redhat.com> Date: Tue, 27 Jan 2015 08:39:53 -0700 From: Eric Blake MIME-Version: 1.0 References: <1421168546-6232-1-git-send-email-vsementsov@parallels.com> <1421168546-6232-2-git-send-email-vsementsov@parallels.com> In-Reply-To: <1421168546-6232-2-git-send-email-vsementsov@parallels.com> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="Ald857BDa30HPRGii8nHWNNnow9s4wDOX" Subject: Re: [Qemu-devel] [PATCH 1/8] spec: add qcow2-dirty-bitmaps specification List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Vladimir Sementsov-Ogievskiy , qemu-devel@nongnu.org Cc: kwolf@redhat.com, den@openvz.org, jsnow@redhat.com, stefanha@redhat.com, pbonzini@redhat.com This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --Ald857BDa30HPRGii8nHWNNnow9s4wDOX Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 01/13/2015 10:02 AM, Vladimir Sementsov-Ogievskiy wrote: > Persistent dirty bitmaps will be saved into qcow2 files. It may be used= > as 'internal' bitmaps (for qcow2 drives) or as 'external' bitmaps for > other drives (there may be qcow2 file with zero disk size but with > several dirty bitmaps for other drives). >=20 > Signed-off-by: Vladimir Sementsov-Ogievskiy > --- > docs/specs/qcow2.txt | 59 ++++++++++++++++++++++++++++++++++++++++++++= ++++++++ > 1 file changed, 59 insertions(+) >=20 > diff --git a/docs/specs/qcow2.txt b/docs/specs/qcow2.txt > index 121dfc8..b29de40 100644 > --- a/docs/specs/qcow2.txt > +++ b/docs/specs/qcow2.txt > @@ -116,6 +116,13 @@ in the description of a field. > Length of the header structure in bytes. For versi= on 2 > images, the length is always assumed to be 72 byte= s. > =20 > + 104 - 107: nb_dirty_bitmaps > + Number of dirty bitmaps contained in the image > + > + 108 - 115: dirty_bitmaps_offset > + Offset into the image file at which the dirty bitm= aps table > + starts. Must be aligned to a cluster boundary. NACK. You cannot add new fields directly into the header without bumping the version number; but that is overkill. Instead, stick the dirty bitmaps into a new header extension. The existing fields of the header are sufficient to record that a new extension is present. Also, you need to decide whether dirty bitmaps are an ignorable feature or a mandatory feature, and set the appropriate feature bit in the header flag fields (thus when an older qemu that doesn't know about dirty bitmaps opens the file, it will either reject the open due to not knowing how to keep dirty bitmaps sane, or will accept the open but clear the ignorable bit so that the next time a new qemu opens the file it will know that the dirty bitmap is no longer reliable). > +=3D=3D=3D Cluster mapping =3D=3D=3D > + > +Dirty bitmaps are stored using a ONE-level structure for the mapping o= f > +bitmaps to host clusters. There only an L1 table. s/There/There is/ --=20 Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org --Ald857BDa30HPRGii8nHWNNnow9s4wDOX Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 Comment: Public key at http://people.redhat.com/eblake/eblake.gpg Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQEcBAEBCAAGBQJUx7FJAAoJEKeha0olJ0NqRtQH/izuEL9/0tCQIPkIPH0GJQoP mOPsr6DSTHxV4P0WrXYDF1k1Peeicr7NdJboTfXTjRcEZ+SGgTEjr2qhuMu5Jj8c x8dJgn7CWnAH8i9t2A6rKuQlpE0b6DemkkoJmKm7oRHGLVRMnD+/hPrag4LDEtGl e2W/v1Gg/RAlRAY9A2rCj4Kv6t39hcM6RaVnxJqZoPGsgqFV7MscZDv+ZsEird+c 2gn+iOA7MZnw72zBZI5RUXSCcq7GipADCLoezl3oRph9CS87YgPn11iiFO1Tllfi s3VCjDfgmlouLZxylhk9N1RK3OPcPmiJC+UArFb9FYxh7+ASGkXBFmpVLaQQFac= =mdid -----END PGP SIGNATURE----- --Ald857BDa30HPRGii8nHWNNnow9s4wDOX--