千家信息网

JournalPointer怎么用

发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,这篇文章主要介绍了JournalPointer怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。JournalPointer类说明:
千家信息网最后更新 2025年02月04日JournalPointer怎么用

这篇文章主要介绍了JournalPointer怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

JournalPointer类说明:

class JournalPointer {

int node_id; 记录MDS Rank

int64_t pool_id; 记录metadata pool的ID值

inodeno_t front; 记录当前有效的日志

inodeno_t back; 记录backup的日志,正常情况下back应该为0,若不为0表示有未完成的日志操作

};

JournalPointer类写入到集群中的内容:

front和back需要写入到集群中。

pool = metadata pool;

object_id = MDS_INO_LOG_POINTER_OFFSET+node_id+".0"

JournalPointer类的方法:

JournalPointer::load()

|__得到object_id值

|__Objecter::read_full(object_id, pool_id…) 从集群中读取JournalPointer的front和back值

|__decode(q) 从集群返回结果中解析front和back值

JournalPointer::save()

|__encode(data) 序列化front和back值到bufferlist中

|__得到object_id值

|__Objecter::write_full(object_id, pool_id,data) 将序列化的front和back值写入到集群中

感谢你能够认真阅读完这篇文章,希望小编分享的"JournalPointer怎么用"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

0