From: Alex Ainscow Date: Thu, 5 Feb 2026 15:00:57 +0000 (+0000) Subject: osd: Remove lldiv from ECUtil X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=532a9bb624d0ed18c4dda62068b4dbba02788b7c;p=ceph-ci.git osd: Remove lldiv from ECUtil lldiv is not faster and is less clear, so refactor the code to be more readable and faster! Signed-off-by: Alex Ainscow --- diff --git a/src/osd/ECUtil.h b/src/osd/ECUtil.h index 342101829a6..60ca26b44d6 100644 --- a/src/osd/ECUtil.h +++ b/src/osd/ECUtil.h @@ -768,8 +768,9 @@ public: uint64_t shard_offset_to_ro_offset(shard_id_t shard, uint64_t offset) const { raw_shard_id_t raw_shard = get_raw_shard(shard); - auto result = std::lldiv(offset, chunk_size); - return result.quot * stripe_width + (int)raw_shard * chunk_size + result.rem; + uint64_t stripes = (offset / chunk_size); + uint64_t chunk_offset = (offset % chunk_size); + return stripes * stripe_width + (int)raw_shard * chunk_size + chunk_offset; } std::pair chunk_aligned_ro_range_to_shard_ro_range(