From: John Spray Date: Mon, 6 Mar 2017 11:24:50 +0000 (+0000) Subject: mds: heartbeat_reset in dispatch X-Git-Tag: v11.2.1~135^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=5e19692bb68049ea8fed0c39534fe8abb10a5378;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 (cherry picked from commit 819394549af10532419d88742fae3a69d2ea487d) --- diff --git a/src/mds/MDSRank.cc b/src/mds/MDSRank.cc index e1f28f6c021..4a487cd50ea 100644 --- a/src/mds/MDSRank.cc +++ b/src/mds/MDSRank.cc @@ -438,6 +438,8 @@ bool MDSRank::_dispatch(Message *m, bool new_msg) dout(0) << "unrecognized message " << *m << dendl; return false; } + + heartbeat_reset(); } if (dispatch_depth > 1)