]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: json dump sync groups map as vector
authorYehuda Sadeh <yehuda@redhat.com>
Wed, 16 Oct 2019 23:52:09 +0000 (16:52 -0700)
committerYehuda Sadeh <yehuda@redhat.com>
Tue, 28 Jan 2020 18:20:37 +0000 (10:20 -0800)
looks nicer

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
src/rgw/rgw_json_enc.cc

index 506fcccd5f9b2e37f6a4ced467ee50301586600b..d382c3361099bc64a7f7a45bbb8211d54abd920d 100644 (file)
@@ -933,12 +933,21 @@ void rgw_sync_policy_group::decode_json(JSONObj *obj)
 
 void rgw_sync_policy_info::dump(Formatter *f) const
 {
-  encode_json("groups", groups, f);
+  Formatter::ArraySection section(*f, "groups");
+  for (auto& group : groups ) {
+    encode_json("group", group.second, f);
+  }
 }
 
 void rgw_sync_policy_info::decode_json(JSONObj *obj)
 {
-  JSONDecoder::decode_json("groups", groups, obj);
+  vector<rgw_sync_policy_group> groups_vec;
+
+  JSONDecoder::decode_json("groups", groups_vec, obj);
+
+  for (auto& group : groups_vec) {
+    groups.emplace(std::make_pair(group.id, std::move(group)));
+  }
 }
 
 void RGWBucketSyncPolicyHandler::peer_info::dump(Formatter *f) const