小编给大家分享一下MDCache中dentry link有什么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
专注于为中小企业提供成都做网站、成都网站设计服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业单县免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了超过千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
MDCache中send_dentry_link()函数负责发送dentry link到其他MDS进程。发送端遍历replica_map数组,得到CDentry对应的CDentry::linkage_t类对象,之后创建MDentryLink类消息,若CDentry::linkage_t类对象是primary link则调用replicate_inode()函数将primary link信息写入到MDentryLink类消息中,若CDentry::linkage_t类对象不是primary link,则将remote inode number和remote dentry type信息写入到MDentryLink类消息中。最后将MDentryLink类消息发送给目的MDS进程。
MDCache中handle_dentry_link()函数处理MDentryLink类消息。发送MDentryLink类消息的MDS进程通过调用send_dentry_link()函数将dentry link信息以MDentryLink类消息的形式发送给其他MDS进程。接收MDentryLink类消息的MDS进程首先从本地得到消息中dirfrag对应的CDir类对象,之后通过CDir类对象得到其对应的CDentry类对象。若类消息中指定是primary link则调用add_replica_inode()函数完成primary link操作,若类消息中没有指定是primary link则调用dir->link_remote_inode()函数完成remote link。
以上是“MDCache中dentry link有什么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!
本文名称:MDCache中dentrylink有什么用
URL分享:http://cqwzjz.cn/article/goocgs.html