... and not just to the OSD's log
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
}
}
+void PgScrubber::log_cluster_warning(const std::string& warning) const
+{
+ m_osds->clog->do_log(CLOG_WARN, warning);
+}
+
ostream& PgScrubber::show(ostream& out) const
{
return out << " [ " << m_pg_id << ": " << m_flags << " ] ";
return m_pg->snap_mapper.get_snaps(hoid, snaps_set);
}
+ void log_cluster_warning(const std::string& warning) const final;
+
protected:
bool state_test(uint64_t m) const { return m_pg->state_test(m); }
void state_set(uint64_t m) { m_pg->state_set(m); }
sc::result WaitReplicas::react(const DigestUpdate&)
{
- dout(10) << "WaitReplicas::react(const DigestUpdate&) - too early" << dendl;
+ DECLARE_LOCALS; // 'scrbr' & 'pg_id' aliases
+ auto warn_msg = "WaitReplicas::react(const DigestUpdate&): Unexpected DigestUpdate event"s;
+ dout(10) << warn_msg << dendl;
+ scrbr->log_cluster_warning(warn_msg);
return discard_event();
}
/// exposed to be used by the scrub_machine logger
virtual std::ostream& gen_prefix(std::ostream& out) const = 0;
+
+ /// sending cluster-log warnings
+ virtual void log_cluster_warning(const std::string& msg) const = 0;
};