From: Yehuda Sadeh Date: Thu, 4 Oct 2018 21:23:26 +0000 (-0700) Subject: rgw: don't include rgw_zone.h in svc_zone.h X-Git-Tag: v14.1.0~965^2~22 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=10462d61917e8180eeb7e8815c5f8ad5053980ad;p=ceph-ci.git rgw: don't include rgw_zone.h in svc_zone.h Signed-off-by: Yehuda Sadeh --- diff --git a/src/rgw/rgw_file.cc b/src/rgw/rgw_file.cc index 3db89306e69..a5c50643f1f 100644 --- a/src/rgw/rgw_file.cc +++ b/src/rgw/rgw_file.cc @@ -23,6 +23,7 @@ #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" diff --git a/src/rgw/rgw_log.cc b/src/rgw/rgw_log.cc index 158843ca0a9..74b192b91ca 100644 --- a/src/rgw/rgw_log.cc +++ b/src/rgw/rgw_log.cc @@ -13,6 +13,7 @@ #include "rgw_rados.h" #include "rgw_client_io.h" #include "rgw_rest.h" +#include "rgw_zone.h" #include "services/svc_zone.h" diff --git a/src/rgw/rgw_orphan.cc b/src/rgw/rgw_orphan.cc index 5125cf5f232..87e3e8e4f97 100644 --- a/src/rgw/rgw_orphan.cc +++ b/src/rgw/rgw_orphan.cc @@ -10,6 +10,7 @@ #include "rgw_rados.h" #include "rgw_orphan.h" +#include "rgw_zone.h" #include "services/svc_zone.h" #include "services/svc_sys_obj.h" diff --git a/src/rgw/rgw_service.cc b/src/rgw/rgw_service.cc index f36554c076f..a39d2714d04 100644 --- a/src/rgw/rgw_service.cc +++ b/src/rgw/rgw_service.cc @@ -32,7 +32,6 @@ int RGWServices_Shared::init(CephContext *cct, if (have_cache) { sysobj_cache = std::make_shared(cct); } - finisher->init(); notify->init(zone, rados, finisher); rados->init(); diff --git a/src/rgw/services/svc_sys_obj.cc b/src/rgw/services/svc_sys_obj.cc index 8008580377f..7a6969116dc 100644 --- a/src/rgw/services/svc_sys_obj.cc +++ b/src/rgw/services/svc_sys_obj.cc @@ -3,6 +3,8 @@ #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() diff --git a/src/rgw/services/svc_sys_obj_cache.cc b/src/rgw/services/svc_sys_obj_cache.cc index 472f2f7366a..9d43480fd17 100644 --- a/src/rgw/services/svc_sys_obj_cache.cc +++ b/src/rgw/services/svc_sys_obj_cache.cc @@ -2,6 +2,8 @@ #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 diff --git a/src/rgw/services/svc_zone.cc b/src/rgw/services/svc_zone.cc index 63858e0cd1a..88fc34cb182 100644 --- a/src/rgw/services/svc_zone.cc +++ b/src/rgw/services/svc_zone.cc @@ -13,6 +13,10 @@ using namespace rgw_zone_defaults; +RGWSI_Zone::RGWSI_Zone(CephContext *cct) : RGWServiceInstance(cct) +{ +} + void RGWSI_Zone::init(std::shared_ptr& _sysobj_svc, std::shared_ptr& _rados_svc, std::shared_ptr& _sync_modules_svc) @@ -21,11 +25,20 @@ void RGWSI_Zone::init(std::shared_ptr& _sysobj_svc, rados_svc = _rados_svc; sync_modules_svc = _sync_modules_svc; - realm = make_shared(); - zonegroup = make_shared(); - zone_public_config = make_shared(); - zone_params = make_shared(); - current_period = make_shared(); + 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) diff --git a/src/rgw/services/svc_zone.h b/src/rgw/services/svc_zone.h index 76f4fac7f97..1c4d720a81c 100644 --- a/src/rgw/services/svc_zone.h +++ b/src/rgw/services/svc_zone.h @@ -3,13 +3,19 @@ #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 @@ -20,11 +26,11 @@ class RGWSI_Zone : public RGWServiceInstance std::shared_ptr rados_svc; std::shared_ptr sync_modules_svc; - std::shared_ptr realm; - std::shared_ptr zonegroup; - std::shared_ptr zone_public_config; /* external zone params, e.g., entrypoints, log flags, etc. */ - std::shared_ptr zone_params; /* internal zone params, e.g., rados pools */ - std::shared_ptr 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}; @@ -50,7 +56,8 @@ class RGWSI_Zone : public RGWServiceInstance 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(); diff --git a/src/test/rgw/test_rgw_common.h b/src/test/rgw/test_rgw_common.h index 029dadb6adc..0fc4d5f4e2a 100644 --- a/src/test/rgw/test_rgw_common.h +++ b/src/test/rgw/test_rgw_common.h @@ -16,6 +16,7 @@ #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 diff --git a/src/test/rgw/test_rgw_period_history.cc b/src/test/rgw/test_rgw_period_history.cc index 46519d84385..27ea0629493 100644 --- a/src/test/rgw/test_rgw_period_history.cc +++ b/src/test/rgw/test_rgw_period_history.cc @@ -13,6 +13,7 @@ */ #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 diff --git a/src/tools/ceph-dencoder/types.h b/src/tools/ceph-dencoder/types.h index b782e221a1b..31770de3a5b 100644 --- a/src/tools/ceph-dencoder/types.h +++ b/src/tools/ceph-dencoder/types.h @@ -341,6 +341,8 @@ TYPE(rbd::mirror::image_map::PolicyData) TYPE(RGWOLHInfo) TYPE(RGWObjManifestPart) TYPE(RGWObjManifest) + +#include "rgw/rgw_zone.h" TYPE(RGWZoneParams) TYPE(RGWZone) TYPE(RGWZoneGroup)