[14/31] qcow2: Add offset_to_l2_slice_index()

Message ID 4a09034dec07286f1dc73be9b34884306a932950.1507813391.git.berto@igalia.com
State New
Headers show
Series
  • Allow configuring the qcow2 L2 cache entry size
Related show

Commit Message

Alberto Garcia Oct. 12, 2017, 1:05 p.m.
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>
---
 block/qcow2.h | 5 +++++
 1 file changed, 5 insertions(+)

Patch

diff --git a/block/qcow2.h b/block/qcow2.h
index 9c1ea97f0e..341d841836 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);