Ceph daemon获取配置项,修改配置项相关代码走读

来源:互联网 发布:英语的网络语 编辑:程序博客网 时间:2024/05/20 02:28

 

 

ceph-10.2.9版本,ceph-mds进程为例

 

Ceph daemon相关的初始化

如图一所示,ceph_mds.ccmain函数,首先调用了函数global_init, global_init中,创建了一个CephContext类对象,在调用CephContext构造函数的过程中,创建了Ceph daemon相关的重要类对象AdminSocket,并将CephContextHook类对象作为参数,注册了接收哪些cmd的请求。

图一

创建处理ceph daemon请求的线程

创建了线程* AdminSocket::entry(),处理上面注册进来的cmd类型。

图二

 

线程具体处理过程

如图三所示,当有daemon请求过来时,会触发poll事件,函数do_command再根据具体的请求做出相应处理

图三

原创粉丝点击