#include "rgw_auth_s3.h"
#include "rgw_user.h"
#include "rgw_bucket.h"
+#include "rgw_zone.h"
#include "rgw_file.h"
#include "rgw_lib_frontend.h"
#include "common/errno.h"
#include "rgw_rados.h"
#include "rgw_client_io.h"
#include "rgw_rest.h"
+#include "rgw_zone.h"
#include "services/svc_zone.h"
#include "rgw_rados.h"
#include "rgw_orphan.h"
+#include "rgw_zone.h"
#include "services/svc_zone.h"
#include "services/svc_sys_obj.h"
if (have_cache) {
sysobj_cache = std::make_shared<RGWSI_SysObj_Cache>(cct);
}
-
finisher->init();
notify->init(zone, rados, finisher);
rados->init();
#include "svc_rados.h"
#include "svc_zone.h"
+#include "rgw/rgw_zone.h"
+
#define dout_subsys ceph_subsys_rgw
RGWSysObjectCtx RGWSI_SysObj::init_obj_ctx()
#include "svc_zone.h"
#include "svc_notify.h"
+#include "rgw/rgw_zone.h"
+
#define dout_subsys ceph_subsys_rgw
class RGWSI_SysObj_Cache_CB : public RGWSI_Notify::CB
using namespace rgw_zone_defaults;
+RGWSI_Zone::RGWSI_Zone(CephContext *cct) : RGWServiceInstance(cct)
+{
+}
+
void RGWSI_Zone::init(std::shared_ptr<RGWSI_SysObj>& _sysobj_svc,
std::shared_ptr<RGWSI_RADOS>& _rados_svc,
std::shared_ptr<RGWSI_SyncModules>& _sync_modules_svc)
rados_svc = _rados_svc;
sync_modules_svc = _sync_modules_svc;
- realm = make_shared<RGWRealm>();
- zonegroup = make_shared<RGWZoneGroup>();
- zone_public_config = make_shared<RGWZone>();
- zone_params = make_shared<RGWZoneParams>();
- current_period = make_shared<RGWPeriod>();
+ realm = new RGWRealm();
+ zonegroup = new RGWZoneGroup();
+ zone_public_config = new RGWZone();
+ zone_params = new RGWZoneParams();
+ current_period = new RGWPeriod();
+}
+
+RGWSI_Zone::~RGWSI_Zone()
+{
+ delete realm;
+ delete zonegroup;
+ delete zone_public_config;
+ delete zone_params;
+ delete current_period;
}
bool RGWSI_Zone::zone_syncs_from(RGWZone& target_zone, RGWZone& source_zone)
#include "rgw/rgw_service.h"
-#include "rgw/rgw_zone.h"
class RGWSI_RADOS;
class RGWSI_SysObj;
class RGWSI_SyncModules;
+class RGWRealm;
+class RGWZoneGroup;
+class RGWZone;
+class RGWZoneParams;
+class RGWPeriod;
+class RGWZonePlacementInfo;
+
class RGWRESTConn;
class RGWSI_Zone : public RGWServiceInstance
std::shared_ptr<RGWSI_RADOS> rados_svc;
std::shared_ptr<RGWSI_SyncModules> sync_modules_svc;
- std::shared_ptr<RGWRealm> realm;
- std::shared_ptr<RGWZoneGroup> zonegroup;
- std::shared_ptr<RGWZone> zone_public_config; /* external zone params, e.g., entrypoints, log flags, etc. */
- std::shared_ptr<RGWZoneParams> zone_params; /* internal zone params, e.g., rados pools */
- std::shared_ptr<RGWPeriod> current_period;
+ RGWRealm *realm{nullptr};
+ RGWZoneGroup *zonegroup{nullptr};
+ RGWZone *zone_public_config{nullptr}; /* external zone params, e.g., entrypoints, log flags, etc. */
+ RGWZoneParams *zone_params{nullptr}; /* internal zone params, e.g., rados pools */
+ RGWPeriod *current_period{nullptr};
uint32_t zone_short_id{0};
bool writeable_zone{false};
int update_placement_map();
public:
- RGWSI_Zone(CephContext *cct): RGWServiceInstance(cct) {}
+ RGWSI_Zone(CephContext *cct);
+ ~RGWSI_Zone();
RGWZoneParams& get_zone_params();
RGWPeriod& get_current_period();
#include "common/Formatter.h"
#include "rgw/rgw_common.h"
#include "rgw/rgw_rados.h"
+#include "rgw/rgw_zone.h"
#ifndef CEPH_TEST_RGW_COMMON_H
#define CEPH_TEST_RGW_COMMON_H
*/
#include "rgw/rgw_period_history.h"
#include "rgw/rgw_rados.h"
+#include "rgw/rgw_zone.h"
#include "global/global_init.h"
#include "common/ceph_argparse.h"
#include <boost/lexical_cast.hpp>
TYPE(RGWOLHInfo)
TYPE(RGWObjManifestPart)
TYPE(RGWObjManifest)
+
+#include "rgw/rgw_zone.h"
TYPE(RGWZoneParams)
TYPE(RGWZone)
TYPE(RGWZoneGroup)