From 4da745dff748064cd3de1ab8cbc499d45b031899 Mon Sep 17 00:00:00 2001 From: Jos Collin Date: Thu, 30 May 2024 15:48:08 +0530 Subject: [PATCH] cephfs_mirror: Fixed negative seconds Fixes: https://tracker.ceph.com/issues/64927 Fixes: https://tracker.ceph.com/issues/51964 Fixes: https://tracker.ceph.com/issues/63931 Fixes: https://tracker.ceph.com/issues/63089 Signed-off-by: Jos Collin (cherry picked from commit 96c3f8f33d789a065c7ed418679afd53faffa3d8) --- src/tools/cephfs_mirror/Mirror.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/tools/cephfs_mirror/Mirror.cc b/src/tools/cephfs_mirror/Mirror.cc index 2eb4c48aa0202..053f7c8a1cbc9 100644 --- a/src/tools/cephfs_mirror/Mirror.cc +++ b/src/tools/cephfs_mirror/Mirror.cc @@ -548,9 +548,9 @@ void Mirror::update_fs_mirrors() { std::scoped_lock locker(m_lock); for (auto &[filesystem, mirror_action] : m_mirror_actions) { auto failed_restart = mirror_action.fs_mirror && mirror_action.fs_mirror->is_failed() && - (failed_interval.count() > 0 && duration_cast(mirror_action.fs_mirror->get_failed_ts() - clock::now()) > failed_interval); + (failed_interval.count() > 0 && duration_cast(clock::now() - mirror_action.fs_mirror->get_failed_ts()).count() > failed_interval.count()); auto blocklisted_restart = mirror_action.fs_mirror && mirror_action.fs_mirror->is_blocklisted() && - (blocklist_interval.count() > 0 && duration_cast(mirror_action.fs_mirror->get_blocklisted_ts() - clock::now()) > blocklist_interval); + (blocklist_interval.count() > 0 && duration_cast(clock::now() - mirror_action.fs_mirror->get_blocklisted_ts()).count() > blocklist_interval.count()); if (!mirror_action.action_in_progress && !_is_restarting(filesystem)) { if (failed_restart || blocklisted_restart) { -- 2.39.5