aboutsummaryrefslogtreecommitdiff
path: root/block
diff options
context:
space:
mode:
authorAlberto Garcia <berto@igalia.com>2018-02-05 16:33:14 +0200
committerMax Reitz <mreitz@redhat.com>2018-02-13 16:59:59 +0100
commit8f8181757771f252106efe2d6e833aabf0b64d01 (patch)
tree6a9e91f03895504cc190e93fab2ae4f716a79eff /block
parent3c2e511a24b51c5bfc70d365b54ad8c612d3b07c (diff)
downloadqemu-8f8181757771f252106efe2d6e833aabf0b64d01.zip
qemu-8f8181757771f252106efe2d6e833aabf0b64d01.tar.gz
qemu-8f8181757771f252106efe2d6e833aabf0b64d01.tar.bz2
qcow2: Add offset_to_l2_slice_index()
Similar to offset_to_l2_index(), this function takes a guest offset and returns the index in the L2 slice that contains its L2 entry. An L2 slice has currently the same size as an L2 table (one cluster), so both functions return the same value for now. Signed-off-by: Alberto Garcia <berto@igalia.com> Reviewed-by: Eric Blake <eblake@redhat.com> Reviewed-by: Max Reitz <mreitz@redhat.com> Message-id: a1c45c5c5a76146dd1712d8d1e7b409ad539c718.1517840877.git.berto@igalia.com Signed-off-by: Max Reitz <mreitz@redhat.com>
Diffstat (limited to 'block')
-rw-r--r--block/qcow2.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/block/qcow2.h b/block/qcow2.h
index 45fb7f4..d956a6c 100644
--- a/block/qcow2.h
+++ b/block/qcow2.h
@@ -474,6 +474,11 @@ static inline int offset_to_l2_index(BDRVQcow2State *s, int64_t offset)
return (offset >> s->cluster_bits) & (s->l2_size - 1);
}
+static inline int offset_to_l2_slice_index(BDRVQcow2State *s, int64_t offset)
+{
+ return (offset >> s->cluster_bits) & (s->l2_slice_size - 1);
+}
+
static inline int64_t align_offset(int64_t offset, int n)
{
offset = (offset + n - 1) & ~(n - 1);