]> git.proxmox.com Git - ceph.git/blob - ceph/src/rgw/services/svc_bilog_rados.h
8bebf72113bbd6612939d81ee2993e223026ac53
[ceph.git] / ceph / src / rgw / services / svc_bilog_rados.h
1
2 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
3 // vim: ts=8 sw=2 smarttab ft=cpp
4
5 /*
6 * Ceph - scalable distributed file system
7 *
8 * Copyright (C) 2019 Red Hat, Inc.
9 *
10 * This is free software; you can redistribute it and/or
11 * modify it under the terms of the GNU Lesser General Public
12 * License version 2.1, as published by the Free Software
13 * Foundation. See file COPYING.
14 *
15 */
16
17
18 #pragma once
19
20 #include "rgw/rgw_service.h"
21
22 #include "svc_rados.h"
23
24
25
26
27 class RGWSI_BILog_RADOS : public RGWServiceInstance
28 {
29 public:
30 struct Svc {
31 RGWSI_BucketIndex_RADOS *bi{nullptr};
32 } svc;
33
34 RGWSI_BILog_RADOS(CephContext *cct);
35
36 void init(RGWSI_BucketIndex_RADOS *bi_rados_svc);
37
38 int log_start(const DoutPrefixProvider *dpp, const RGWBucketInfo& bucket_info, int shard_id);
39 int log_stop(const DoutPrefixProvider *dpp, const RGWBucketInfo& bucket_info, int shard_id);
40
41 int log_trim(const DoutPrefixProvider *dpp,
42 const RGWBucketInfo& bucket_info,
43 int shard_id,
44 std::string& start_marker,
45 std::string& end_marker);
46 int log_list(const DoutPrefixProvider *dpp,
47 const RGWBucketInfo& bucket_info,
48 int shard_id,
49 std::string& marker,
50 uint32_t max,
51 std::list<rgw_bi_log_entry>& result,
52 bool *truncated);
53
54 int get_log_status(const DoutPrefixProvider *dpp,
55 const RGWBucketInfo& bucket_info,
56 int shard_id,
57 std::map<int, std::string> *markers,
58 optional_yield y);
59 };
60