From 6f1f717446314618db7a165c75dfd6a76a01f55e Mon Sep 17 00:00:00 2001 From: Wei Jin Date: Thu, 28 Apr 2016 19:00:48 +0800 Subject: [PATCH] fast dispatch heartbeat message Signed-off-by: Wei Jin --- src/osd/OSD.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/osd/OSD.h b/src/osd/OSD.h index 8a62ebbc1b2..3fb996b0902 100644 --- a/src/osd/OSD.h +++ b/src/osd/OSD.h @@ -1594,6 +1594,20 @@ public: struct HeartbeatDispatcher : public Dispatcher { OSD *osd; explicit HeartbeatDispatcher(OSD *o) : Dispatcher(o->cct), osd(o) {} + + bool ms_can_fast_dispatch_any() const { return true; } + bool ms_can_fast_dispatch(Message *m) const { + switch (m->get_type()) { + case CEPH_MSG_PING: + case MSG_OSD_PING: + return true; + default: + return false; + } + } + void ms_fast_dispatch(Message *m) { + osd->heartbeat_dispatch(m); + } bool ms_dispatch(Message *m) { return osd->heartbeat_dispatch(m); } -- 2.47.3