EImportFinish類分析

EImportFinish類說明:
class EImportFinish: public LogEvent {
  dirfrag_t base;        import完畢的dirfrag
  bool success;            import是否成功
};get

EImportFinish類方法:
EImportFinish::replay(mds)
|__若MDCache中base存在於ambiguous import中
  |__若success==true
    |__執行mds中MDCache的finish ambiguous import操做,即:mds->mdcache->finish_ambiguous_import(base)
  |__若success==false
    |__從MDCache中獲得base對應的CDir,即:mds->mdcache->get_dirfrag(base)
    |__從MDCache中獲得base對應的ambiguous import bounds,即:mds->mdcache->get_ambiguous_import_bounds()
    |__調整MDCache中bounded subtree auth,即:mds->mdcache->adjust_bounded_subtree_auth()
    |__取消ambiguous import,即:mds->mdcache->cancel_ambiguous_import()
    |__從MDCache中刪除non auth的subtree,即:mds->mdcache->try_trim_non_auth_subtee()
 class

相關文章
相關標籤/搜索