文档章节

MDCache中对open ino的理解

linuxhunter
 linuxhunter
发布于 2016/08/09 17:44
字数 183
阅读 127
收藏 0

MDCache中handle_open_ino()函数负责处理MMDSOpenIno类消息。首先通过调用get_inode()得到CInode类对象,之后创建MMDSOpenInoReply类消息,若CInode是auth的则将从CInode一直到其根目录的所有目录保存到MMDSOpenInoReply类消息的ancestors数组中,最后将MMDSOpenInoReply类消息发送给目的MDS进程。

MDCache中handle_open_ino_reply()函数负责处理MMDSOpenInoReply类消息。首先从opening_inodes数组中得到对应的open_ino_info_t对象,之后调用get_inode()函数得到CInode类对象,若CInode类对象存在则调用open_ino_finish()函数完成open ino操作,否则若MMDSOpenInoReply类消息中的ancestors数组不为空则调用_open_ino_traverse_dir()函数来部署CInode及其所有的父目录。

© 著作权归作者所有

linuxhunter
粉丝 69
博文 144
码字总数 93264
作品 0
沈阳
高级程序员
私信 提问
加载中

评论(1)

m
moningchao
若CInode是auth,auth是什么意思,这个怎么理解?
MDCache类分析

class MDCache { //my masters MDSRank mds; MDCache所处的MDSRank //my cache LRU lru; 最近最少使用列表(保存dentries) unorderedmap<vinodenot, CInode> inode_map; inode映射关系(保存i......

linuxhunter
2016/07/27
254
0
MDCache中对find ino的理解

MDCache中findinopeers()函数负责在其他MDS进程中找到指定inodenot对应的file path。该函数创建MMDSFindIno类消息,之后将inodenot写入到MMDSFindIno类消息后,将该类消息发送给指定的MDS进程...

linuxhunter
2016/08/09
92
0
SnapRealm类分析

SnapRealm类说明: struct SnapRealm { srt srnode; 描述snap的seq、snap创建的时间、SnapInfo以及snaplinkt相关内容 MDCache *mdcache; 描述Snap在内存中的存储状态 CInode inode; 描述sna...

linuxhunter
2016/07/22
51
0
EMetaBlob类分析

EMetaBlob用于记录CDir和CDentry的Log EMetaBlob类说明: class EMetaBlob: public LogEvent { }; EMetaBlob类的方法: EMetaBlob::adddircontext(dir, mode) 将dir及其父目录添加到EMetaBl......

linuxhunter
2016/07/20
81
0
Migrator类分析

Migrator类说明: class Migrator { MDSRank *mds; 记录mds信息 MDCache *cache; 记录MDCache信息 struct exportstatet { int state; 记录export的当前状态 mdsrankt peer; 记录export到对端......

linuxhunter
2016/07/26
66
0

没有更多内容

加载失败,请刷新页面

加载更多

数组算法

/*数组的相关的算法操作:1、在数组中找最大值/最小值*/class Test11_FindMax{public static void main(String[] args){int[] array = {4,2,6,8,1};//在数组中找最大...

architect刘源源
49分钟前
2
0
okhttp3 以上版本在安卓9.0无法请求数据的解决方案

应用官方的说明:在 Android 6.0 中,我们取消了对 Apache HTTP 客户端的支持。 从 Android 9 开始,默认情况下该内容库已从 bootclasspath 中移除且不可用于应用。且Android P 限制了明文流量...

chenhongjiang
今天
11
0
简单示例:NodeJs连接mysql数据库

开篇引用网上的说法: 简单的说 Node.js 就是运行在服务端的 JavaScript。Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。Node.js是一个事件驱动I/O服务端JavaScript环境,基于...

李朝强
今天
8
0
大数据学习路线

年薪30W大数据学习路线图: 一、Hadoop入门,了解什么是Hadoop 1、Hadoop产生背景 2、Hadoop在大数据、云计算中的位置和关系 3、国内外Hadoop应用案例介绍 4、国内Hadoop的就业情况分析及课程...

陈小君
今天
3
0
解读 Kylin 3.0.0 | 更敏捷、更高效的 OLAP 引擎

在近期的 Apache Kylin Meetup 成都站上,我们邀请到 Kyligence 架构师 & Apache Kylin Committer 倪春恩对 Kylin 3.0.0 版本的一些重要功能及改进从使用到原理进行了介绍: Apache Kylin 在...

ApacheKylin
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部