return ret;
}
- #warning need to implement for backward compatabilty
+ RGWPeriod period;
+ ret = period.init(g_ceph_context, store);
+ if (ret < 0) {
+ cerr << "ERROR: failed to read current period info: " << cpp_strerror(-ret) << std::endl;
+ return ret;
+ }
+
+ period.fork();
+ period.update(zonegroupmap);
+ period.store_info(false);
encode_json("zonegroup-map", zonegroupmap, formatter);
formatter->flush(cout);
period_map.reset();
}
+void RGWPeriod::update(const RGWZoneGroupMap& map)
+{
+ for (std::map<string, RGWZoneGroup>::const_iterator iter = map.zonegroups.begin();
+ iter != map.zonegroups.end(); iter++) {
+ period_map.zonegroups_by_api[iter->second.api_name] = iter->second;
+ period_map.zonegroups[iter->second.get_name()] = iter->second;
+ }
+
+ period_config.bucket_quota = map.bucket_quota;
+ period_config.user_quota = map.user_quota;
+ period_map.master_zonegroup = map.master_zonegroup;
+}
+
int RGWZoneParams::create_default(bool old_format)
{
name = default_zone_name;
sync_status = _sync_status;
}
+ void update(const RGWZoneGroupMap& map);
+
int get_zonegroup(RGWZoneGroup& zonegroup,
const string& zonegroup_id);