]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
Merge PR #26056 into master
authorPatrick Donnelly <pdonnell@redhat.com>
Tue, 19 Mar 2019 20:46:39 +0000 (13:46 -0700)
committerPatrick Donnelly <pdonnell@redhat.com>
Tue, 19 Mar 2019 20:46:39 +0000 (13:46 -0700)
* refs/pull/26056/head:
mds: check earlier if directories are already exported
mds: dont print auth trees if they are too many
mds: dont print subtrees if they are too many/big

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
1  2 
src/mds/MDBalancer.cc
src/mds/MDBalancer.h
src/mds/MDCache.cc
src/mds/MDCache.h
src/mds/Migrator.cc

Simple merge
Simple merge
index f98aea0645e177d6600a629a6b408f9d87e763d7,e6c6f63e5cefccabaa53a51642d16586c6f4b697..16ce75c324b1eac15ebc8e91a06936b17684df10
@@@ -11925,8 -11981,15 +11925,15 @@@ void MDCache::show_subtrees(int dbl, bo
      return;
    }
  
+   if (!force_print && subtrees.size() > SUBTREES_COUNT_THRESHOLD &&
+       !g_conf()->subsys.should_gather<ceph_subsys_mds, 25>()) {
+     dout(ceph::dout::need_dynamic(dbl)) << "number of subtrees = " << subtrees.size() << "; not "
+               "printing subtrees" << dendl;
+     return;
+   }
    // root frags
 -  list<CDir*> basefrags;
 +  std::vector<CDir*> basefrags;
    for (set<CInode*>::iterator p = base_inodes.begin();
         p != base_inodes.end();
         ++p) 
      }
    }
  
+   if (!force_print && depth > SUBTREES_DEPTH_THRESHOLD &&
+       !g_conf()->subsys.should_gather<ceph_subsys_mds, 25>()) {
+     dout(ceph::dout::need_dynamic(dbl)) << "max depth among subtrees = " << depth << "; not printing "
+               "subtrees" << dendl;
+     return;
+   }
  
    // print tree
 -  for (list<CDir*>::iterator p = basefrags.begin(); p != basefrags.end(); ++p) 
 -    q.push_back(pair<CDir*,int>(*p, 0));
 +  for (const auto& dir : basefrags) {
 +    q.emplace_back(dir, 0);
 +  }
  
    while (!q.empty()) {
      CDir *dir = q.front().first;
Simple merge
Simple merge