return 0;
}
+unsigned RGWMetaSyncStatusManager::get_subsys() const
+{
+ return dout_subsys;
+}
+
+std::ostream& RGWMetaSyncStatusManager::gen_prefix(std::ostream& out) const
+{
+ return out << "meta sync: ";
+}
+
void RGWMetaSyncEnv::init(CephContext *_cct, RGWRados *_store, RGWRESTConn *_conn,
RGWAsyncRadosProcessor *_async_rados, RGWHTTPManager *_http_manager,
RGWSyncErrorLogger *_error_logger, RGWSyncTraceManager *_sync_tracer) {
};
void RGWRemoteMetaLog::init_sync_env(RGWMetaSyncEnv *env) {
+ env->dpp = dpp;
env->cct = store->ctx();
env->store = store;
env->conn = conn;
};
struct RGWMetaSyncEnv {
+ const DoutPrefixProvider *dpp;
CephContext *cct{nullptr};
RGWRados *store{nullptr};
RGWRESTConn *conn{nullptr};
};
class RGWRemoteMetaLog : public RGWCoroutinesManager {
+ const DoutPrefixProvider *dpp;
RGWRados *store;
RGWRESTConn *conn;
RGWAsyncRadosProcessor *async_rados;
RGWSyncTraceNodeRef tn;
public:
- RGWRemoteMetaLog(RGWRados *_store, RGWAsyncRadosProcessor *async_rados,
+ RGWRemoteMetaLog(DoutPrefixProvider *dpp, RGWRados *_store,
+ RGWAsyncRadosProcessor *async_rados,
RGWMetaSyncStatusManager *_sm)
: RGWCoroutinesManager(_store->ctx(), _store->get_cr_registry()),
- store(_store), conn(NULL), async_rados(async_rados),
+ dpp(dpp), store(_store), conn(NULL), async_rados(async_rados),
http_manager(store->ctx(), completion_mgr),
status_manager(_sm) {}
}
};
-class RGWMetaSyncStatusManager {
+class RGWMetaSyncStatusManager : public DoutPrefixProvider {
RGWRados *store;
librados::IoCtx ioctx;
public:
RGWMetaSyncStatusManager(RGWRados *_store, RGWAsyncRadosProcessor *async_rados)
- : store(_store), master_log(store, async_rados, this),
+ : store(_store), master_log(this, store, async_rados, this),
ts_to_shard_lock("ts_to_shard_lock") {}
int init();
int run() { return master_log.run_sync(); }
+
+ // implements DoutPrefixProvider
+ CephContext *get_cct() const override { return store->ctx(); }
+ unsigned get_subsys() const override;
+ std::ostream& gen_prefix(std::ostream& out) const override;
+
void wakeup(int shard_id) { return master_log.wakeup(shard_id); }
void stop() {
master_log.finish();