[Qemu-devel] [PATCH] qcow2: Use offset_into_cluster() and offset_to_l2_index()

Alberto Garcia posted 1 patch 6 years, 10 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20170620130136.14557-1-berto@igalia.com
Test FreeBSD passed
Test checkpatch passed
Test docker passed
Test s390x passed
block/qcow2-cluster.c | 4 ++--
block/qcow2.c         | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
[Qemu-devel] [PATCH] qcow2: Use offset_into_cluster() and offset_to_l2_index()
Posted by Alberto Garcia 6 years, 10 months ago
We already have functions for doing these calculations, so let's use
them instead of doing everything by hand. This makes the code a bit
more readable.

Signed-off-by: Alberto Garcia <berto@igalia.com>
---
 block/qcow2-cluster.c | 4 ++--
 block/qcow2.c         | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/block/qcow2-cluster.c b/block/qcow2-cluster.c
index d779ea19cf..a2c612433d 100644
--- a/block/qcow2-cluster.c
+++ b/block/qcow2-cluster.c
@@ -548,7 +548,7 @@ int qcow2_get_cluster_offset(BlockDriverState *bs, uint64_t offset,
 
     /* find the cluster offset for the given disk offset */
 
-    l2_index = (offset >> s->cluster_bits) & (s->l2_size - 1);
+    l2_index = offset_to_l2_index(s, offset);
     *cluster_offset = be64_to_cpu(l2_table[l2_index]);
 
     nb_clusters = size_to_clusters(s, bytes_needed);
@@ -685,7 +685,7 @@ static int get_cluster_table(BlockDriverState *bs, uint64_t offset,
 
     /* find the cluster offset for the given disk offset */
 
-    l2_index = (offset >> s->cluster_bits) & (s->l2_size - 1);
+    l2_index = offset_to_l2_index(s, offset);
 
     *new_l2_table = l2_table;
     *new_l2_index = l2_index;
diff --git a/block/qcow2.c b/block/qcow2.c
index b3ba5daa93..adb604fc81 100644
--- a/block/qcow2.c
+++ b/block/qcow2.c
@@ -356,7 +356,7 @@ static int validate_table_offset(BlockDriverState *bs, uint64_t offset,
     }
 
     /* Tables must be cluster aligned */
-    if (offset & (s->cluster_size - 1)) {
+    if (offset_into_cluster(s, offset) != 0) {
         return -EINVAL;
     }
 
-- 
2.11.0


Re: [Qemu-devel] [PATCH] qcow2: Use offset_into_cluster() and offset_to_l2_index()
Posted by Kevin Wolf 6 years, 10 months ago
Am 20.06.2017 um 15:01 hat Alberto Garcia geschrieben:
> We already have functions for doing these calculations, so let's use
> them instead of doing everything by hand. This makes the code a bit
> more readable.
> 
> Signed-off-by: Alberto Garcia <berto@igalia.com>

Thanks, applied to the block branch.

Kevin