From: John Spray Date: Mon, 6 Mar 2017 11:24:50 +0000 (+0000) Subject: mds: heartbeat_reset in dispatch X-Git-Tag: v12.0.1~73^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=819394549af10532419d88742fae3a69d2ea487d;p=ceph.git mds: heartbeat_reset in dispatch Previously we only heartbeated in tick. However, our locking is not guaranteed to be fair, so on a super-busy dispatch queue it may be possible for the heartbeat to time out while the tick() function is waiting for mds_lock. Fixes: http://tracker.ceph.com/issues/19118 Signed-off-by: John Spray --- diff --git a/src/mds/MDSRank.cc b/src/mds/MDSRank.cc index 58a196985eb0..fce431d332da 100644 --- a/src/mds/MDSRank.cc +++ b/src/mds/MDSRank.cc @@ -439,6 +439,8 @@ bool MDSRank::_dispatch(Message *m, bool new_msg) dout(0) << "unrecognized message " << *m << dendl; return false; } + + heartbeat_reset(); } if (dispatch_depth > 1)