From: Sage Weil Date: Wed, 19 Sep 2018 21:34:21 +0000 (-0500) Subject: mgr/DaemonServer: block pg_num decrease(merge) until pgp_num is reduced X-Git-Tag: v14.1.0~1136^2~8 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=d6022dd87b62ffb04a2a62153220c6af5371fbfe;p=ceph.git mgr/DaemonServer: block pg_num decrease(merge) until pgp_num is reduced We can't merge until the PGs are stored together. (The mon would stop us if we tried, but let's not waste time trying.) Signed-off-by: Sage Weil --- diff --git a/src/mgr/DaemonServer.cc b/src/mgr/DaemonServer.cc index 8a3be01c9980..0d9eefd982fe 100644 --- a/src/mgr/DaemonServer.cc +++ b/src/mgr/DaemonServer.cc @@ -2279,7 +2279,14 @@ void DaemonServer::adjust_pgs() pg_t merge_target = merge_source.get_parent(); bool ok = true; auto q = pg_map.pg_stat.find(merge_source); - if (q == pg_map.pg_stat.end()) { + if (p.get_pg_num() == p.get_pgp_num()) { + dout(10) << "pool " << i.first + << " pg_num_target " << p.get_pg_num_target() + << " pg_num " << p.get_pg_num() + << " - decrease blocked by pgp_num " + << p.get_pgp_num() + << dendl; + ok = false; } else if (q == pg_map.pg_stat.end()) { dout(10) << "pool " << i.first << " pg_num_target " << p.get_pg_num_target()