From: Patrick Donnelly Date: Sat, 2 Feb 2019 00:00:13 +0000 (-0800) Subject: mds: handle negative decay counter X-Git-Tag: v13.2.7~24^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=bbbe96e3dcba87fe1b31dc679d42061edf180d1c;p=ceph.git mds: handle negative decay counter Problem only exists in Luminous/Mimic. Signed-off-by: Patrick Donnelly (cherry-picked from commit 5f23246) --- diff --git a/src/mds/Beacon.cc b/src/mds/Beacon.cc index 48c5ed2b536..d7643c9c5e0 100644 --- a/src/mds/Beacon.cc +++ b/src/mds/Beacon.cc @@ -28,6 +28,7 @@ #include "Beacon.h" +#include #include #define dout_context g_ceph_context @@ -397,7 +398,7 @@ void Beacon::notify_health(MDSRank const *mds) std::list late_recall_metrics; std::list large_completed_requests_metrics; for (auto& session : sessions) { - const uint64_t recall_caps = session->get_recall_caps(); + const uint64_t recall_caps = fmax(0.0, session->get_recall_caps()); /* In Luminous: decay counter may go negative due to hit */ if (recall_caps > recall_warning_threshold) { dout(2) << "Session " << *session << " is not releasing caps fast enough. Recalled caps at " << recall_caps