ceph_assert(ceph_mutex_is_locked(osd_lock));
dout(10) << "tick" << dendl;
+ utime_t now = ceph_clock_now();
+ // throw out any obsolete markdown log
+ utime_t grace = utime_t(cct->_conf->osd_max_markdown_period, 0);
+ while (!osd_markdown_log.empty() &&
+ osd_markdown_log.front() + grace < now)
+ osd_markdown_log.pop_front();
+
if (is_active() || is_waiting_for_healthy()) {
maybe_update_heartbeat_peers();
}
if (is_waiting_for_healthy() || is_booting()) {
std::lock_guard l(heartbeat_lock);
- utime_t now = ceph_clock_now();
if (now - last_mon_heartbeat > cct->_conf->osd_mon_heartbeat_interval) {
last_mon_heartbeat = now;
dout(1) << __func__ << " checking mon for new map" << dendl;
if (is_waiting_for_healthy()) {
utime_t now = ceph_clock_now();
- utime_t grace = utime_t(cct->_conf->osd_max_markdown_period, 0);
- while (!osd_markdown_log.empty() &&
- osd_markdown_log.front() + grace < now)
- osd_markdown_log.pop_front();
if (osd_markdown_log.size() <= 1) {
dout(5) << __func__ << " first time marked as down,"
<< " try reboot unconditionally" << dendl;
utime_t now = ceph_clock_now();
utime_t grace = utime_t(cct->_conf->osd_max_markdown_period, 0);
osd_markdown_log.push_back(now);
- //clear all out-of-date log
- while (!osd_markdown_log.empty() &&
- osd_markdown_log.front() + grace < now)
- osd_markdown_log.pop_front();
if ((int)osd_markdown_log.size() > cct->_conf->osd_max_markdown_count) {
dout(0) << __func__ << " marked down "
<< osd_markdown_log.size()