]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
PeeringState: introduce optional on_replica_activate notification
authorSamuel Just <sjust@redhat.com>
Tue, 19 Sep 2023 22:05:07 +0000 (15:05 -0700)
committerRonen Friedman <rfriedma@redhat.com>
Wed, 29 Nov 2023 12:39:06 +0000 (06:39 -0600)
The OSD will use it to activate the scrubber in replica mode.

Signed-off-by: Samuel Just <sjust@redhat.com>
src/osd/PeeringState.cc
src/osd/PeeringState.h

index 2c41b7b7118961976d0751499f55b9ce82dd1a62..c81cb958a7a97a9a4a75cfadcb3d1f66cf3c0e28 100644 (file)
@@ -2967,6 +2967,8 @@ void PeeringState::activate(
 
     state_set(PG_STATE_ACTIVATING);
     pl->on_activate(std::move(to_trim));
+  } else {
+    pl->on_replica_activate();
   }
   if (acting_set_writeable()) {
     PGLog::LogEntryHandlerRef rollbacker{pl->get_log_handler(t)};
index b9f8401b05b6015a0415a703847957c6a61d6a07..89ef702e0fea91261365715bd394ccb45a4c9c0e 100644 (file)
@@ -389,6 +389,7 @@ public:
     virtual void on_role_change() = 0;
     virtual void on_change(ObjectStore::Transaction &t) = 0;
     virtual void on_activate(interval_set<snapid_t> to_trim) = 0;
+    virtual void on_replica_activate() {}
     virtual void on_activate_complete() = 0;
     virtual void on_new_interval() = 0;
     virtual Context *on_clean() = 0;