aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--block/qcow2.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/block/qcow2.h b/block/qcow2.h
index 2503374677..4fe31adfd3 100644
--- a/block/qcow2.h
+++ b/block/qcow2.h
@@ -555,11 +555,21 @@ static inline int64_t offset_into_cluster(BDRVQcow2State *s, int64_t offset)
return offset & (s->cluster_size - 1);
}
+static inline int64_t offset_into_subcluster(BDRVQcow2State *s, int64_t offset)
+{
+ return offset & (s->subcluster_size - 1);
+}
+
static inline uint64_t size_to_clusters(BDRVQcow2State *s, uint64_t size)
{
return (size + (s->cluster_size - 1)) >> s->cluster_bits;
}
+static inline uint64_t size_to_subclusters(BDRVQcow2State *s, uint64_t size)
+{
+ return (size + (s->subcluster_size - 1)) >> s->subcluster_bits;
+}
+
static inline int64_t size_to_l1(BDRVQcow2State *s, int64_t size)
{
int shift = s->cluster_bits + s->l2_bits;