summaryrefslogtreecommitdiffstats
path: root/src/cls/cephfs/cls_cephfs_client.h
blob: 744c0aed0f6ce1c62a4859dc6458e229adf69c40 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#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 time_t mtime);

  static int fetch_inode_accumulate_result(
      librados::IoCtx &ctx,
      const std::string &oid,
      inode_backtrace_t *backtrace,
      file_layout_t *layout,
      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,
      bufferlist *out_bl);
};