]> git.proxmox.com Git - ceph.git/blame - ceph/src/cls/statelog/cls_statelog_client.h
update sources to v12.1.0
[ceph.git] / ceph / src / cls / statelog / cls_statelog_client.h
CommitLineData
7c673cae
FG
1#ifndef CEPH_CLS_STATELOG_CLIENT_H
2#define CEPH_CLS_STATELOG_CLIENT_H
3
31f18b77
FG
4#include "cls_statelog_ops.h"
5
6namespace librados {
7 class ObjectWriteOperation;
8 class ObjectReadOperation;
9 class ObjectOperation;
10}
7c673cae
FG
11
12/*
13 * log objclass
14 */
15
16void cls_statelog_add_prepare_entry(cls_statelog_entry& entry, const string& client_id, const string& op_id,
17 const string& object, const utime_t& timestamp, uint32_t state, bufferlist& bl);
18
19void cls_statelog_add(librados::ObjectWriteOperation& op, list<cls_statelog_entry>& entry);
20void cls_statelog_add(librados::ObjectWriteOperation& op, cls_statelog_entry& entry);
21void cls_statelog_add(librados::ObjectWriteOperation& op, const string& client_id, const string& op_id,
22 const string& object, const utime_t& timestamp, uint32_t state, bufferlist& bl);
23
24void cls_statelog_list(librados::ObjectReadOperation& op,
25 const string& client_id, const string& op_id, const string& object, /* op_id may be empty, also one of client_id, object*/
26 const string& in_marker, int max_entries, list<cls_statelog_entry>& entries,
27 string *out_marker, bool *truncated);
28
29void cls_statelog_remove_by_client(librados::ObjectWriteOperation& op, const string& client_id, const string& op_id);
30void cls_statelog_remove_by_object(librados::ObjectWriteOperation& op, const string& object, const string& op_id);
31
32void cls_statelog_check_state(librados::ObjectOperation& op, const string& client_id, const string& op_id, const string& object, uint32_t state);
33#endif