dmeventd在thin 设备自动扩容的作用

注册事件(REGISTER_FOR_EVENT):

在初始化的时候去注册一个事件。包括注册事件进程ID ,q序列号,初始化事件定义为DM_EVENT_CMD_HELLO。注册的id和q都是关于进程的 ,是为了作为客户端的dmevrntd进程在获取到动态连接库的调用之后,才事件有真正的事件注册,即:

int _register_for_event(struct message_data *message_data);

函数主要参数struct message_data *message_data,传递了

struct message_data {

char *id;

char *dso_name; /* Name of DSO. */

char *device_uuid; /* Mapped device path. */

char *events_str; /* Events string as fetched from message. */

enum dm_event_mask events_field; /* Events bitfield. */

char *timeout_str;

uint32_t timeout_secs;

struct dm_event_daemon_message *msg; /* Pointer to message buffer. */

};

events_str表示一个事件,比如是DM_EVENT_ERROR_MASK事件标志。 dm_event_mask events_field表示事件的某一个,具体举例子比如事件 dm_event_mask events_field的值等于

DM_EVENT_ERROR_MASK | DM_EVENT_TIMEOUT。

该函数实现的功能是注册一个事件设备用于记录事件的标志,启用一个计时线程,用于监控设备的元数据和数据的读写情况和百分比。调用到的函数有

_fill_device_data(thread_new)获取线程需要的设备名device_name,主次设备号&#

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值