千家信息网

EImportStart类怎么用

发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,这篇文章给大家分享的是有关EImportStart类怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。EImportStart类说明:class EImportStart
千家信息网最后更新 2025年02月04日EImportStart类怎么用

这篇文章给大家分享的是有关EImportStart类怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

EImportStart类说明:

class EImportStart:public LogEvent {   dirfrag_t base;   vector bounds;   EMetaBlob metablob;   bufferlist client_map;   version_t cmapv; };

EImportStart类方法:
EImportStart::update_segment()
|__设置LogSegment的sessionmapv为cmapv,即:_segment->sessionmapv=cmapv

EImportStart::replay(mds)
|__执行EMetaBlob::replay()操作
|__将bounds添加到MDCache的ambiguous中,即:mds->mdcache->add_ambiguous_import()
|__从MDCache中得到base的CDir
|__遍历bounds集合
|__得到bounds在MDCache中的CDir
|__将CDir插入到realbounds集合中
|__将realbounds集合加入到MDCache中,即:mds->mdcache->adjust_bounded_subtree_auth()
|__若mds的sessinmap版本小于cmapv
|__解析client_map到mapcm中
|__执行mds中sessionmap的open_sessions()操作,即:mds->sessionmap.open_sessions(cm)
|__设置mds中sessionmap为projected,即:mds->sessionmap.set_projected()
|__执行update_segment()

感谢各位的阅读!关于"EImportStart类怎么用"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

0