return 0;
}
+int cls_cxx_create(cls_method_context_t hctx, bool exclusive)
+{
+ ReplicatedPG::OpContext **pctx = (ReplicatedPG::OpContext **)hctx;
+ vector<OSDOp> ops(1);
+ ops[0].op.op = CEPH_OSD_OP_CREATE;
+ ops[0].op.flags = (exclusive ? CEPH_OSD_OP_FLAG_EXCL : 0);
+ return (*pctx)->pg->do_osd_ops(*pctx, ops);
+}
+
int cls_cxx_stat(cls_method_context_t hctx, uint64_t *size, time_t *mtime)
{
ReplicatedPG::OpContext **pctx = (ReplicatedPG::OpContext **)hctx;
extern int cls_register_cxx_method(cls_handle_t hclass, const char *method, int flags,
cls_method_cxx_call_t class_call, cls_method_handle_t *handle);
+extern int cls_cxx_create(cls_method_context_t hctx, bool exclusive);
extern int cls_cxx_stat(cls_method_context_t hctx, uint64_t *size, time_t *mtime);
extern int cls_cxx_read(cls_method_context_t hctx, int ofs, int len, bufferlist *bl);
extern int cls_cxx_write(cls_method_context_t hctx, int ofs, int len, bufferlist *bl);