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,
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);
}
void stop() {
- Context *ctx = new LambdaContext(
- [this](int r) {
- return;
- });
- group_replayer->stop(ctx, false);
+ group_replayer->stop(nullptr, false);
}
};
}
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(