if (mon->monmap->get_required_features().contains_all(
ceph::features::mon::FEATURE_LUMINOUS)) {
creating_pgs = update_pending_creatings(inc);
+ for (const auto &osd_state : inc.new_state) {
+ if (osd_state.second & CEPH_OSD_UP) {
+ // could be marked up *or* down, but we're too lazy to check which
+ last_osd_report.erase(osd_state.first);
+ }
+ }
}
}
start_mapping();
}
+void OSDMonitor::on_restart()
+{
+ last_osd_report.clear();
+}
+
void OSDMonitor::on_shutdown()
{
dout(10) << __func__ << dendl;
void create_pending() override; // prepare a new pending
void encode_pending(MonitorDBStore::TransactionRef t) override;
void on_active() override;
+ void on_restart() override;
void on_shutdown() override;
/**
* we haven't delegated full version stashing to paxosservice for some time