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