From: myoungwon oh Date: Thu, 10 Jun 2021 08:47:56 +0000 (+0900) Subject: seastore/rbm: fix wrong loop condition X-Git-Tag: v17.1.0~1638^2~7 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=dbde4ff9be9268c28e3a14a66a891649e901f038;p=ceph.git seastore/rbm: fix wrong loop condition Signed-off-by: Myoungwon Oh --- diff --git a/src/crimson/os/seastore/randomblock_manager.cc b/src/crimson/os/seastore/randomblock_manager.cc index b2aec77bd3e6..b500f564f39a 100644 --- a/src/crimson/os/seastore/randomblock_manager.cc +++ b/src/crimson/os/seastore/randomblock_manager.cc @@ -186,11 +186,16 @@ RandomBlockManager::find_block_ret RandomBlockManager::find_free_block(Transacti auto allocated_blocks = t.get_rbm_allocated_blocks(); for (uint64_t i = 0; i < max && (uint64_t)size/super.block_size > allocated; i++) { auto block_id = convert_bitmap_block_no_to_block_id(i, addr); + bool out = false; for (auto b : allocated_blocks) { if (b.alloc_blk_ids.intersects(block_id, 1)) { - continue; + out = true; + break; } } + if (out) { + continue; + } if (b_block.is_allocated(i)) { continue; }