X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=ceph%2Fsrc%2Frgw%2Frgw_json_enc.cc;h=9fb688c8873970698a224fb75f94ef89b3a142af;hb=31f18b776d001752a193a7cec8bb49033c1a904c;hp=2a183b5919583645308a2730adf0c1034ee17ea0;hpb=40152f1e46a80b3405e5558a442ee632198dfd24;p=ceph.git diff --git a/ceph/src/rgw/rgw_json_enc.cc b/ceph/src/rgw/rgw_json_enc.cc index 2a183b591..9fb688c88 100644 --- a/ceph/src/rgw/rgw_json_enc.cc +++ b/ceph/src/rgw/rgw_json_enc.cc @@ -201,6 +201,13 @@ void ACLOwner::dump(Formatter *f) const encode_json("display_name", display_name, f); } +void ACLOwner::decode_json(JSONObj *obj) { + string id_str; + JSONDecoder::decode_json("id", id_str, obj); + id.from_str(id_str); + JSONDecoder::decode_json("display_name", display_name, obj); +} + void RGWAccessControlPolicy::dump(Formatter *f) const { encode_json("acl", acl, f); @@ -698,12 +705,17 @@ void RGWBWRoutingRules::decode_json(JSONObj *obj) { void RGWBucketWebsiteConf::dump(Formatter *f) const { - encode_json("index_doc_suffix", index_doc_suffix, f); - encode_json("error_doc", error_doc, f); - encode_json("routing_rules", routing_rules, f); + if (!redirect_all.hostname.empty()) { + encode_json("redirect_all", redirect_all, f); + } else { + encode_json("index_doc_suffix", index_doc_suffix, f); + encode_json("error_doc", error_doc, f); + encode_json("routing_rules", routing_rules, f); + } } void RGWBucketWebsiteConf::decode_json(JSONObj *obj) { + JSONDecoder::decode_json("redirect_all", redirect_all, obj); JSONDecoder::decode_json("index_doc_suffix", index_doc_suffix, obj); JSONDecoder::decode_json("error_doc", error_doc, obj); JSONDecoder::decode_json("routing_rules", routing_rules, obj); @@ -730,6 +742,9 @@ void RGWBucketInfo::dump(Formatter *f) const encode_json("swift_versioning", swift_versioning, f); encode_json("swift_ver_location", swift_ver_location, f); encode_json("index_type", (uint32_t)index_type, f); + encode_json("mdsearch_config", mdsearch_config, f); + encode_json("reshard_status", (int)reshard_status, f); + encode_json("new_bucket_instance_id", new_bucket_instance_id, f); } void RGWBucketInfo::decode_json(JSONObj *obj) { @@ -761,6 +776,11 @@ void RGWBucketInfo::decode_json(JSONObj *obj) { uint32_t it; JSONDecoder::decode_json("index_type", it, obj); index_type = (RGWBucketIndexType)it; + JSONDecoder::decode_json("mdsearch_config", mdsearch_config, obj); + int rs; + JSONDecoder::decode_json("reshard_status", rs, obj); + reshard_status = (cls_rgw_reshard_status)rs; + JSONDecoder::decode_json("new_bucket_instance_id",new_bucket_instance_id, obj); } void rgw_obj_key::dump(Formatter *f) const