From: Xuehan Xu Date: Wed, 24 Jun 2026 07:31:11 +0000 (+0800) Subject: osd/OSDMap: fix the pgs_per_weight calculation error when multiple pools X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F69637%2Fhead;p=ceph.git osd/OSDMap: fix the pgs_per_weight calculation error when multiple pools are being balanced Before this commit, When multiple pools are being balanced, pgs_per_weight only considers the last pool, which is wrong. Signed-off-by: Xuehan Xu --- diff --git a/src/osd/OSDMap.cc b/src/osd/OSDMap.cc index 7579e054c8e..a82cb3cea68 100644 --- a/src/osd/OSDMap.cc +++ b/src/osd/OSDMap.cc @@ -6197,7 +6197,7 @@ float OSDMap::build_pool_pgs_info ( } total_pgs += pdata.get_size() * pdata.get_pg_num(); - osds_weight_total = get_osds_weight(cct, tmp_osd_map, pid, osds_weight); + osds_weight_total += get_osds_weight(cct, tmp_osd_map, pid, osds_weight); } for (auto& [oid, oweight] : osds_weight) { int pgs = 0;