From 242f2c88caf67ace5271d49c93e48048b93f9a38 Mon Sep 17 00:00:00 2001 From: Orit Wasserman Date: Tue, 1 Sep 2015 11:55:27 +0200 Subject: [PATCH] rgw: add current_period to RGWRealm Signed-off-by: Orit Wasserman --- src/rgw/rgw_json_enc.cc | 2 ++ src/rgw/rgw_rados.cc | 11 +---------- src/rgw/rgw_rados.h | 9 +++++++-- 3 files changed, 10 insertions(+), 12 deletions(-) diff --git a/src/rgw/rgw_json_enc.cc b/src/rgw/rgw_json_enc.cc index 45d941d8bedab..6f703a5a57089 100644 --- a/src/rgw/rgw_json_enc.cc +++ b/src/rgw/rgw_json_enc.cc @@ -947,6 +947,7 @@ void RGWRealm::dump(Formatter *f) const RGWSystemMetaObj::dump(f); encode_json("master_zonegroup", master_zonegroup, f); encode_json_map("zonegroups", zonegroups, f); + encode_json("current_period", current_period, f); } static void decode_zonegroups(map& zonegroups, JSONObj *o) @@ -961,6 +962,7 @@ void RGWRealm::decode_json(JSONObj *obj) RGWSystemMetaObj::decode_json(obj); JSONDecoder::decode_json("master_zonegroup", master_zonegroup, obj); JSONDecoder::decode_json("zonegroups", zonegroups, decode_zonegroups, obj); + JSONDecoder::decode_json("current_period", current_period, obj); } diff --git a/src/rgw/rgw_rados.cc b/src/rgw/rgw_rados.cc index a86490cb4d529..1e7ed13ad9ea6 100644 --- a/src/rgw/rgw_rados.cc +++ b/src/rgw/rgw_rados.cc @@ -552,12 +552,6 @@ const string& RGWRealm::get_info_oid_prefix(bool old_format) return realm_info_oid_prefix; } -int RGWRealm::get_current_period_id(string& period_id) -{ - return -ENOTSUP; -} - - int RGWPeriod::init(const string& period_id, epoch_t period_epoch, bool setup_obj) { if (!period_id.empty()) { @@ -594,10 +588,7 @@ int RGWPeriod::init(const string& period_realm_id, const string& period_realm_na } if (id.empty()) { - ret = realm.get_current_period_id(realm_id); - if (ret < 0) { - return ret; - } + id = realm.get_current_period(); } if (!epoch) { diff --git a/src/rgw/rgw_rados.h b/src/rgw/rgw_rados.h index faa9da2c08c6b..bdba0d35e8b8b 100644 --- a/src/rgw/rgw_rados.h +++ b/src/rgw/rgw_rados.h @@ -51,7 +51,7 @@ static inline void get_obj_bucket_and_oid_loc(const rgw_obj& obj, rgw_bucket& bu prepend_bucket_marker(bucket, obj.get_object(), oid); const string& loc = obj.get_loc(); if (!loc.empty()) { - prepend_bucket_marker(bucket, obj.get_loc(), locator); // XXX get_loc twice + prepend_bucket_marker(bucket, loc, locator); } else { locator.clear(); } @@ -1163,6 +1163,7 @@ class RGWRealm : public RGWSystemMetaObj { string master_zonegroup; map zonegroups; + string current_period; public: RGWRealm() {} @@ -1175,6 +1176,7 @@ public: RGWSystemMetaObj::encode(bl); ::encode(master_zonegroup, bl); ::encode(zonegroups, bl); + ::encode(current_period, bl); ENCODE_FINISH(bl); } @@ -1183,6 +1185,7 @@ public: RGWSystemMetaObj::decode(bl); ::decode(master_zonegroup, bl); ::decode(zonegroups, bl); + ::decode(current_period, bl); DECODE_FINISH(bl); } @@ -1196,7 +1199,9 @@ public: void dump(Formatter *f) const; void decode_json(JSONObj *obj); - int get_current_period_id(string& id); + const string& get_current_period() { + return current_period; + } }; WRITE_CLASS_ENCODER(RGWRealm) -- 2.39.5