From: Jos Collin Date: Thu, 30 May 2024 10:18:08 +0000 (+0530) Subject: cephfs_mirror: Fixed negative seconds X-Git-Tag: v20.0.0~1527^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=96c3f8f33d789a065c7ed418679afd53faffa3d8;p=ceph.git 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 --- diff --git a/src/tools/cephfs_mirror/Mirror.cc b/src/tools/cephfs_mirror/Mirror.cc index ecf1702e599a..397adb4f8c05 100644 --- a/src/tools/cephfs_mirror/Mirror.cc +++ b/src/tools/cephfs_mirror/Mirror.cc @@ -558,9 +558,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) {