ceph 自定义操作

ceph 通过自定义操作的方式来提供丰富的业务逻辑, 例如radosgw的业务逻辑
首先先通过下面方法注册到OSD中

 72/* class registration api */
 73extern int cls_register(const char *name, cls_handle_t *handle);
 74extern int cls_unregister(cls_handle_t);
 75
 76-extern int cls_register_method(cls_handle_t hclass, const char *method, int flags,
 77                        cls_method_call_t class_call, cls_method_handle_t *handle);
 78extern int cls_unregister_method(cls_method_handle_t handle);
 79extern void cls_unregister_filter(cls_filter_handle_t handle);

...
137-extern int cls_register_cxx_method(cls_handle_t hclass, const char *method, int flags,
138                                   cls_method_cxx_call_t class_call, cls_method_handle_t *handle);

显然一个是用来注册c++ 方法的, 一个是注册c方法的
其中
hclass 是方法组
method 是方法名
flags 是这个方法会请求的锁类型
class_call 是定义的处理函数
handle 作为返回的句柄

客户端需要调用这些方法时
通过调用ObjectOperation::exec 输入方法组,方法名,参数

288  -class CEPH_RADOS_API ObjectOperation
 289  {
 290  public:
 291    ObjectOperation();
 292    virtual ~ObjectOperation();
 293
 294    size_t size();
 295    <
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值