qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 2/3] docs: Describe zero data clusters in QED specif


From: Stefan Hajnoczi
Subject: [Qemu-devel] [PATCH 2/3] docs: Describe zero data clusters in QED specification
Date: Fri, 17 Dec 2010 15:58:21 +0000

Zero data clusters are a space-efficient way of storing zeroed regions
of the image.

Signed-off-by: Stefan Hajnoczi <address@hidden>
---
 docs/specs/qed_spec.txt |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/docs/specs/qed_spec.txt b/docs/specs/qed_spec.txt
index 1d5fa87..7982e05 100644
--- a/docs/specs/qed_spec.txt
+++ b/docs/specs/qed_spec.txt
@@ -89,6 +89,7 @@ L1, L2, and data cluster offsets must be aligned to 
header.cluster_size.  The fo
 
 ===Data cluster offsets===
 * 0 - unallocated.  The data cluster is not yet allocated.
+* 1 - zero.  The data cluster contents are all zeroes and no cluster is 
allocated.
 
 Future format extensions may wish to store per-offset information.  The least 
significant 12 bits of an offset are reserved for this purpose and must be set 
to zero.  Image files with cluster_size > 2^12 will have more unused bits which 
should also be zeroed.
 
@@ -97,6 +98,13 @@ Reads to an unallocated area of the image file access the 
backing file.  If ther
 
 Writes to an unallocated area cause a new data clusters to be allocated, and a 
new L2 table if that is also unallocated.  The new data cluster is populated 
with data from the backing file (or zeroes if no backing file) and the data 
being written.
 
+===Zero data clusters===
+Zero data clusters are a space-efficient way of storing zeroed regions of the 
image.
+
+Reads to a zero data cluster produce zeroes.  Note that the difference between 
an unallocated and a zero data cluster is that zero data clusters stop the 
reading of contents from the backing file.
+
+Writes to a zero data cluster cause a new data cluster to be allocated.  The 
new data cluster is populated with zeroes and the data being written.
+
 ===Logical offset translation===
 Logical offsets are translated into cluster offsets as follows:
 
-- 
1.7.2.3




reply via email to

[Prev in Thread] Current Thread [Next in Thread]