On Tue 05 May 2020 09:42:08 PM CEST, Eric Blake wrote: > On 5/5/20 12:38 PM, Alberto Garcia wrote: >> Like offset_into_cluster() and size_to_clusters(), but for >> subclusters. >> >> Signed-off-by: Alberto Garcia <be...@igalia.com> >> --- >> block/qcow2.h | 10 ++++++++++ >> 1 file changed, 10 insertions(+) >> >> diff --git a/block/qcow2.h b/block/qcow2.h >> index e68febb15b..8b1ed1cbcf 100644 >> --- a/block/qcow2.h >> +++ b/block/qcow2.h >> @@ -537,11 +537,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; >> } > > Pre-existing, but this could use DIV_ROUND_UP.
Yeah but it would be nicer to have a version of the macro optimized for powers of two. Berto