@@ -114,6 +114,12 @@ class LastEpochClean {
114114public:
115115 void report (unsigned pg_num, const pg_t & pg, epoch_t last_epoch_clean);
116116 void remove_pool (uint64_t pool);
117+ /* *
118+ * get_lower_bound_by_pool
119+ *
120+ * Returns epoch e such that e <= pg.last_epoch_clean for all pgs in cluster.
121+ * May return 0 if any pool does not have comprehensive values for all pgs.
122+ */
117123 epoch_t get_lower_bound_by_pool (const OSDMap& latest) const ;
118124
119125 void dump (Formatter *f) const ;
@@ -639,8 +645,18 @@ class OSDMonitor : public PaxosService,
639645
640646 // when we last received PG stats from each osd and the osd's osd_beacon_report_interval
641647 std::map<int , std::pair<utime_t , int >> last_osd_report;
642- // TODO: use last_osd_report to store the osd report epochs, once we don't
643- // need to upgrade from pre-luminous releases.
648+ /* *
649+ * osd_epochs
650+ *
651+ * Records the MOSDBeacon::version (the osd epoch at which the OSD sent the
652+ * beacon) of the most recent beacon recevied from each currently up OSD.
653+ * Used in OSDMonitor::get_min_last_epoch_clean().
654+ * Down osds are trimmed upon commit of each map
655+ * (OSDMonitor::update_from_paxos).
656+ *
657+ * TODO: use last_osd_report to store the osd report epochs, once we don't
658+ * need to upgrade from pre-luminous releases.
659+ */
644660 std::map<int ,epoch_t > osd_epochs;
645661 LastEpochClean last_epoch_clean;
646662 bool preprocess_beacon (MonOpRequestRef op);
0 commit comments