On 26.11.2015 11:17, Stefan Hajnoczi wrote:
On Mon, Nov 23, 2015 at 04:32:37PM +0300, Denis V. Lunev wrote:
From: Vladimir Sementsov-Ogievskiy <[email protected]>
This specifies Parallels image format as implemented in Parallels Cloud
Server 6.10
Signed-off-by: Vladimir Sementsov-Ogievskiy <[email protected]>
Signed-off-by: Denis V. Lunev <[email protected]>
CC: Eric Blake <[email protected]>
CC: John Snow <[email protected]>
CC: Stefan Hajnoczi <[email protected]>
---
v2: add license info
switch to offsets from types in field descriptions
Cool! Thanks for publishing a specification. This will help everyone
understand the code.
+=== Dirty bitmaps feature ===
+
+This feature provides a way of storing dirty bitmaps in the image. The fields
+of its data area are:
+
+ 0 - 7: size
+ The bitmap size, should be equal to disk size in sectors.
+
+ 8 - 23: id
+ An identifier for backup consistency checking.
+
+ 24 - 27: granularity
+ Bitmap granularity, in sectors. I.e., the number of sectors
+ corresponding to one bit of the bitmap.
Does this need to be a power of 2?
Good point
+ 28 - 31: l1_size
+ The number of entries in the L1 table of the bitmap.
+
+ variable: l1 (64 * l1_size bytes)
+ L1 offset table (in bytes)
+
+A dirty bitmap is stored using a one-level structure for the mapping to host
+clusters - an L1 table.
+
+Given an offset into the bitmap, the offset in bytes into the image file can be
What are the units of the offset into the bitmap? Is it a bit number
(i.e. sector number / granularity)?
No, here bitmap is considered as raw data, stored using L1, so offset is
in bytes. Bytes of the bitmap itself, as raw binary data.
--
Best regards,
Vladimir
* now, @virtuozzo.com instead of @parallels.com. Sorry for this inconvenience.