From: zhang Shaowen Date: Wed, 4 Sep 2019 06:46:13 +0000 (+0800) Subject: rgw: add minssing admin property when sync user info. X-Git-Tag: v14.2.5~230^2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=0ccac679e2cd4a874038043bf8f17f3d7b4671c4;p=ceph.git rgw: add minssing admin property when sync user info. Fixes: https://tracker.ceph.com/issues/41643 Signed-off-by: zhang Shaowen (cherry picked from commit 9ad975d422aba67c0bf7bc1b114079331e2f7fd5) --- diff --git a/src/rgw/rgw_json_enc.cc b/src/rgw/rgw_json_enc.cc index e9030ad8308a3..0ab72c9b0c3fb 100644 --- a/src/rgw/rgw_json_enc.cc +++ b/src/rgw/rgw_json_enc.cc @@ -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); diff --git a/src/rgw/rgw_user.cc b/src/rgw/rgw_user.cc index df93659d39c71..3d369cce0c4bf 100644 --- a/src/rgw/rgw_user.cc +++ b/src/rgw/rgw_user.cc @@ -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);