From: Igor Fedotov Date: Mon, 18 Nov 2019 09:43:12 +0000 (+0300) Subject: os/bluestore: micro optimizattion of apply_for_bitset_range X-Git-Tag: v15.1.0~773^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=f8c8a2b180d1ef402ec2258b4a43e1f7049db737;p=ceph.git os/bluestore: micro optimizattion of apply_for_bitset_range Signed-off-by: Igor Fedotov --- diff --git a/src/os/bluestore/bluestore_common.h b/src/os/bluestore/bluestore_common.h index 764574af59b9..858cfd88fc5e 100755 --- a/src/os/bluestore/bluestore_common.h +++ b/src/os/bluestore/bluestore_common.h @@ -24,12 +24,12 @@ void apply_for_bitset_range(uint64_t off, uint64_t granularity, Bitset &bitset, Func f) { - auto end = round_up_to(off + len, granularity); - while (off < end) { - uint64_t pos = off / granularity; - ceph_assert(pos < bitset.size()); + auto end = round_up_to(off + len, granularity) / granularity; + ceph_assert(end <= bitset.size()); + uint64_t pos = off / granularity; + while (pos < end) { f(pos, bitset); - off += granularity; + pos++; } }