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

 

 

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

 

Ceph daemon相关的初始化

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

Ceph daemon获取配置项,修改配置项相关代码走读_第1张图片

图一

创建处理ceph daemon请求的线程

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

Ceph daemon获取配置项,修改配置项相关代码走读_第2张图片

图二

 

线程具体处理过程

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

Ceph daemon获取配置项,修改配置项相关代码走读_第3张图片

图三

你可能感兴趣的:(Ceph daemon获取配置项,修改配置项相关代码走读)