]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: add minssing admin property when sync user info. 30680/head
authorzhang Shaowen <zhangshaowen@cmss.chinamobile.com>
Wed, 4 Sep 2019 06:46:13 +0000 (14:46 +0800)
committerPrashant D <pdhange@redhat.com>
Tue, 1 Oct 2019 23:05:52 +0000 (19:05 -0400)
Fixes: https://tracker.ceph.com/issues/41643
Signed-off-by: zhang Shaowen <zhangshaowen@cmss.chinamobile.com>
(cherry picked from commit 9ad975d422aba67c0bf7bc1b114079331e2f7fd5)

src/rgw/rgw_json_enc.cc
src/rgw/rgw_user.cc

index e9030ad8308a3f05ebb7658a805f9897810514e8..0ab72c9b0c3fb2e585b7e73c55344c1038e2169b 100644 (file)
@@ -483,6 +483,9 @@ void RGWUserInfo::dump(Formatter *f) const
   if (system) { /* no need to show it for every user */
     encode_json("system", (bool)system, f);
   }
+  if (admin) {
+    encode_json("admin", (bool)admin, f);
+  }
   encode_json("default_placement", default_placement.name, f);
   encode_json("default_storage_class", default_placement.storage_class, f);
   encode_json("placement_tags", placement_tags, f);
@@ -561,6 +564,9 @@ void RGWUserInfo::decode_json(JSONObj *obj)
   bool sys = false;
   JSONDecoder::decode_json("system", sys, obj);
   system = (__u8)sys;
+  bool ad = false;
+  JSONDecoder::decode_json("admin", ad, obj);
+  admin = (__u8)ad;
   JSONDecoder::decode_json("default_placement", default_placement.name, obj);
   JSONDecoder::decode_json("default_storage_class", default_placement.storage_class, obj);
   JSONDecoder::decode_json("placement_tags", placement_tags, obj);
index df93659d39c71bd98859d1a392f184a46dc4a87d..3d369cce0c4bfd942535e5675960426bf0750e61 100644 (file)
@@ -743,6 +743,7 @@ static void dump_user_info(Formatter *f, RGWUserInfo &info,
   op_type_to_str(info.op_mask, buf, sizeof(buf));
   encode_json("op_mask", (const char *)buf, f);
   encode_json("system", (bool)info.system, f);
+  encode_json("admin", (bool)info.admin, f);
   encode_json("default_placement", info.default_placement.name, f);
   encode_json("default_storage_class", info.default_placement.storage_class, f);
   encode_json("placement_tags", info.placement_tags, f);