Patchwork [RFC,1/7] docs: add dirty bit to qcow2 specification

login
register
mail settings
Submitter Stefan Hajnoczi
Date June 22, 2012, 3:08 p.m.
Message ID <1340377726-5896-2-git-send-email-stefanha@linux.vnet.ibm.com>
Download mbox | patch
Permalink /patch/166638/
State New
Headers show

Comments

Stefan Hajnoczi - June 22, 2012, 3:08 p.m.
The dirty bit will make it possible to perform lazy refcount updates,
where the image file is not kept consistent all the time.  Upon opening
a dirty image file, it is necessary to perform a consistency check and
repair any incorrect refcounts.

Therefore the dirty bit must be an incompatible feature bit.  We don't
want old programs accessing a file with stale refcounts.

Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
---
 docs/specs/qcow2.txt |    6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

Patch

diff --git a/docs/specs/qcow2.txt b/docs/specs/qcow2.txt
index 87bf785..3a789ce 100644
--- a/docs/specs/qcow2.txt
+++ b/docs/specs/qcow2.txt
@@ -75,7 +75,11 @@  in the description of a field.
                     Bitmask of incompatible features. An implementation must
                     fail to open an image if an unknown bit is set.
 
-                    Bits 0-63:  Reserved (set to 0)
+                    Bit 0: Dirty bit.  If this bit is set then refcounts may be
+                           inconsistent, make sure to scan L1/L2 tables to
+                           repair refcounts before accessing the image.
+
+                    Bits 1-63:  Reserved (set to 0)
 
          80 -  87:  compatible_features
                     Bitmask of compatible features. An implementation can