From: xie xingguo Date: Sat, 4 Jun 2016 03:19:37 +0000 (+0800) Subject: bluestore/BitAllocator: simplify calculation of num_child X-Git-Tag: v11.0.0~285^2~5 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=05db4b58738e48e0d5c4e43abd5e359f232f5862;p=ceph.git bluestore/BitAllocator: simplify calculation of num_child Signed-off-by: xie xingguo --- diff --git a/src/os/bluestore/BitAllocator.cc b/src/os/bluestore/BitAllocator.cc index 61c8d3ee0981..2184963588bb 100644 --- a/src/os/bluestore/BitAllocator.cc +++ b/src/os/bluestore/BitAllocator.cc @@ -703,11 +703,8 @@ void BitMapAreaIN::init(int64_t total_blocks, int64_t area_idx, bool def) init_common(total_blocks, area_idx, def); int64_t level_factor = pow(BitMapArea::get_span_size(), m_level); - num_child = total_blocks / level_factor; + num_child = (total_blocks + level_factor - 1) / level_factor; debug_assert(num_child < MAX_INT16); - if (total_blocks % level_factor) { - num_child++; - } m_child_size_blocks = level_factor;