summaryrefslogtreecommitdiffstats
path: root/src/cls/cephfs/cls_cephfs_client.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/cls/cephfs/cls_cephfs_client.h')
-rw-r--r--src/cls/cephfs/cls_cephfs_client.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/cls/cephfs/cls_cephfs_client.h b/src/cls/cephfs/cls_cephfs_client.h
new file mode 100644
index 000000000..5c33f77f2
--- /dev/null
+++ b/src/cls/cephfs/cls_cephfs_client.h
@@ -0,0 +1,36 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
+// vim: ts=8 sw=2 smarttab
+
+#include "include/rados/librados_fwd.hpp"
+#include "mds/mdstypes.h"
+#include "cls_cephfs.h"
+
+class AccumulateArgs;
+
+class ClsCephFSClient
+{
+ public:
+ static int accumulate_inode_metadata(
+ librados::IoCtx &ctx,
+ inodeno_t inode_no,
+ const uint64_t obj_index,
+ const uint64_t obj_size,
+ const int64_t obj_pool_id,
+ const time_t mtime);
+
+ static int fetch_inode_accumulate_result(
+ librados::IoCtx &ctx,
+ const std::string &oid,
+ inode_backtrace_t *backtrace,
+ file_layout_t *layout,
+ std::string *symlink,
+ AccumulateResult *result);
+
+ static int delete_inode_accumulate_result(
+ librados::IoCtx &ctx,
+ const std::string &oid);
+
+ static void build_tag_filter(
+ const std::string &scrub_tag,
+ ceph::buffer::list *out_bl);
+};