]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: heartbeat_reset in dispatch
authorJohn Spray <john.spray@redhat.com>
Mon, 6 Mar 2017 11:24:50 +0000 (11:24 +0000)
committerNathan Cutler <ncutler@suse.com>
Thu, 20 Apr 2017 10:57:42 +0000 (12:57 +0200)
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 <john.spray@redhat.com>
(cherry picked from commit 819394549af10532419d88742fae3a69d2ea487d)

src/mds/MDSRank.cc

index 728af772bae6a6cd5710b25aa6d4cc7f1bfe5dfb..97497856f363f7265ca580b57eeefedfebbe929d 100644 (file)
@@ -427,6 +427,8 @@ bool MDSRank::_dispatch(Message *m, bool new_msg)
       m->put();
       return false;
     }
+
+    heartbeat_reset();
   }
 
   if (dispatch_depth > 1)