From 5f2324613bbb2915012da70bdf68faa6414f8ee9 Mon Sep 17 00:00:00 2001 From: Patrick Donnelly Date: Fri, 1 Feb 2019 16:00:13 -0800 Subject: [PATCH] mds: handle negative decay counter Problem only exists in Luminous/Mimic. Signed-off-by: Patrick Donnelly --- src/mds/Beacon.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/mds/Beacon.cc b/src/mds/Beacon.cc index 7ebd506681a6c..0cf8e86eb488f 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 @@ -394,7 +395,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 -- 2.39.5