Skip to content

Commit 8c56a23

Browse files
committed
rgw/service: remove unused metadata and metadata backend services
Signed-off-by: Casey Bodley <[email protected]>
1 parent fb7cb18 commit 8c56a23

28 files changed

+16
-1517
lines changed

src/rgw/CMakeLists.txt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,6 @@ set(librgw_common_srcs
4040
services/svc_cls.cc
4141
services/svc_config_key_rados.cc
4242
services/svc_mdlog.cc
43-
services/svc_meta.cc
44-
services/svc_meta_be.cc
45-
services/svc_meta_be_sobj.cc
4643
services/svc_notify.cc
4744
services/svc_quota.cc
4845
services/svc_sync_modules.cc

src/rgw/driver/rados/rgw_bucket.cc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3099,7 +3099,6 @@ int RGWBucketCtl::read_bucket_info(const rgw_bucket& bucket,
30993099
ep.emplace();
31003100

31013101
int r = read_bucket_entrypoint_info(*b, &(*ep), y, dpp, RGWBucketCtl::Bucket::GetParams()
3102-
.set_bectx_params(params.bectx_params)
31033102
.set_objv_tracker(ep_objv_tracker));
31043103
if (r < 0) {
31053104
return r;

src/rgw/driver/rados/rgw_bucket.h

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
// define as static when RGWBucket implementation completes
3232
extern void rgw_get_buckets_obj(const rgw_user& user_id, std::string& buckets_obj_id);
3333

34-
class RGWSI_Meta;
3534
class RGWBucketMetadataHandler;
3635
class RGWBucketInstanceMetadataHandler;
3736
class RGWUserCtl;
@@ -449,7 +448,6 @@ class RGWBucketCtl {
449448
std::map<std::string, bufferlist> *attrs{nullptr};
450449
rgw_cache_entry_info *cache_info{nullptr};
451450
boost::optional<obj_version> refresh_version;
452-
std::optional<RGWSI_MetaBackend_CtxParams> bectx_params;
453451

454452
GetParams() {}
455453

@@ -477,11 +475,6 @@ class RGWBucketCtl {
477475
refresh_version = _refresh_version;
478476
return *this;
479477
}
480-
481-
GetParams& set_bectx_params(std::optional<RGWSI_MetaBackend_CtxParams> _bectx_params) {
482-
bectx_params = _bectx_params;
483-
return *this;
484-
}
485478
};
486479

487480
struct PutParams {
@@ -532,7 +525,6 @@ class RGWBucketCtl {
532525
rgw_cache_entry_info *cache_info{nullptr};
533526
boost::optional<obj_version> refresh_version;
534527
RGWObjVersionTracker *objv_tracker{nullptr};
535-
std::optional<RGWSI_MetaBackend_CtxParams> bectx_params;
536528

537529
GetParams() {}
538530

@@ -560,11 +552,6 @@ class RGWBucketCtl {
560552
objv_tracker = _objv_tracker;
561553
return *this;
562554
}
563-
564-
GetParams& set_bectx_params(std::optional<RGWSI_MetaBackend_CtxParams> _bectx_params) {
565-
bectx_params = _bectx_params;
566-
return *this;
567-
}
568555
};
569556

570557
struct PutParams {

src/rgw/driver/rados/rgw_metadata.h

Lines changed: 1 addition & 152 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
#include "cls/log/cls_log_types.h"
1616
#include "common/RefCountedObj.h"
1717
#include "common/ceph_time.h"
18-
#include "services/svc_meta_be.h"
1918
#include "rgw_sal_fwd.h"
2019

2120

@@ -54,18 +53,11 @@ class RGWMetadataManager;
5453
class RGWMetadataHandler {
5554
friend class RGWMetadataManager;
5655

57-
protected:
58-
CephContext *cct;
59-
6056
public:
6157
RGWMetadataHandler() {}
6258
virtual ~RGWMetadataHandler();
6359
virtual std::string get_type() = 0;
6460

65-
void base_init(CephContext *_cct) {
66-
cct = _cct;
67-
}
68-
6961
virtual RGWMetadataObject *get_meta_obj(JSONObj *jo, const obj_version& objv, const ceph::real_time& mtime) = 0;
7062

7163
virtual int get(std::string& entry, RGWMetadataObject **obj, optional_yield, const DoutPrefixProvider *dpp) = 0;
@@ -99,140 +91,20 @@ class RGWMetadataHandler {
9991
virtual int attach(RGWMetadataManager *manager);
10092
};
10193

102-
class RGWMetadataHandler_GenericMetaBE : public RGWMetadataHandler {
103-
friend class RGWSI_MetaBackend;
104-
friend class RGWMetadataManager;
105-
friend class Put;
106-
107-
public:
108-
class Put;
109-
110-
protected:
111-
RGWSI_MetaBackend_Handler *be_handler;
112-
113-
virtual int do_get(RGWSI_MetaBackend_Handler::Op *op, std::string& entry, RGWMetadataObject **obj, optional_yield y, const DoutPrefixProvider *dpp) = 0;
114-
virtual int do_put(RGWSI_MetaBackend_Handler::Op *op, std::string& entry, RGWMetadataObject *obj,
115-
RGWObjVersionTracker& objv_tracker, optional_yield y,
116-
const DoutPrefixProvider *dpp, RGWMDLogSyncType type,
117-
bool from_remote_zone) = 0;
118-
virtual int do_put_operate(Put *put_op, const DoutPrefixProvider *dpp);
119-
virtual int do_remove(RGWSI_MetaBackend_Handler::Op *op, std::string& entry, RGWObjVersionTracker& objv_tracker, optional_yield y, const DoutPrefixProvider *dpp) = 0;
120-
121-
public:
122-
RGWMetadataHandler_GenericMetaBE() {}
123-
124-
void base_init(CephContext *_cct,
125-
RGWSI_MetaBackend_Handler *_be_handler) {
126-
RGWMetadataHandler::base_init(_cct);
127-
be_handler = _be_handler;
128-
}
129-
130-
RGWSI_MetaBackend_Handler *get_be_handler() {
131-
return be_handler;
132-
}
133-
134-
class Put {
135-
protected:
136-
RGWMetadataHandler_GenericMetaBE *handler;
137-
RGWSI_MetaBackend_Handler::Op *op;
138-
std::string& entry;
139-
RGWMetadataObject *obj;
140-
RGWObjVersionTracker& objv_tracker;
141-
RGWMDLogSyncType apply_type;
142-
optional_yield y;
143-
bool from_remote_zone{false};
144-
145-
int get(RGWMetadataObject **obj, const DoutPrefixProvider *dpp) {
146-
return handler->do_get(op, entry, obj, y, dpp);
147-
}
148-
public:
149-
Put(RGWMetadataHandler_GenericMetaBE *_handler, RGWSI_MetaBackend_Handler::Op *_op,
150-
std::string& _entry, RGWMetadataObject *_obj,
151-
RGWObjVersionTracker& _objv_tracker, optional_yield _y,
152-
RGWMDLogSyncType _type, bool from_remote_zone);
153-
154-
virtual ~Put() {}
155-
156-
virtual int put_pre(const DoutPrefixProvider *dpp) {
157-
return 0;
158-
}
159-
virtual int put(const DoutPrefixProvider *dpp) {
160-
return 0;
161-
}
162-
virtual int put_post(const DoutPrefixProvider *dpp) {
163-
return 0;
164-
}
165-
virtual int finalize() {
166-
return 0;
167-
}
168-
};
169-
170-
int get(std::string& entry, RGWMetadataObject **obj, optional_yield, const DoutPrefixProvider *dpp) override;
171-
int put(std::string& entry, RGWMetadataObject *obj, RGWObjVersionTracker& objv_tracker, optional_yield, const DoutPrefixProvider *dpp, RGWMDLogSyncType type, bool from_remote_zone) override;
172-
int remove(std::string& entry, RGWObjVersionTracker& objv_tracker, optional_yield, const DoutPrefixProvider *dpp) override;
173-
174-
int mutate(const std::string& entry,
175-
const ceph::real_time& mtime,
176-
RGWObjVersionTracker *objv_tracker,
177-
optional_yield y,
178-
const DoutPrefixProvider *dpp,
179-
RGWMDLogStatus op_type,
180-
std::function<int()> f) override;
181-
182-
int get_shard_id(const std::string& entry, int *shard_id) override;
183-
184-
int list_keys_init(const DoutPrefixProvider *dpp, const std::string& marker, void **phandle) override;
185-
int list_keys_next(const DoutPrefixProvider *dpp, void *handle, int max, std::list<std::string>& keys, bool *truncated) override;
186-
void list_keys_complete(void *handle) override;
187-
188-
std::string get_marker(void *handle) override;
189-
190-
/**
191-
* Compare an incoming versus on-disk tag/version+mtime combo against
192-
* the sync mode to see if the new one should replace the on-disk one.
193-
*
194-
* @return true if the update should proceed, false otherwise.
195-
*/
196-
static bool check_versions(bool exists,
197-
const obj_version& ondisk, const real_time& ondisk_time,
198-
const obj_version& incoming, const real_time& incoming_time,
199-
RGWMDLogSyncType sync_mode) {
200-
switch (sync_mode) {
201-
case APPLY_UPDATES:
202-
if ((ondisk.tag != incoming.tag) ||
203-
(ondisk.ver >= incoming.ver))
204-
return false;
205-
break;
206-
case APPLY_NEWER:
207-
if (ondisk_time >= incoming_time)
208-
return false;
209-
break;
210-
case APPLY_EXCLUSIVE:
211-
if (exists)
212-
return false;
213-
break;
214-
case APPLY_ALWAYS: //deliberate fall-thru -- we always apply!
215-
default: break;
216-
}
217-
return true;
218-
}
219-
};
220-
22194
class RGWMetadataTopHandler;
22295

22396
class RGWMetadataManager {
22497
friend class RGWMetadataHandler;
22598

22699
CephContext *cct;
227-
RGWSI_Meta *meta_svc;
228100
std::map<std::string, RGWMetadataHandler *> handlers;
229101
std::unique_ptr<RGWMetadataTopHandler> md_top_handler;
230102

231103
int find_handler(const std::string& metadata_key, RGWMetadataHandler **handler, std::string& entry);
232104
int register_handler(RGWMetadataHandler *handler);
233105

234106
public:
235-
RGWMetadataManager(RGWSI_Meta *_meta_svc);
107+
RGWMetadataManager();
236108
~RGWMetadataManager();
237109

238110
RGWMetadataHandler *get_handler(const std::string& type);
@@ -269,29 +141,6 @@ class RGWMetadataManager {
269141
int get_shard_id(const std::string& section, const std::string& key, int *shard_id);
270142
};
271143

272-
class RGWMetadataHandlerPut_SObj : public RGWMetadataHandler_GenericMetaBE::Put
273-
{
274-
protected:
275-
std::unique_ptr<RGWMetadataObject> oo;
276-
RGWMetadataObject *old_obj{nullptr};
277-
bool exists{false};
278-
279-
public:
280-
RGWMetadataHandlerPut_SObj(RGWMetadataHandler_GenericMetaBE *handler, RGWSI_MetaBackend_Handler::Op *op,
281-
std::string& entry, RGWMetadataObject *obj, RGWObjVersionTracker& objv_tracker,
282-
optional_yield y,
283-
RGWMDLogSyncType type, bool from_remote_zone);
284-
~RGWMetadataHandlerPut_SObj();
285-
286-
int put_pre(const DoutPrefixProvider *dpp) override;
287-
int put(const DoutPrefixProvider *dpp) override;
288-
virtual int put_check(const DoutPrefixProvider *dpp) {
289-
return 0;
290-
}
291-
virtual int put_checked(const DoutPrefixProvider *dpp);
292-
virtual void encode_obj(bufferlist *bl) {}
293-
};
294-
295144
void rgw_shard_name(const std::string& prefix, unsigned max_shards, const std::string& key, std::string& name, int *shard_id);
296145
void rgw_shard_name(const std::string& prefix, unsigned max_shards, const std::string& section, const std::string& key, std::string& name);
297146
void rgw_shard_name(const std::string& prefix, unsigned shard_id, std::string& name);

src/rgw/driver/rados/rgw_sal_rados.cc

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,6 @@
5757
#include "rgw_rest_user.h"
5858
#include "services/svc_sys_obj.h"
5959
#include "services/svc_mdlog.h"
60-
#include "services/svc_meta.h"
61-
#include "services/svc_meta_be_sobj.h"
6260
#include "services/svc_cls.h"
6361
#include "services/svc_bilog_rados.h"
6462
#include "services/svc_bi_rados.h"
@@ -572,21 +570,18 @@ int RadosBucket::load_bucket(const DoutPrefixProvider* dpp, optional_yield y)
572570
{
573571
int ret;
574572

575-
RGWSI_MetaBackend_CtxParams bectx_params = RGWSI_MetaBackend_CtxParams_SObj();
576573
RGWObjVersionTracker ep_ot;
577574
if (info.bucket.bucket_id.empty()) {
578575
ret = store->ctl()->bucket->read_bucket_info(info.bucket, &info, y, dpp,
579576
RGWBucketCtl::BucketInstance::GetParams()
580577
.set_mtime(&mtime)
581-
.set_attrs(&attrs)
582-
.set_bectx_params(bectx_params),
578+
.set_attrs(&attrs),
583579
&ep_ot);
584580
} else {
585581
ret = store->ctl()->bucket->read_bucket_instance_info(info.bucket, &info, y, dpp,
586582
RGWBucketCtl::BucketInstance::GetParams()
587583
.set_mtime(&mtime)
588-
.set_attrs(&attrs)
589-
.set_bectx_params(bectx_params));
584+
.set_attrs(&attrs));
590585
}
591586
if (ret != 0) {
592587
return ret;

src/rgw/driver/rados/rgw_service.cc

Lines changed: 4 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,6 @@
1111
#include "services/svc_cls.h"
1212
#include "services/svc_config_key_rados.h"
1313
#include "services/svc_mdlog.h"
14-
#include "services/svc_meta.h"
15-
#include "services/svc_meta_be.h"
16-
#include "services/svc_meta_be_sobj.h"
1714
#include "services/svc_notify.h"
1815
#include "services/svc_zone.h"
1916
#include "services/svc_zone_utils.h"
@@ -66,8 +63,6 @@ int RGWServices_Def::init(CephContext *cct,
6663
config_key_rados = std::make_unique<RGWSI_ConfigKey_RADOS>(cct);
6764
datalog_rados = std::make_unique<RGWDataChangesLog>(cct);
6865
mdlog = std::make_unique<RGWSI_MDLog>(cct, run_sync);
69-
meta = std::make_unique<RGWSI_Meta>(cct);
70-
meta_be_sobj = std::make_unique<RGWSI_MetaBackend_SObj>(cct);
7166
notify = std::make_unique<RGWSI_Notify>(cct);
7267
zone = std::make_unique<RGWSI_Zone>(cct);
7368
zone_utils = std::make_unique<RGWSI_ZoneUtils>(cct);
@@ -83,15 +78,13 @@ int RGWServices_Def::init(CephContext *cct,
8378
sysobj_cache = std::make_unique<RGWSI_SysObj_Cache>(dpp, cct);
8479
}
8580

86-
vector<RGWSI_MetaBackend *> meta_bes{meta_be_sobj.get()};
87-
8881
async_processor->start();
8982
finisher->init();
9083
bi_rados->init(zone.get(), driver->getRados()->get_rados_handle(),
9184
bilog_rados.get(), datalog_rados.get());
9285
bilog_rados->init(bi_rados.get());
9386
bucket_sobj->init(zone.get(), sysobj.get(), sysobj_cache.get(),
94-
bi_rados.get(), meta.get(), mdlog.get(),
87+
bi_rados.get(), mdlog.get(),
9588
sync_modules.get(), bucket_sync_sobj.get());
9689
bucket_sync_sobj->init(zone.get(),
9790
sysobj.get(),
@@ -101,8 +94,6 @@ int RGWServices_Def::init(CephContext *cct,
10194
config_key_rados->init(driver->getRados()->get_rados_handle());
10295
mdlog->init(driver->getRados()->get_rados_handle(), zone.get(), sysobj.get(),
10396
cls.get(), async_processor.get());
104-
meta->init(sysobj.get(), mdlog.get(), meta_bes);
105-
meta_be_sobj->init(sysobj.get(), mdlog.get());
10697
notify->init(zone.get(), driver->getRados()->get_rados_handle(),
10798
finisher.get());
10899
zone->init(sysobj.get(), driver->getRados()->get_rados_handle(),
@@ -117,8 +108,8 @@ int RGWServices_Def::init(CephContext *cct,
117108
} else {
118109
sysobj->init(driver->getRados()->get_rados_handle(), sysobj_core.get());
119110
}
120-
user_rados->init(driver->getRados()->get_rados_handle(), zone.get(), mdlog.get(),
121-
sysobj.get(), sysobj_cache.get(), meta.get());
111+
user_rados->init(driver->getRados()->get_rados_handle(), zone.get(),
112+
mdlog.get(), sysobj.get(), sysobj_cache.get());
122113

123114
can_shutdown = true;
124115

@@ -209,18 +200,6 @@ int RGWServices_Def::init(CephContext *cct,
209200
}
210201

211202
if (!raw) {
212-
r = meta_be_sobj->start(y, dpp);
213-
if (r < 0) {
214-
ldpp_dout(dpp, 0) << "ERROR: failed to start meta_be_sobj service (" << cpp_strerror(-r) << dendl;
215-
return r;
216-
}
217-
218-
r = meta->start(y, dpp);
219-
if (r < 0) {
220-
ldpp_dout(dpp, 0) << "ERROR: failed to start meta service (" << cpp_strerror(-r) << dendl;
221-
return r;
222-
}
223-
224203
r = bucket_sobj->start(y, dpp);
225204
if (r < 0) {
226205
ldpp_dout(dpp, 0) << "ERROR: failed to start bucket service (" << cpp_strerror(-r) << dendl;
@@ -259,8 +238,6 @@ void RGWServices_Def::shutdown()
259238
user_rados->shutdown();
260239
sync_modules->shutdown();
261240
notify->shutdown();
262-
meta_be_sobj->shutdown();
263-
meta->shutdown();
264241
mdlog->shutdown();
265242
config_key_rados->shutdown();
266243
cls->shutdown();
@@ -307,8 +284,6 @@ int RGWServices::do_init(CephContext *_cct, rgw::sal::RadosStore* driver, bool h
307284
config_key = config_key_rados;
308285
datalog_rados = _svc.datalog_rados.get();
309286
mdlog = _svc.mdlog.get();
310-
meta = _svc.meta.get();
311-
meta_be_sobj = _svc.meta_be_sobj.get();
312287
notify = _svc.notify.get();
313288
zone = _svc.zone.get();
314289
zone_utils = _svc.zone_utils.get();
@@ -353,7 +328,7 @@ RGWCtlDef::_meta::~_meta() {}
353328
int RGWCtlDef::init(RGWServices& svc, rgw::sal::Driver* driver,
354329
librados::Rados& rados, const DoutPrefixProvider *dpp)
355330
{
356-
meta.mgr.reset(new RGWMetadataManager(svc.meta));
331+
meta.mgr.reset(new RGWMetadataManager());
357332

358333
meta.user = create_user_metadata_handler(svc.user);
359334

0 commit comments

Comments
 (0)