void OSD::handle_scrub(MOSDScrub *m)
{
dout(10) << "handle_scrub " << *m << dendl;
- if (!require_mon_peer(m)) {
+ if (!require_mon_or_mgr_peer(m)) {
m->put();
return;
}
return true;
}
+bool OSD::require_mon_or_mgr_peer(const Message *m)
+{
+ if (!m->get_connection()->peer_is_mon() &&
+ !m->get_connection()->peer_is_mgr()) {
+ dout(0) << "require_mon_or_mgr_peer received from non-mon, non-mgr "
+ << m->get_connection()->get_peer_addr()
+ << " " << *m << dendl;
+ return false;
+ }
+ return true;
+}
+
bool OSD::require_osd_peer(const Message *m)
{
if (!m->get_connection()->peer_is_osd()) {
OSDMapRef map);
bool require_mon_peer(const Message *m);
+ bool require_mon_or_mgr_peer(const Message *m);
bool require_osd_peer(const Message *m);
/***
* Verifies that we were alive in the given epoch, and that