From: Kefu Chai Date: Sun, 21 Aug 2022 16:41:52 +0000 (+0800) Subject: os/bluestore: use std::countl_zero() when appropriate X-Git-Tag: v18.0.0~196^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=e132be7ee52ae7dca2947b2a68f17665f4286a67;p=ceph.git os/bluestore: use std::countl_zero() when appropriate prefer the facilities provided by standard library over the homebrew ones for better readability and maintainability. Signed-off-by: Kefu Chai --- diff --git a/src/os/bluestore/Allocator.cc b/src/os/bluestore/Allocator.cc index fb2356c90f83..4f835d66869f 100644 --- a/src/os/bluestore/Allocator.cc +++ b/src/os/bluestore/Allocator.cc @@ -2,6 +2,7 @@ // vim: ts=8 sw=2 smarttab #include "Allocator.h" +#include #include "StupidAllocator.h" #include "BitmapAllocator.h" #include "AvlAllocator.h" @@ -194,7 +195,7 @@ double Allocator::get_fragmentation_score() size_t sum = 0; auto get_score = [&](size_t v) -> double { - size_t sc = sizeof(v) * 8 - clz(v) - 1; //assign to grade depending on log2(len) + size_t sc = sizeof(v) * 8 - std::countl_zero(v) - 1; //assign to grade depending on log2(len) while (scales.size() <= sc + 1) { //unlikely expand scales vector scales.push_back(scales[scales.size() - 1] * double_size_worth);