]> git.apps.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 14:58:21 +0000 (14:58 +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 to driver/rados directory on main

src/rgw/rgw_bucket.cc

index b720da6cab25af02e23b2a43f8f11d2bc0d66995..1c582c12c3e9f936a9544a42850acf18afd4cab5 100644 (file)
@@ -1428,9 +1428,11 @@ int RGWBucketAdminOp::check_index(rgw::sal::Store* store, RGWBucketAdminOpState&
   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)