From a54a6ca8ad99df2ad37e3bdc84e0595f3cdd5caa Mon Sep 17 00:00:00 2001 From: Casey Bodley Date: Mon, 27 Nov 2023 13:42:36 -0500 Subject: [PATCH] rgw/rados: add .rgw.meta:accounts pool Signed-off-by: Casey Bodley (cherry picked from commit e3418a9c4f2e2e00c3c066d8f8bb2db1d149745a) --- src/rgw/driver/rados/rgw_zone.h | 4 ++++ src/rgw/rgw_zone.cc | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/src/rgw/driver/rados/rgw_zone.h b/src/rgw/driver/rados/rgw_zone.h index 345cbc6a21716..c45b42102a8c3 100644 --- a/src/rgw/driver/rados/rgw_zone.h +++ b/src/rgw/driver/rados/rgw_zone.h @@ -115,6 +115,7 @@ struct RGWZoneParams : RGWSystemMetaObj { rgw_pool oidc_pool; rgw_pool notif_pool; rgw_pool topics_pool; + rgw_pool account_pool; RGWAccessKey system_key; @@ -178,6 +179,7 @@ struct RGWZoneParams : RGWSystemMetaObj { encode(oidc_pool, bl); encode(notif_pool, bl); encode(topics_pool, bl); + encode(account_pool, bl); ENCODE_FINISH(bl); } @@ -253,8 +255,10 @@ struct RGWZoneParams : RGWSystemMetaObj { } if (struct_v >= 15) { decode(topics_pool, bl); + decode(account_pool, bl); } else { topics_pool = name + ".rgw.meta:topics"; + account_pool = name + ".rgw.meta:accounts"; } DECODE_FINISH(bl); } diff --git a/src/rgw/rgw_zone.cc b/src/rgw/rgw_zone.cc index ed438dead9307..ecf3df31a67b2 100644 --- a/src/rgw/rgw_zone.cc +++ b/src/rgw/rgw_zone.cc @@ -298,6 +298,7 @@ void RGWZoneParams::decode_json(JSONObj *obj) JSONDecoder::decode_json("otp_pool", otp_pool, obj); JSONDecoder::decode_json("notif_pool", notif_pool, obj); JSONDecoder::decode_json("topics_pool", topics_pool, obj); + JSONDecoder::decode_json("account_pool", account_pool, obj); JSONDecoder::decode_json("system_key", system_key, obj); JSONDecoder::decode_json("placement_pools", placement_pools, obj); JSONDecoder::decode_json("tier_config", tier_config, obj); @@ -323,6 +324,7 @@ void RGWZoneParams::dump(Formatter *f) const encode_json("otp_pool", otp_pool, f); encode_json("notif_pool", notif_pool, f); encode_json("topics_pool", topics_pool, f); + encode_json("account_pool", account_pool, f); encode_json_plain("system_key", system_key, f); encode_json("placement_pools", placement_pools, f); encode_json("tier_config", tier_config, f); @@ -482,6 +484,7 @@ void add_zone_pools(const RGWZoneParams& info, pools.insert(info.oidc_pool); pools.insert(info.notif_pool); pools.insert(info.topics_pool); + pools.insert(info.account_pool); for (const auto& [pname, placement] : info.placement_pools) { pools.insert(placement.index_pool); @@ -587,6 +590,7 @@ int RGWZoneParams::fix_pool_names(const DoutPrefixProvider *dpp, optional_yield oidc_pool = fix_zone_pool_dup(pools, name, ".rgw.meta:oidc", oidc_pool); notif_pool = fix_zone_pool_dup(pools, name ,".rgw.log:notif", notif_pool); topics_pool = fix_zone_pool_dup(pools, name, ".rgw.meta:topics", topics_pool); + account_pool = fix_zone_pool_dup(pools, name, ".rgw.meta:accounts", account_pool); for(auto& iter : placement_pools) { iter.second.index_pool = fix_zone_pool_dup(pools, name, "." + default_bucket_index_pool_suffix, @@ -1250,6 +1254,7 @@ int init_zone_pool_names(const DoutPrefixProvider *dpp, optional_yield y, info.notif_pool = fix_zone_pool_dup(pools, info.name, ".rgw.log:notif", info.notif_pool); info.topics_pool = fix_zone_pool_dup(pools, info.name, ".rgw.meta:topics", info.topics_pool); + info.account_pool = fix_zone_pool_dup(pools, info.name, ".rgw.meta:accounts", info.account_pool); for (auto& [pname, placement] : info.placement_pools) { placement.index_pool = fix_zone_pool_dup(pools, info.name, "." + default_bucket_index_pool_suffix, placement.index_pool); -- 2.39.5