]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw/rados: add .rgw.meta:accounts pool
authorCasey Bodley <cbodley@redhat.com>
Mon, 27 Nov 2023 18:42:36 +0000 (13:42 -0500)
committerCasey Bodley <cbodley@redhat.com>
Fri, 12 Apr 2024 19:34:26 +0000 (15:34 -0400)
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit e3418a9c4f2e2e00c3c066d8f8bb2db1d149745a)

src/rgw/driver/rados/rgw_zone.h
src/rgw/rgw_zone.cc

index 345cbc6a217164d6f167609ae9c6705ae8228793..c45b42102a8c323513d6bd60ba6ac444b4afc1fe 100644 (file)
@@ -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);
   }
index ed438dead9307d1daab58e5fd3c21c830e5d7640..ecf3df31a67b27ce0379ce9f14a3bdf46d1770a9 100644 (file)
@@ -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);