diff mbox

qcow2: fix wrong value of L1E_OFFSET_MASK, L2E_OFFSET_MASK and REFT_OFFSET_MASK

Message ID 1390275002-25357-1-git-send-email-hutao@cn.fujitsu.com
State New
Headers show

Commit Message

Hu Tao Jan. 21, 2014, 3:30 a.m. UTC
Accoring to qcow spec, the offset fields in l1e, l2e and ref table entry
start at bit 9. The offset is cluster offset, and the smallest possible
cluster size is 512 bytes.

Signed-off-by: Hu Tao <hutao@cn.fujitsu.com>
---
 block/qcow2.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

Kevin Wolf Jan. 21, 2014, 10:57 a.m. UTC | #1
Am 21.01.2014 um 04:30 hat Hu Tao geschrieben:
> Accoring to qcow spec, the offset fields in l1e, l2e and ref table entry
> start at bit 9. The offset is cluster offset, and the smallest possible
> cluster size is 512 bytes.
> 
> Signed-off-by: Hu Tao <hutao@cn.fujitsu.com>

Thanks, applied to the block branch (and removed the patch to the spec
from the queue).

Kevin
diff mbox

Patch

diff --git a/block/qcow2.h b/block/qcow2.h
index 303eb26..b5b7d13 100644
--- a/block/qcow2.h
+++ b/block/qcow2.h
@@ -340,11 +340,11 @@  typedef enum QCow2MetadataOverlap {
 #define QCOW2_OL_ALL \
     (QCOW2_OL_CACHED | QCOW2_OL_INACTIVE_L2)
 
-#define L1E_OFFSET_MASK 0x00ffffffffffff00ULL
-#define L2E_OFFSET_MASK 0x00ffffffffffff00ULL
+#define L1E_OFFSET_MASK 0x00fffffffffffe00ULL
+#define L2E_OFFSET_MASK 0x00fffffffffffe00ULL
 #define L2E_COMPRESSED_OFFSET_SIZE_MASK 0x3fffffffffffffffULL
 
-#define REFT_OFFSET_MASK 0xffffffffffffff00ULL
+#define REFT_OFFSET_MASK 0xfffffffffffffe00ULL
 
 static inline int64_t start_of_cluster(BDRVQcowState *s, int64_t offset)
 {