]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rbd-mirror: address compiler warnings
authorPrasanna Kumar Kalever <prasanna.kalever@redhat.com>
Thu, 13 Mar 2025 13:46:31 +0000 (19:16 +0530)
committerPrasanna Kumar Kalever <prasanna.kalever@redhat.com>
Thu, 24 Apr 2025 15:56:34 +0000 (21:26 +0530)
Issue I:
src/tools/rbd_mirror/group_replayer/Replayer.cc:604:82:
error: overlapping comparisons always evaluate to true [-Werror,-Wtautological-overlap-compare]
  604 | (prev_remote_snap_ns->state != cls::rbd::MIRROR_SNAPSHOT_STATE_PRIMARY ||
      |  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
  605 |  prev_remote_snap_ns->state != cls::rbd::MIRROR_SNAPSHOT_STATE_PRIMARY_DEMOTED)) {
      |  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Issue II:
src/tools/rbd_mirror/GroupReplayer.h:178:10:
error: lambda capture 'this' is not used [-Werror,-Wunused-lambda-capture]
  178 |         [this](int r) {
      |          ^

Issue III:
src/test/rbd_mirror/test_mock_ImageSync.cc:258:16:
error: no matching constructor for initialization of 'MockImageSync'
(aka 'ImageSync<librbd::MockTestImageCtx>')
  258 |     return new MockImageSync(

Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
src/test/rbd_mirror/image_replayer/test_mock_BootstrapRequest.cc
src/test/rbd_mirror/test_mock_ImageSync.cc
src/tools/rbd_mirror/GroupReplayer.h
src/tools/rbd_mirror/group_replayer/Replayer.cc

index 03a3f2cc8dffe2cbce46af61c58795a951f0943d..4ff3fe2eba9ab6260e5871305ade95b2f86c421a 100644 (file)
@@ -54,7 +54,6 @@ struct ImageSync<librbd::MockTestImageCtx> {
 
   static ImageSync* create(
       Threads<librbd::MockTestImageCtx>* threads,
-      GroupCtx *local_group_ctx,
       librbd::MockTestImageCtx *local_image_ctx,
       librbd::MockTestImageCtx *remote_image_ctx,
       const std::string &local_mirror_uuid,
index 7104d171952cac71c4422e109ba2ac5d24730dee..bd6a2907830e60072f12e1b801b25434f83ed2bf 100644 (file)
@@ -255,7 +255,7 @@ public:
                                 MockSyncPointHandler& mock_sync_point_handler,
                                 MockInstanceWatcher &mock_instance_watcher,
                                 Context *ctx) {
-    return new MockImageSync(&mock_threads, nullptr, &mock_local_image_ctx,
+    return new MockImageSync(&mock_threads, &mock_local_image_ctx,
                              &mock_remote_image_ctx,
                              "mirror-uuid", &mock_sync_point_handler,
                              &mock_instance_watcher, nullptr, ctx);
index 1d4ad73a2e8303e920a7867572dfc7b68d7397b6..7c2d9e150895a86e58227358f888a995f134515d 100644 (file)
@@ -174,11 +174,7 @@ private:
     }
 
     void stop() {
-      Context *ctx = new LambdaContext(
-        [this](int r) {
-          return;
-        });
-      group_replayer->stop(ctx, false);
+      group_replayer->stop(nullptr, false);
     }
   };
 
index 56043045d50c40d6d3b33e5a6284b2f0728b3112..63c2f097e9730f8f959ac803fcbba88538b40fd8 100644 (file)
@@ -612,11 +612,10 @@ void Replayer<I>::scan_for_unsynced_group_snapshots() {
       }
       auto prev_remote_snap_ns = std::get_if<cls::rbd::GroupSnapshotNamespaceMirror>(
           &prev_remote_snap->snapshot_namespace);
-      if (prev_remote_snap_ns &&
-          (prev_remote_snap_ns->state != cls::rbd::MIRROR_SNAPSHOT_STATE_PRIMARY ||
-           prev_remote_snap_ns->state != cls::rbd::MIRROR_SNAPSHOT_STATE_PRIMARY_DEMOTED)) {
-        break;
+      if (prev_remote_snap_ns && prev_remote_snap_ns->is_primary()) {
+        continue;
       }
+      break;
     }
     auto id = remote_snap->id;
     auto itl = std::find_if(