]>
Commit | Line | Data |
---|---|---|
9f95a23c TL |
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 | ||
1e59de90 | 20 | #include "rgw_service.h" |
9f95a23c TL |
21 | |
22 | class RGWBucketInfo; | |
23 | struct RGWBucketEnt; | |
24 | ||
25 | ||
26 | class RGWSI_BucketIndex : public RGWServiceInstance | |
27 | { | |
28 | public: | |
29 | RGWSI_BucketIndex(CephContext *cct) : RGWServiceInstance(cct) {} | |
30 | virtual ~RGWSI_BucketIndex() {} | |
31 | ||
1e59de90 TL |
32 | virtual int init_index(const DoutPrefixProvider *dpp, RGWBucketInfo& bucket_info, const rgw::bucket_index_layout_generation& idx_layout) = 0; |
33 | virtual int clean_index(const DoutPrefixProvider *dpp, RGWBucketInfo& bucket_info, const rgw::bucket_index_layout_generation& idx_layout) = 0; | |
9f95a23c | 34 | |
b3b6e05e TL |
35 | virtual int read_stats(const DoutPrefixProvider *dpp, |
36 | const RGWBucketInfo& bucket_info, | |
9f95a23c TL |
37 | RGWBucketEnt *stats, |
38 | optional_yield y) = 0; | |
39 | ||
1e59de90 | 40 | virtual int handle_overwrite(const DoutPrefixProvider *dpp, |
b3b6e05e | 41 | const RGWBucketInfo& info, |
1e59de90 TL |
42 | const RGWBucketInfo& orig_info, |
43 | optional_yield y) = 0; | |
9f95a23c | 44 | }; |