]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: radosgw-admin bucket check should only print index entries with --check-objects...
authorCory Snyder <csnyder@1111systems.com>
Fri, 22 Sep 2023 08:35:16 +0000 (08:35 +0000)
committerCory Snyder <csnyder@1111systems.com>
Wed, 4 Oct 2023 08:53:09 +0000 (08:53 +0000)
Printing all index entries can be very time consuming for large
buckets and the inability to switch this behavior off makes it
cumbersome to use the command for fixing bucket stats. This was
also preventing the command from outputting recalculated bucket
stats when the --fix flag wasn't specified.

Signed-off-by: Cory Snyder <csnyder@1111systems.com>
(cherry picked from commit 6b057fe55413c0eaf9959f006584cba6cc4c192a)

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

Cherry-pick notes:
- Conflicts due to rgw_bucket.cc moved into driver dir in later versions

src/rgw/rgw_bucket.cc

index f73e8c4489d174891c56b1dcf0dabd5e76308485..05d69606d2ba58a429c95a8e93d1077d1525571f 100644 (file)
@@ -1675,9 +1675,11 @@ int RGWBucketAdminOp::check_index(rgw::sal::RGWRadosStore *store, RGWBucketAdmin
   if (ret < 0)
     return ret;
 
-  ret = bucket.check_object_index(dpp, op_state, flusher, y);
-  if (ret < 0)
-    return ret;
+  if (op_state.will_check_objects()) {
+    ret = bucket.check_object_index(dpp, op_state, flusher, y);
+    if (ret < 0)
+      return ret;
+  }
 
   ret = bucket.check_index(dpp, op_state, existing_stats, calculated_stats);
   if (ret < 0)