Message ID | daf4559e162269c1be195d954d4cf38e9b2231f1.1584468723.git.berto@igalia.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add subcluster allocation to qcow2 | expand |
17.03.2020 21:16, Alberto Garcia wrote: > For a given offset, return the subcluster number within its cluster > (i.e. with 32 subclusters per cluster it returns a number between 0 > and 31). > > Signed-off-by: Alberto Garcia<berto@igalia.com> > Reviewed-by: Max Reitz<mreitz@redhat.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
diff --git a/block/qcow2.h b/block/qcow2.h index 3052b14dc0..06929072d2 100644 --- a/block/qcow2.h +++ b/block/qcow2.h @@ -566,6 +566,11 @@ 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 int offset_to_sc_index(BDRVQcow2State *s, int64_t offset) +{ + return (offset >> s->subcluster_bits) & (s->subclusters_per_cluster - 1); +} + static inline int64_t qcow2_vm_state_offset(BDRVQcow2State *s) { return (int64_t)s->l1_vm_state_index << (s->cluster_bits + s->l2_bits);