queue_recovery();
}
+void PG::set_not_ready_to_merge_target(pg_t pgid, pg_t src)
+{
+ osd->set_not_ready_to_merge_target(pgid, src);
+}
+
+void PG::set_not_ready_to_merge_source(pg_t pgid)
+{
+ osd->set_not_ready_to_merge_source(pgid);
+}
+
+void PG::send_pg_created(pg_t pgid)
+{
+ osd->send_pg_created(pgid);
+}
+
void PG::on_activate_committed()
{
if (!is_primary()) {
void do_delete_work(ObjectStore::Transaction *t) override;
+ void set_not_ready_to_merge_target(pg_t pgid, pg_t src) override;
+ void set_not_ready_to_merge_source(pg_t pgid) override;
+ void send_pg_created(pg_t pgid) override;
+
void queue_peering_event(PGPeeringEventRef evt);
void do_peering_event(PGPeeringEventRef evt, PeeringCtx *rcx);
void queue_null(epoch_t msg_epoch, epoch_t query_epoch);
pg_t src = pgid;
src.set_ps(ps->pool.info.get_pg_num_pending());
assert(src.get_parent() == pgid);
- pg->osd->set_not_ready_to_merge_target(pgid, src);
+ pl->set_not_ready_to_merge_target(pgid, src);
} else {
- pg->osd->set_not_ready_to_merge_source(pgid);
+ pl->set_not_ready_to_merge_source(pgid);
}
}
} else if (ps->acting.size() < ps->pool.info.min_size) {
}
if (ps->pool.info.has_flag(pg_pool_t::FLAG_CREATING)) {
- pg->osd->send_pg_created(pgid);
+ pl->send_pg_created(pgid);
}
ps->info.history.last_epoch_started = ps->info.last_epoch_started;
virtual void send_cluster_message(
int osd, Message *m, epoch_t epoch, bool share_map_update=false) = 0;
+ virtual void send_pg_created(pg_t pgid) = 0;
// Flush state
virtual bool try_flush_or_schedule_async() = 0;
virtual void on_removal(ObjectStore::Transaction *t) = 0;
virtual void do_delete_work(ObjectStore::Transaction *t) = 0;
+ // PG Merge
+ virtual void set_not_ready_to_merge_target(pg_t pgid, pg_t src) = 0;
+ virtual void set_not_ready_to_merge_source(pg_t pgid) = 0;
+
// active map notifications
virtual void on_active_actmap() = 0;
virtual void on_active_advmap(const OSDMapRef &osdmap) = 0;