]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/DaemonServer: merge pg upmap check into status check too 25626/head
authorxie xingguo <xie.xingguo@zte.com.cn>
Wed, 19 Dec 2018 07:26:02 +0000 (15:26 +0800)
committerxie xingguo <xie.xingguo@zte.com.cn>
Thu, 20 Dec 2018 01:07:02 +0000 (09:07 +0800)
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
src/mgr/DaemonServer.cc

index 08c5ef9751fca526c4fb45dffe32e0a87ed9a3aa..d4e5f8021143c4fa6b6ae6e8634c9f6b479f0077 100644 (file)
@@ -2324,25 +2324,6 @@ void DaemonServer::adjust_pgs()
            pg_t merge_target = merge_source.get_parent();
            bool ok = true;
 
-           if (osdmap.have_pg_upmaps(merge_target)) {
-             dout(10) << "pool " << i.first
-                      << " pg_num_target " << p.get_pg_num_target()
-                      << " pg_num " << p.get_pg_num()
-                      << " - merge target " << merge_target
-                      << " has upmap" << dendl;
-             upmaps_to_clear.insert(merge_target);
-             ok = false;
-           }
-            if (osdmap.have_pg_upmaps(merge_source)) {
-             dout(10) << "pool " << i.first
-                      << " pg_num_target " << p.get_pg_num_target()
-                      << " pg_num " << p.get_pg_num()
-                      << " - merge source " << merge_source
-                      << " has upmap" << dendl;
-             upmaps_to_clear.insert(merge_source);
-             ok = false;
-           }
-
            if (p.get_pg_num() != p.get_pg_num_pending()) {
              dout(10) << "pool " << i.first
                       << " pg_num_target " << p.get_pg_num_target()
@@ -2361,6 +2342,16 @@ void DaemonServer::adjust_pgs()
            }
             for (auto &merge_participant : {merge_source, merge_target}) {
               bool is_merge_source = merge_participant == merge_source;
+              if (osdmap.have_pg_upmaps(merge_participant)) {
+                dout(10) << "pool " << i.first
+                         << " pg_num_target " << p.get_pg_num_target()
+                         << " pg_num " << p.get_pg_num()
+                         << (is_merge_source ? " - merge source " : " - merge target ")
+                         << merge_participant
+                         << " has upmap" << dendl;
+                upmaps_to_clear.insert(merge_participant);
+                ok = false;
+              }
               auto q = pg_map.pg_stat.find(merge_participant);
               if (q == pg_map.pg_stat.end()) {
                dout(10) << "pool " << i.first