Patchwork [RFC,V2,01/20] qcow2: Add deduplication to the qcow2 specification.

login
register
mail settings
Submitter Benoît Canet
Date Oct. 17, 2012, 4 p.m.
Message ID <1350489629-1838-2-git-send-email-benoit@irqsave.net>
Download mbox | patch
Permalink /patch/192087/
State New
Headers show

Comments

Benoît Canet - Oct. 17, 2012, 4 p.m.
---
 docs/specs/qcow2.txt |   16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)
Eric Blake - Oct. 17, 2012, 4:28 p.m.
On 10/17/2012 10:00 AM, Benoît Canet wrote:
> ---
>  docs/specs/qcow2.txt |   16 +++++++++++++++-
>  1 file changed, 15 insertions(+), 1 deletion(-)
> 
> diff --git a/docs/specs/qcow2.txt b/docs/specs/qcow2.txt
> index 36a559d..013a16b 100644
> --- a/docs/specs/qcow2.txt
> +++ b/docs/specs/qcow2.txt

>  
> +== Deduplication ==
> +
> +The deduplication extension contains the offset and size of the deduplication
> +table.
> +
> +    Byte   0 - 7:   Offset
> +
> +          8 - 11:   Size

That's still too sparse for a formal documentation - what is the format
of the deduplication table, and what do the bits in that table imply
with regards to how the rest of the qcow2 file is used?
Benoît Canet - Oct. 18, 2012, 9:06 a.m.
> That's still too sparse for a formal documentation - what is the format
> of the deduplication table, and what do the bits in that table imply
> with regards to how the rest of the qcow2 file is used?

I will add this in the next iteration.

Best regards

Benoît

Patch

diff --git a/docs/specs/qcow2.txt b/docs/specs/qcow2.txt
index 36a559d..013a16b 100644
--- a/docs/specs/qcow2.txt
+++ b/docs/specs/qcow2.txt
@@ -80,7 +80,10 @@  in the description of a field.
                                 tables to repair refcounts before accessing the
                                 image.
 
-                    Bits 1-63:  Reserved (set to 0)
+                    Bit 1:      Deduplication bit.  If this bit is set then
+                                deduplication is used on this image.
+
+                    Bits 2-63:  Reserved (set to 0)
 
          80 -  87:  compatible_features
                     Bitmask of compatible features. An implementation can
@@ -116,6 +119,7 @@  be stored. Each extension has a structure like the following:
                         0x00000000 - End of the header extension area
                         0xE2792ACA - Backing file format name
                         0x6803f857 - Feature name table
+                        0xCD8E819B - Deduplication
                         other      - Unknown header extension, can be safely
                                      ignored
 
@@ -159,6 +163,16 @@  the header extension data. Each entry look like this:
                     terminated if it has full length)
 
 
+== Deduplication ==
+
+The deduplication extension contains the offset and size of the deduplication
+table.
+
+    Byte   0 - 7:   Offset
+
+          8 - 11:   Size
+
+
 == Host cluster management ==
 
 qcow2 manages the allocation of host clusters by maintaining a reference count