]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
Merge branch 'luminous' into luminous-mds-export-size 23789/head
authorYan, Zheng <ukernel@gmail.com>
Wed, 19 Sep 2018 01:12:45 +0000 (09:12 +0800)
committerGitHub <noreply@github.com>
Wed, 19 Sep 2018 01:12:45 +0000 (09:12 +0800)
1  2 
src/common/options.cc
src/mds/CDir.cc
src/mds/CDir.h
src/mds/CInode.cc
src/mds/CInode.h
src/mds/MDSDaemon.cc
src/mds/MDSRank.h
src/mds/Migrator.cc
src/mds/Mutation.h
src/mds/Server.cc

Simple merge
diff --cc src/mds/CDir.cc
index 1cefd1d6b471ae725ed7b09ce270d540390580ad,5bf35f596de84568a0397ac35527e159bc49eee4..93974895c6973578180da0fdb44556933245ed70
@@@ -2904,27 -2915,11 +2915,28 @@@ pair<bool,bool> CDir::is_freezing_or_fr
      if (dir->inode->parent)
        dir = dir->inode->parent->dir;
      else
-       return false;  // root on replica
+       break; // root on replica
    }
+   return make_pair(freezing, frozen);
  }
  
 +CDir *CDir::get_freezing_tree_root()
 +{
 +  if (num_freezing_trees == 0)
 +    return nullptr;
 +  CDir *dir = this;
 +  while (true) {
 +    if (dir->is_freezing_tree_root())
 +      return dir;
 +    if (dir->is_subtree_root())
 +      return nullptr;
 +    if (dir->inode->parent)
 +      dir = dir->inode->parent->dir;
 +    else
 +      return nullptr;
 +  }
 +}
 +
  CDir *CDir::get_frozen_tree_root() 
  {
    assert(is_frozen());
diff --cc src/mds/CDir.h
index e92bea480398f149f63b95334c0c49d806785684,73678c1759b60f04385fd477a075e493eb92702f..9b2665e88c3714b2ccdea6324741389153daa5d1
@@@ -719,17 -719,25 +719,27 @@@ public
  
    void maybe_finish_freeze();
  
-   bool is_freezing() const override { return is_freezing_tree() || is_freezing_dir(); }
-   bool is_freezing_tree() const;
+   pair<bool,bool> is_freezing_or_frozen_tree() const;
+   bool is_freezing() const override { return is_freezing_dir() || is_freezing_tree(); }
+   bool is_freezing_tree() const {
+     if (!num_freezing_trees)
+       return false;
+     return is_freezing_or_frozen_tree().first;
+   }
    bool is_freezing_tree_root() const { return state & STATE_FREEZINGTREE; }
    bool is_freezing_dir() const { return state & STATE_FREEZINGDIR; }
 +  CDir *get_freezing_tree_root();
  
    bool is_frozen() const override { return is_frozen_dir() || is_frozen_tree(); }
-   bool is_frozen_tree() const;
+   bool is_frozen_tree() const {
+     if (!num_frozen_trees)
+       return false;
+     return is_freezing_or_frozen_tree().second;
+   }
    bool is_frozen_tree_root() const { return state & STATE_FROZENTREE; }
    bool is_frozen_dir() const { return state & STATE_FROZENDIR; }
 +  CDir *get_frozen_tree_root();
    
    bool is_freezeable(bool freezing=false) const {
      // no nested auth pins.
Simple merge
Simple merge
index 1e00138cfa31f5d0d85f3afd5c1a61c8d9969cbd,1e3c67d0d6f5a43e2b6ef3ab81f59c4c8146dfd6..8fe05807b360302da769537d64a01d99c0cf3ce1
@@@ -363,12 -374,8 +374,9 @@@ const char** MDSDaemon::get_tracked_con
      "mds_max_purge_ops_per_pg",
      "mds_max_purge_files",
      // Migrator
 +    "mds_max_export_size",
      "mds_inject_migrator_session_race",
      "mds_inject_migrator_message_loss",
-     "clog_to_graylog",
-     "clog_to_graylog_host",
-     "clog_to_graylog_port",
      "host",
      "fsid",
      NULL
Simple merge
Simple merge
Simple merge
Simple merge