]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: add layout generation info to "bucket stats" 54190/head
authorJ. Eric Ivancich <ivancich@redhat.com>
Wed, 25 Oct 2023 20:53:58 +0000 (16:53 -0400)
committerCory Snyder <csnyder@1111systems.com>
Fri, 12 Jan 2024 09:44:17 +0000 (04:44 -0500)
Adds a new field to bucket stats. Also rearranges existing information
slightly to make more sense. Also removes the redundancy of showing
bucket versioning status in two different ways.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
(cherry picked from commit 3082cd4701a6825a5a0c9ad0cb69e62361379957)

Conflicts:
src/rgw/driver/rados/rgw_bucket.cc

Cherry-pick notes:
- rgw_bucket.cc moved into driver directory post-pacific

src/rgw/rgw_bucket.cc

index 8bf6b323abf5e259ddf4ed59cef558019780669a..b495d6b2e1e570c1087901814f580395b2390b03 100644 (file)
@@ -1520,17 +1520,20 @@ static int bucket_stats(rgw::sal::Store* store,
 
   formatter->open_object_section("stats");
   formatter->dump_string("bucket", bucket->get_name());
-  formatter->dump_int("num_shards",
-                     bucket->get_info().layout.current_index.layout.normal.num_shards);
   formatter->dump_string("tenant", bucket->get_tenant());
+  formatter->dump_string("versioning",
+                         bucket->versioned()
+                         ? (bucket->versioning_enabled() ? "enabled" : "suspended")
+                         : "off");
   formatter->dump_string("zonegroup", bucket->get_info().zonegroup);
   formatter->dump_string("placement_rule", bucket->get_info().placement_rule.to_str());
   ::encode_json("explicit_placement", bucket->get_key().explicit_placement, formatter);
   formatter->dump_string("id", bucket->get_bucket_id());
   formatter->dump_string("marker", bucket->get_marker());
   formatter->dump_stream("index_type") << bucket->get_info().layout.current_index.layout.type;
-  formatter->dump_bool("versioned", bucket_info.versioned());
-  formatter->dump_bool("versioning_enabled", bucket_info.versioning_enabled());
+  formatter->dump_int("index_generation", bucket->get_info().layout.current_index.gen);
+  formatter->dump_int("num_shards",
+                     bucket->get_info().layout.current_index.layout.normal.num_shards);
   formatter->dump_bool("object_lock_enabled", bucket_info.obj_lock_enabled());
   formatter->dump_bool("mfa_enabled", bucket_info.mfa_enabled());
   ::encode_json("owner", bucket->get_info().owner, formatter);