MDCache中对Cache Expire的理解

原创
2016/08/09 17:42
阅读数 312

MDCache中handle_cache_expire()函数处理MCacheExpire类消息。发送MCacheExpire类消息的MDS进程已经出现了若干个inode、dir以及dentry在cache中超时的情况,因此发送MCacheExpire类消息的MDS进程需要将这些消息同步到其他的MDS进程上。接收到MCacheExpire类消息的MDS进程首先遍历MCacheExpire类消息中的realms数组,对于MDS进程的export_state处于EXPORTING/LOGGINGFINISH/WARNING/NOTIFYING则将MCacheExpire类消息保存到delayed_expire数组中。遍历MDCacheExpire类消息中的inodes数组且调用inode_remove_replica()函数将inode信息从MDCache中删除,之后遍历MDCacheExpire类消息中的dirs数组且调用dir->remove_replica()函数将dir信息从MDCache中删除,最后遍历dentries数组且调用dentry_remove_replica()函数将dentry信息从MDCache中删除。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部